IEEE Transactions on Software Engineering (TSE) has moved to the OnlinePlus publication model starting with 2013 issues!

From the September 2014 Issue

GreenDroid: Automated Diagnosis of Energy Inefficiency for Smartphone Applications

By Yepang Liu, Chang Xu, S.C. Cheung, and Jian Lü

Featured article thumbnail imageSmartphone applications' energy efficiency is vital, but many Android applications suffer from serious energy inefficiency problems. Locating these problems is labor-intensive and automated diagnosis is highly desirable. However, a key challenge is the lack of a decidable criterion that facilitates automated judgment of such energy problems. Our work aims to address this challenge. We conducted an in-depth study of 173 open-source and 229 commercial Android applications, and observed two common causes of energy problems: missing deactivation of sensors or wake locks, and cost-ineffective use of sensory data. With these findings, wepropose an automated approach to diagnosing energy problems in Android applications. Our approach explores an application's state space by systematically executing the application using Java PathFinder (JPF). It monitors sensor and wake lock operations to detect missing deactivation of sensors and wake locks. It also tracks the transformation and usage of sensory data and judges whether they are effectively utilized by the application using our state-sensitive data utilization metric. In this way, our approach can generate detailed reports with actionable information to assist developers in validating detected energy problems. We built our approach as a tool, GreenDroid, on top of JPF. Technically, we addressed the challenges of generating user interaction events and scheduling event handlers in extending JPF for analyzing Android applications. We evaluated GreenDroid using 13 real-world popular Android applications. GreenDroid completed energy efficiency diagnosis for these applications in a few minutes. It successfully located real energy problems in these applications, and additionally found new unreported energy problems that were later confirmed by developers

download PDF View the PDF of this article      csdl View this issue in the digital library


Editorials and Announcements

Announcements

Editorials

>Guest Editorials

Reviewers List

Annual Index


Access All Recently Published TSE Articles

RSS Subscribe to the RSS feed of latest TSE content added to the digital library

Mail Sign up to receive email alerts when a new issue of TSE is online.


Access TSE PrePrints in the Computer Society digital library

A PrePrint is an article that has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication

The IEEE Transactions on Software Engineering (TSE) is an archival journal published bimonthly. We are interested in well-defined theoretical results and empirical studies that have potential impact on the construction, analysis, or management of software.
Read the full scope of TSE