Affiliation:
1. ETH Zurich, Switzerland
Abstract
We present a complete end-to-end dynamic analysis system for finding data races in mobile Android applications. The capabilities of our system significantly exceed the state of the art: our system can analyze real-world application interactions in minutes rather than hours, finds errors inherently beyond the reach of existing approaches, while still (critically) reporting very few false positives. Our system is based on three key concepts: (i) a thorough happens-before model of Android-specific concurrency, (ii) a scalable analysis algorithm for efficiently building and querying the happens-before graph, and (iii) an effective set of domain-specific filters that reduce the number of reported data races by several orders of magnitude. We evaluated the usability and performance of our system on 354 real-world Android applications (e.g., Facebook). Our system analyzes a minute of end-user interaction with the application in about 24 seconds, while current approaches take hours to complete. Inspecting the results for 8 large open-source applications revealed 15 harmful bugs of diverse kinds. Some of the bugs we reported were confirmed and fixed by developers.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Detection of Java Basic Thread Misuses Based on Static Event Analysis;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11
2. NodeRT: Detecting Races in Node.js Applications Practically;Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis;2023-07-12
3. ANCHOR: locating android framework-specific crashing faults;Automated Software Engineering;2021-07-12
4. A Survey of Context Simulation for Testing Mobile Context-Aware Applications;ACM Computing Surveys;2021-01-31
5. ConFuzz: Coverage-Guided Property Fuzzing for Event-Driven Programs;Practical Aspects of Declarative Languages;2021