Automated Repair of Resource Leaks in Android Applications
Bhargav Nagaraja Bhatt, Carlo A. Furia

TL;DR
PlumbDroid is an automated static analysis tool that detects and repairs resource leaks in Android apps, improving software quality with high precision and efficiency.
Contribution
It introduces a novel static analysis-based method for automatically fixing resource leaks in Android applications, addressing the complexity of event-driven control flow.
Findings
Automatically repaired 50 resource leaks in Android apps
Detection and repair process takes about 2 minutes per leak
Outperforms existing automated repair tools in precision and size of fixes
Abstract
Resource leaks -- a program does not release resources it previously acquired -- are a common kind of bug in Android applications. Even with the help of existing techniques to automatically detect leaks, writing a leak-free program remains tricky. One of the reasons is Android's event-driven programming model, which complicates the understanding of an application's overall control flow. In this paper, we present PlumbDroid: a technique to automatically detect and fix resource leaks in Android applications. PlumbDroid uses static analysis to find execution traces that may leak a resource. The information built for detection also undergirds automatically building a fix -- consisting of release operations performed at appropriate locations -- that removes the leak and does not otherwise affect the application's usage of the resource. An empirical evaluation on resource leaks from the…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Distributed systems and fault tolerance · Advanced Data Storage Technologies
