Healing Data Loss Problems in Android Apps
Oliviero Riganelli, Daniela Micucci, Leonardo Mariani

TL;DR
This paper introduces DataLossHealer, a runtime technique for Android apps that automatically detects and heals data loss problems caused by improper state restoration during stop-start events, improving app robustness.
Contribution
The paper presents DataLossHealer, a novel runtime approach that identifies and repairs data loss issues in Android apps as they occur in the field, with incremental learning to reduce overhead.
Findings
Effectively detects data loss problems during app execution.
Automatically heals apps to prevent data loss and crashes.
Reduces monitoring overhead over time through learning.
Abstract
Android apps should be designed to cope with stop-start events, which are the events that require stopping and restoring the execution of an app while leaving its state unaltered. These events can be caused by run-time configuration changes, such as a screen rotation, and by context-switches, such as a switch from one app to another. When a stop-start event occurs, Android saves the state of the app, handles the event, and finally restores the saved state. To let Android save and restore the state correctly, apps must provide the appropriate support. Unfortunately, Android developers often implement this support incorrectly, or do not implement it at all. This bad practice makes apps to incorrectly react to stop-start events, thus generating what we defined data loss problems, that is Android apps that lose user data, behave unexpectedly, and crash due to program variables that lost…
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.
