SEAug 9, 2018

Efficiently Manifesting Asynchronous Programming Errors in Android Apps

arXiv:1808.03178v162 citations
Originality Incremental advance
AI Analysis

This addresses a critical issue for Android developers by efficiently identifying fail-stop errors that compromise app responsiveness, representing a domain-specific improvement over existing testing methods.

The paper tackles the problem of hard-to-detect asynchronous programming errors (APEs) in Android apps, which affect over 25% of apps, by introducing APEChecker, a technique that combines static analysis and dynamic UI exploration to automatically manifest these errors, achieving an 83.6% hit rate and detecting 3X more APEs than state-of-the-art tools while reducing testing time from half an hour to a few minutes.

Android, the #1 mobile app framework, enforces the single-GUI-thread model, in which a single UI thread manages GUI rendering and event dispatching. Due to this model, it is vital to avoid blocking the UI thread for responsiveness. One common practice is to offload long-running tasks into async threads. To achieve this, Android provides various async programming constructs, and leaves developers themselves to obey the rules implied by the model. However, as our study reveals, more than 25% apps violate these rules and introduce hard-to-detect, fail-stop errors, which we term as aysnc programming errors (APEs). To this end, this paper introduces APEChecker, a technique to automatically and efficiently manifest APEs. The key idea is to characterize APEs as specific fault patterns, and synergistically combine static analysis and dynamic UI exploration to detect and verify such errors. Among the 40 real-world Android apps, APEChecker unveils and processes 61 APEs, of which 51 are confirmed (83.6% hit rate). Specifically, APEChecker detects 3X more APEs than the state-of-art testing tools (Monkey, Sapienz and Stoat), and reduces testing time from half an hour to a few minutes. On a specific type of APEs, APEChecker confirms 5X more errors than the data race detection tool, EventRacer, with very few false alarms.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes