Abstract

Smartphones have improved in terms of their processing speed and memory capacity. The increased usage of smartphones has led to the widespread availability of smartphone applications. However, many smartphone applications suffer from energy inefficiency problems due to improper usage of resources. When resources are left unreleased after use, they keep consuming smartphone’s battery power even if the application is not using these resources. This behavior is called resource-leak which causes energy-bugs. Different solutions based on static, dynamic and hybrid analysis exist in the literature to detect energy-bugs due to resource-leaks. However, most of the existing solutions suffer from the problem of false positives due to energy-bugs detection at the method level. They consider each method in isolation and check that if the particular method has acquired a resource but has not released it within that method. In practice, it is common that resources are acquired in one method and released in another method. In this paper, we propose a dynamic analysis technique to perform energy-bug detection at the application level to overcome the problem of false-positives. Our aim is to detect energy bugs, because serious energy issues can arise in smartphones due to energy bugs. Besides, we have considered methods in which resource is acquired or released, and if both methods execute in a single path, then the resource will be released and there will be no energy bug at application level. To evaluate our proposed approach, we have performed experiments on 11 real-life Android applications. Experimental results show that our approach is able to identify real energy bugs at the application level as well as identify false positives.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call