State-taint analysis for detecting resource bugs

Hdl Handle:
http://hdl.handle.net/10149/621295
Title:
State-taint analysis for detecting resource bugs
Authors:
Xu, Zhiwu; Wen, Cheng; Qin, S. (Shengchao)
Affiliation:
Teesside University. Digital Futures Institute
Publisher:
Elsevier
Journal:
Science of Computer Programming
Issue Date:
30-Jun-2017
URI:
http://hdl.handle.net/10149/621295
DOI:
10.1016/j.scico.2017.06.010
Additional Links:
http://linkinghub.elsevier.com/retrieve/pii/S0167642317301314
Abstract:
To ensure that a program uses its resources in an appropriate manner is vital for program correctness. A number of solutions have been proposed to check that programs meet such a property on resource usage. But many of them are sophisticated to use for resource bug detection in practice and do not take into account the expectation that a resource should be used once it is opened or required. This open-but-not-used problem can cause resource starvation in some cases, for example, smartphones or other mobile devices where resources are not only scarce but also energy-hungry, hence inappropriate resource usage can not only cause the system to run out of resources but also lead to much shorter battery life between battery recharge. That is the so-call energy leak problem. In this paper, we propose a static analysis called state-taint analysis to detect resource bugs. Taking the open-but-not-used problem into account, we specify the appropriate usage of resources in terms of resource protocols. We then propose a taint-like analysis which employs resource protocols to guide resource bug detection. As an extension and an application, we enrich the protocols with the inappropriate behaviours that may cause 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 test datasets from Relda and GreenDroid. The experimental results show that our tool is precise, helpful and suitable in practice, and can detect more energy leak patterns.
Type:
Article
Language:
en
ISSN:
01676423
Rights:
Subject to 12 month embargo author can archive post-print (ie final draft post-refereeing). http://www.sherpa.ac.uk/romeo/issn/0167-6423/

Full metadata record

DC FieldValue Language
dc.contributor.authorXu, Zhiwuen
dc.contributor.authorWen, Chengen
dc.contributor.authorQin, S. (Shengchao)en
dc.date.accessioned2017-07-17T14:35:29Z-
dc.date.available2017-07-17T14:35:29Z-
dc.date.issued2017-06-30-
dc.identifier.citationState-taint analysis for detecting resource bugs 2017 Science of Computer Programmingen
dc.identifier.issn01676423-
dc.identifier.doi10.1016/j.scico.2017.06.010-
dc.identifier.urihttp://hdl.handle.net/10149/621295-
dc.description.abstractTo ensure that a program uses its resources in an appropriate manner is vital for program correctness. A number of solutions have been proposed to check that programs meet such a property on resource usage. But many of them are sophisticated to use for resource bug detection in practice and do not take into account the expectation that a resource should be used once it is opened or required. This open-but-not-used problem can cause resource starvation in some cases, for example, smartphones or other mobile devices where resources are not only scarce but also energy-hungry, hence inappropriate resource usage can not only cause the system to run out of resources but also lead to much shorter battery life between battery recharge. That is the so-call energy leak problem. In this paper, we propose a static analysis called state-taint analysis to detect resource bugs. Taking the open-but-not-used problem into account, we specify the appropriate usage of resources in terms of resource protocols. We then propose a taint-like analysis which employs resource protocols to guide resource bug detection. As an extension and an application, we enrich the protocols with the inappropriate behaviours that may cause 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 test datasets from Relda and GreenDroid. The experimental results show that our tool is precise, helpful and suitable in practice, and can detect more energy leak patterns.en
dc.language.isoenen
dc.publisherElsevieren
dc.relation.urlhttp://linkinghub.elsevier.com/retrieve/pii/S0167642317301314en
dc.rightsSubject to 12 month embargo author can archive post-print (ie final draft post-refereeing). http://www.sherpa.ac.uk/romeo/issn/0167-6423/en
dc.titleState-taint analysis for detecting resource bugsen
dc.typeArticleen
dc.contributor.departmentTeesside University. Digital Futures Instituteen
dc.identifier.journalScience of Computer Programmingen
dc.eprint.versionPost-printen
dc.embargo12 monthsen
dc.date.accepted2017-06-25-
All Items in TeesRep are protected by copyright, with all rights reserved, unless otherwise indicated.