GreenScaler: Automatically training software energy model with big data - Chowdhury, Shaiful Alam; Gil, Stephanie; Romansky, Stephen; Hindle, Abram (PeerJ Preprints, 2016)
Software energy consumption is a performance related non-functional requirement that complicates building software on mobile devices today. Energy hogging applications are a liability to both the end-user and software developer. Measuring software energy consumption is non-trivial, requiring both equipment and expertise, yet many researchers have found that software energy consumption can be modelled. Prior works have hinted that with more energy measurement data one can make more accurate energy models but this data was expensive to extract because it required energy measurement of running test cases (rare) or time consuming manually written tests. We address these concerns by automatically generating test cases to drive applications undergoing energy measurement. Automatic test generation allows a model to be continuously improved in a model building process whereby applications are extracted, tests are generated, energy is measured and combined with instrumentation to train a grander big-data model of software energy consumption. This continuous process has allowed the authors to generate and extract measurements from hundreds of applications in order to build accurate energy models capable of predicting the energy consumption of applications without end-user energy measurement. We clearly show that models built from more applications reduce energy modelling error.
Keywords: Software energy consumption; Energy bugs; Software energy modeling; Automatic test generation; Software energy efficiency