ABSTRACT
The 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 coming to an end and, as such, new tools for creating energy-efficient software are required. This paper takes the position that Genetic Improvement, a Search-Based Software Engineering technique, has the potential to aid developers in refactoring their software to a more energy-efficient state; allowing focus to remain on functional requirements while leaving concerns over energy consumption to an automated process.
- B. R. Bruce, J. Petke, and M. Harman. Reducing Energy Consumption Using Genetic Improvement. In GECCO 2015, 2015. To appear. Google ScholarDigital Library
- C. Bunse, H. Höpfner, S. Roychoudhury, and E. Mansour. Choosing the "best" sorting algorithm for optimal energy consumption. ICSOFT, 2009.Google Scholar
- J. Koomey. Growth in data center electricity use from 2005 to 2010, Aug. 2011.Google Scholar
- W. B. Langdon and M. Harman. Evolving a CUDA kernel from an nVidia template. In IEEE Congress on Evolutionary Computation, pages 1--8. IEEE, July 2010.Google ScholarCross Ref
- W. B. Langdon and M. Harman. Optimising Existing Software with Genetic Programming. IEEE Transactions on Evolutionary Computation, 2013.Google Scholar
- I. Manotas, L. Pollock, and J. Clause. SEEDS: a software engineer's energy-optimization decision support framework. In Proceedings of ICSE 2014, pages 503--514, New York, New York, USA, May 2014. ACM Press. Google ScholarDigital Library
- J. Petke, W. B. Langdon, M. Harman, and W. Weimer. Using genetic improvement & code transplants to specialise a CGoogle Scholar
- program to a problem class. In Proceedings of EuroGP 2014, Granada, Spain, 2014.Google Scholar
- E. Schulte, J. Dorn, S. Harding, S. Forrest, and W. Weimer. Post-compiler software optimization for reducing energy. In Proceedings of ASPLOS 2014, pages 639--652. ACM, 2014. Google ScholarDigital Library
- W. G. P. Silva, L. Brisolara, U. B. Corrêa, and L. Carro. Evaluation of the impact of code refactoring on embedded software efficiency. In Proceedings of the 1st Workshop de Sistemas Embarcados, pages 145--150, 2010.Google Scholar
- D. R. White, A. Arcuri, and J. A. Clark. Evolutionary improvement of programs. IEEE Transactions on Evolutionary Computation, 15(4):515--538, Aug. 2011. Google ScholarDigital Library
Index Terms
- Energy Optimisation via Genetic Improvement: A SBSE technique for a new era in Software Development
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. ...
GI4GI: Improving Genetic Improvement Fitness Functions
GECCO Companion '15: Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary ComputationGenetic improvement (GI) has been successfully used to optimise non-functional properties of software, such as execution time, by automatically manipulating program's source code. Measurement of non-functional properties, however, is a non-trivial task; ...
Genetic improvement of computational biology software
GECCO '17: Proceedings of the Genetic and Evolutionary Computation Conference CompanionThere is a cultural divide between computer scientists and biologists that needs to be addressed. The two disciplines used to be quite unrelated but many new research areas have arisen from their synergy. We selectively review two multi-disciplinary ...
Comments