[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]
|
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.
|