Abstract
To verify whether a program uses resources in a valid manner is vital for program correctness. A number of solutions have been proposed to ensure such a property for resource usage. But most of them are sophisticated to use for resource bugs detection in practice and do not concern about the issue that an opened resource should be used. This open-but-not-used problem can cause resource starvation in some case as well. In particular, resources of smartphones are not only scarce but also energy-hungry. The misuse of resources could not only cause the system to run out of resources but also lead to a shorter battery life. That is the so-call energy leak problem. Aiming to provide a lightweight method and to detect as many resource bugs as possible, we propose a statetaint analysis in this paper. First, take the open-but-not-used problem into account, we specify the appropriate usage of resources as resource protocols. Then we propose a taint-like analysis which takes resource protocols as a guide to detect resource bugs. As an application, we enrich the resource usage protocols by taking into account energy leaks and use the refined protocols to guide the analysis for energy leak detection. We implement the analysis as a prototype tool called statedroid. Using this tool, we conduct experiments on several real Android applications and find several energy leaks.
Original language | English |
---|---|
Title of host publication | 10th International Symposium on Theoretical Aspects of Software Engineering, TASE 2016, Shanghai, China, July 17-19, 2016 |
DOIs | |
Publication status | Published - 17 Jul 2016 |
Event | 10th International Symposium on Theoretical Aspects of Software Engineering - Shanghai, China Duration: 17 Jul 2016 → 19 Jul 2016 Conference number: 10 |
Conference
Conference | 10th International Symposium on Theoretical Aspects of Software Engineering |
---|---|
Abbreviated title | TASE 2016 |
Country/Territory | China |
City | Shanghai |
Period | 17/07/16 → 19/07/16 |