Light-Weight, Inter-Procedural and Callback-Aware Resource Leak Detection for Android Apps.
IEEE Trans. Software Eng.(2016)
摘要
Android devices include many embedded resources such as Camera, Media Player and Sensors. These resources require programmers to explicitly request and release them. Missing release operations might cause serious problems such as performance degradation or system crash. This kind of defects is called resource leak. Despite a large body of existing works on testing and analyzing Android apps, there still remain several challenging problems. In this work, we present Relda2, a light-weight and precise static resource leak detection tool. We first systematically collected a resource table, which includes the resources that the Android reference requires developers release manually. Based on this table, we designed a general approach to automatically detect resource leaks. To make a more precise inter-procedural analysis, we construct a Function Call Graph for each Android application, which handles function calls of user-defined methods and the callbacks invoked by the Android framework at the same time. To evaluate Relda2's effectiveness and practical applicability, we downloaded 103 apps from popular app stores and an open source community, and found 67 real resource leaks, which we have confirmed manually.
更多查看译文
关键词
Androids,Humanoid robots,Smart phones,Java,Testing,Leak detection,Computer bugs
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络