Fixing Resource Leaks in Android Apps with Light-Weight Static Analysis and Low-Overhead Instrumentation
2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE) (2016)
Ottawa, Ontario, Canada
Oct. 23, 2016 to Oct. 27, 2016
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ISSRE.2016.15
Fixing bugs according to bug reports is a labor-intensive work for developers and automatic techniques can effectively decrease the manual efforts. A feasible solution is to fix specific bugs by static analysis and code instrumentation. In this paper, we present a light-weight approach to fixing the resource leak bugs that exist widely in Android apps while guaranteeing the safety that the patches should not interrupt normal execution of the original program. This approach first performs a light-weight static analysis and then carefully designs the concise patch code that will be inserted into the byte-code. When the program is running, the patches will trace the state of leaked resources and release them in a proper place. Our experiments on dozens of real-world apps show that our approach can effectively fix resource leaks in the apps with negligible extra execution time and less than 4% extra code in a few seconds.
Computer bugs, Androids, Humanoid robots, Mars, Software, Testing, Instruments
J. Liu, T. Wu, J. Yan and J. Zhang, "Fixing Resource Leaks in Android Apps with Light-Weight Static Analysis and Low-Overhead Instrumentation," 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE), Ottawa, Ontario, Canada, 2016, pp. 342-352.