CNS Core: Small: Leveraging Hardware Counters to Improve the Performance and Energy Efficiency of Mobile Apps
Ohio State University, The, Columbus OH
Investigators
Abstract
Many mobile apps are reported to either have poor user-perceived performance, such as long response times, or significant battery lifetime impacts. Programming bugs from novice developers have become common reasons for such non-functional issues. For example, a type of non-deterministic bug is the hang bug, which may cause the app to have soft hangs, i.e., the app becomes unresponsive for a limited but perceivable period of time. Abnormal battery drain (ABD) is another type of software bug that has been reported to trouble a large number of developers. An ABD usually consumes an unnecessarily high amount of energy and causes undesired battery drain. This project proposes a software bug detection and diagnosis framework based on performance counters --hardware registers configured to monitor selected events like cache misses or context switches-- for mobile apps. The proposed framework performs correlation analysis to select the most relevant hardware events for given hang bugs and ABDs, as well as other non-functional bugs, such as memory bloat, which refers to a mobile app consuming significantly more memory than necessary. Novel algorithms will then be designed that leverage the fine-grained and low-overhead hardware information provided by performance counters to help app developers pinpoint the root causes of these bugs. The success of this timely project would greatly impact mobile app development by providing app developers a sorely needed tool that can help them identify the root causes of their non-functional bugs, such as hang bugs, ABD, and memory bloat. With the number of available mobile apps reaching a massive 8.93 million in early 2020, a recent study shows that 40% of app developers are reported to be working completely on their own, and 26% of app developers have less than 2 years of experience in writing apps. New mobile apps released from these novice developers can be creative and help users significantly in daily lives, but often yield poor user experiences or short battery lifetimes. With the proposed counter-based bug detection framework, app developers can spend less time concerned with performance/energy issues and focus more on their own business logic for higher productivity. In addition, the algorithms and framework developed in this project can be valuable to all computer systems in general, by exploring the intricate correlation between non-functional software bugs and hardware-level information provided by performance counters. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
View original record on NSF Award Search →