State-Taint Analysis for Detecting Resource Bugs

Zhiwu Xu, Dongxiao Fan, Shengchao Qin

Research output: Contribution to conferencePaperpeer-review

320 Downloads (Pure)


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 notonly scarce but also energy-hungry. The misuse of resources could not only cause the system to run out of resources butalso 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 state taint 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 languageEnglish
Publication statusPublished - 17 Jul 2016
Event10th International Symposium on Theoretical Aspects of Software Engineering - Shanghai, China
Duration: 17 Jul 201619 Jul 2016
Conference number: 10


Conference10th International Symposium on Theoretical Aspects of Software Engineering
Abbreviated titleTASE 2016


Dive into the research topics of 'State-Taint Analysis for Detecting Resource Bugs'. Together they form a unique fingerprint.

Cite this