Data Loss Detector: Automatically Revealing Data Loss Bugs in Android Apps
Oliviero Riganelli, Simone Paolo Mottadelli, Claudio Rota, Daniela, Micucci, Leonardo Mariani

TL;DR
Data Loss Detector (DLD) is a novel automated testing approach for Android apps that effectively uncovers data loss bugs caused by interrupted execution, outperforming existing methods in revealing faults.
Contribution
The paper introduces DLD, a new test case generation technique that combines exploration, data-loss actions, and customized oracles to detect data loss bugs in Android apps.
Findings
Revealed 75% of known data loss faults in benchmark apps
Outperformed competing approaches in detecting data loss issues
Discovered previously unknown data loss problems
Abstract
Android apps must work correctly even if their execution is interrupted by external events. For instance, an app must work properly even if a phone call is received, or after its layout is redrawn because the smartphone has been rotated. Since these events may require destroying, when the execution is interrupted, and recreating, when the execution is resumed, the foreground activity of the app, the only way to prevent the loss of state information is saving and restoring it. This behavior must be explicitly implemented by app developers, who often miss to implement it properly, releasing apps affected by data loss problems, that is, apps that may lose state information when their execution is interrupted. Although several techniques can be used to automatically generate test cases for Android apps, the obtained test cases seldom include the interactions and the checks necessary to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
