Proactive Libraries: Enforcing Correct Behaviors in Android Apps
Oliviero Riganelli, Ionut Daniel Fagadau, Daniela Micucci, Leonardo, Mariani

TL;DR
Proactive Libraries is a tool that enhances Android libraries by proactively detecting and repairing API misuses at runtime, ensuring correct app behavior with minimal performance impact.
Contribution
It introduces a novel approach to decorate libraries with proactive modules for runtime detection and healing of API misuses in Android apps.
Findings
Effectively corrects API misuses in Android apps
Achieves negligible runtime overhead
Demonstrated on 27 API misuse scenarios
Abstract
The Android framework provides a rich set of APIs that can be exploited by developers to build their apps. However, the rapid evolution of these APIs jointly with the specific characteristics of the lifecycle of the Android components challenge developers, who may release apps that use APIs incorrectly. In this demo, we present Proactive Libraries, a tool that can be used to decorate regular libraries with the capability of proactively detecting and healing API misuses at runtime. Proactive Libraries blend libraries with multiple proactive modules that collect data, check the compliance of API usages with correctness policies, and heal executions as soon as the possible violation of a policy is detected. The results of our evaluation with 27 possible API misuses show the effectiveness of Proactive Libraries in correcting API misuses with negligible runtime overhead.
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.
