Oxford logo
[KKK16] P. Kim, D. Kroening and M. Kwiatkowska. Static Program Analysis for Identifying Energy Bugs in Graphics-Intensive Mobile Apps. In Proc. 24th {IEEE} International Conference on Modelling, Analysis and Simulation of Computer and Telecommunication Systems ({MASCOTS} 2016), IEEE CS Press. To appear. 2016. [pdf] [bib]
Downloads:  pdf pdf (229 KB)  bib bib
Abstract. A major drawback of mobile devices is limited battery life. Apps that use graphics are especially energy greedy and developers must invest significant effort to make such apps energy efficient. We propose a novel static optimization technique for eliminating drawing commands to produce energy-efficient apps. The key insight we exploit is that the static analysis is able to predict future behavior of the app, and we give three exemplars that demonstrate the value of this approach. Firstly, loop invariant texture analysis identifies repetitive texture transfers in the render loop so that they can be moved out of the loop and performed just once. Secondly, packing identifies images that are drawn together and therefore can be combined into a larger image to eliminate overhead associated with multiple smaller images. Finally, identical frames detection uses a combination of static and dynamic analysis to identify frames that are identical to the previous frame and therefore do not have to be drawn. We implemented the technique against LibGDX, an Android game engine, and evaluated it using open source projects. Our experiments indicate savings up to 44% of the total energy consumption of the device.