Replaying Harmful Data Races in Android Apps

Quan Sun,Lei Xu,Lin Chen,Weifeng Zhang
DOI: https://doi.org/10.1109/issrew.2016.10
2016-01-01
Abstract:Android system holds a dominant role in the world market of mobile systems and supports rich types of events. However, most events occur unpredictably, which may lead to concurrency bugs and cause serious damages. Although many concurrency bugs have been detected in Android system, they often cannot be replayed and are hard to be fixed due to the framework-based and event-driven nature of Android system. In this paper, we present a tool named DRUN to replay harmful data races for Android apps. DRUN is composed of two parts: one is the Candidate Set (CS) generator for data races and the Listener Callback Control-flow Graph (LCCG) constructor; the other is the test script generator, so as to replay data races by executing these scripts. We tested DRUN on 15 popular Android apps. The results showed significant improvement on the coverage rate and reduction in False Positives when replaying harmful data races.
What problem does this paper attempt to address?