kirancodes.me
To Proof Maintenance & Beyond!

ER Catcher: A Static Analysis Framework for Accurate and Scalable Event-Race Detection in Android

Navid Salehnamadi, Abdulaziz Alshayban, Iftekhar Ahmed, Sam Malek

Abstract

Android platform provisions a number of sophisticated concurrency mechanisms for the development of apps. The concurrency mechanisms, while powerful, are quite difficult to properly master by mobile developers. In fact, prior studies have shown concurrency issues, such as event-race defects, to be prevalent among real-world Android apps. In this paper, we propose a flow-, context-, and thread-sensitive static analysis framework, called ER Catcher, for detection of event-race defects in Android apps. ER Catcher introduces a new type of summary function aimed at modeling the concurrent behavior of methods in both Android apps and libraries. In addition, it leverages a novel, statically constructed Vector Clock for rapid analysis of happens-before relations. Altogether, these design choices enable ER Catcher to not only detect event-race defects with a substantially higher degree of accuracy, but also in a fraction of time compared to the existing state-of-the-art technique.

BibTeX
@inproceedings{Salehnamadi-al:ASE20,
  author    = {Navid Salehnamadi and
               Abdulaziz Alshayban and
               Iftekhar Ahmed and
               Sam Malek},
  title     = {{ER} Catcher: A Static Analysis Framework for Accurate and Scalable {Event-Race} Detection in Android},
  booktitle = {ASE},
  pages     = {324--335},
  publisher = {{IEEE}},
  year      = {2020},
}

Related papers