ABSTRACT
Many challenges arise in the application of Genetic Improvement (GI) of Software to improve non-functional requirements of software such as energy use and run-time. These challenges are mainly centred around the complexity of the search space and the estimation of the desired fitness function. For example, such fitness function are expensive, noisy and estimating them is not a straightforward task. In this paper, we illustrate some of the challenges in computing such fitness functions and propose a synergy between in-vivo evaluation and machine learning approaches to overcome such issues.
- Mahmoud A. Bokhari, Brad Alexander, and Markus Wagner. 2018. In-vivo and Offline Optimisation of Energy Use in the Presence of Small Energy Signals: A Case Study on a Popular Android Library. In 15th EAI Int. Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous). ACM.Google ScholarDigital Library
- B. R. Bruce, J. Petke, M. Harman, and E. T. Barr. 2019. Approximate Oracles and Synergy in Software Energy Search Spaces. IEEE Transactions on Software Engineering 45, 11 (Nov 2019), 1150--1169. Google ScholarCross Ref
- Nathan Burles, Edward Bowles, Alexander E. I. Brownlee, Zoltan A. Kocsis, Jerry Swan, and Nadarajen Veerapen. 2015. Object-Oriented Genetic Improvement for Improved Energy Consumption in Google Guava. In Symposium on Search-Based Software Engineering (SSBSE). Springer, 255--261.Google Scholar
- Mian Dong, Yung-Seok Kevin Choi, and Lin Zhong. 2009. Power modeling of graphical user interfaces on OLED displays. In 2009 46th ACM/IEEE Design Automation Conference. IEEE, 652--657.Google ScholarDigital Library
- Yaochu Jin. 2011. Surrogate-assisted evolutionary computation: Recent advances and future challenges. Swarm Evol. Comput. 1, 2 (2011), 61--70. Google ScholarCross Ref
- A. Montano L. Santana-Quintero and C. Coello. 2010. A review of techniques for handling expensive functions in evolutionary multi-objective optimization. In Computational intelligence in expensive optimization problems. Springer, 29--59.Google Scholar
- Ding Li, Angelica Huyen Tran, and William GJ Halfond. 2014. Making web applications more energy efficient for OLED smartphones. In Proceedings of the 36th International Conference on Software Engineering. ACM, 527--538.Google ScholarDigital Library
- J. Petke, S. O. Haraldsson, M. Harman, W. B. Langdon, D. R. White, and J. R. Woodward. 2018. Genetic Improvement of Software: A Comprehensive Survey. IEEE Transactions on Evolutionary Computation 22, 3 (June 2018), 415--432.Google ScholarCross Ref
- M. Hauswirth P. Sweeney J. Amaral T. Brecht L. Bulej C. Click L. Eeckhout S. Fischmeister S. Blackburn, A. Diwan et al. 2016. The truth, the whole truth, and nothing but the truth: A pragmatic guide to assessing empirical evaluations. ACM Transactions on Programming Languages and Systems (TOPLAS) 38, 4 (2016), 1--20.Google ScholarDigital Library
- D. Da Cunha S. De Carvalho and A. Da Silva-Filho. 2017. Autonomous Power Management for Embedded Systems Using a Non-linear Power Predictor. In 2017 Euromicro Conference on Digital System Design (DSD). IEEE, 22--29.Google Scholar
- Doug Sillars. 2015. High Performance Android Apps: Improve ratings with speed, optimizations, and testing. O'Reilly Media, Inc.Google Scholar
Index Terms
- Genetic improvement of software efficiency: the curse of fitness estimation
Recommendations
Reducing Energy Consumption Using Genetic Improvement
GECCO '15: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary ComputationGenetic Improvement (GI) is an area of Search Based Software Engineering which seeks to improve software's non-functional properties by treating program code as if it were genetic material which is then evolved to produce more optimal solutions. ...
Energy Optimisation via Genetic Improvement: A SBSE technique for a new era in Software Development
GECCO Companion '15: Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary ComputationThe discipline of Software Engineering has arisen during a time in which developers rarely concerned themselves with the energy efficiency of their software. Due to the growth in both mobile devices and large server clusters this period is undoubtedly ...
Genetic Improvement for Software Product Lines: An Overview and a Roadmap
GECCO Companion '15: Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary ComputationSoftware Product Lines (SPLs) are families of related software systems that provide different combinations of features. Extensive research and application attest to the significant economical and technological benefits of employing SPL practices. ...
Comments