Abstract
Modern compilers provide code optimizations before and during run-time, thus moving required domain knowledge about the compilation process away from the developer and speeding up resulting software. These optimizations are often based on formal proof, or alternatively have recovery paths as backup. Genetic improvement (GI), a field of science utilizing genetic programming, a stochastic optimization technique, has been previously utilized to fix bugs in software and improve non-functional software requirements. This work proposes to research the applicability of GI in an offline phase directly at the interpreter or compiler level. The primary goal is to reformulate existing source code in such a way that existing optimizations can be applied in order to increase performance even further and requiring even less domain knowledge from the developer about a programming language and/or compiler. From these reformulations, patterns can be identified that allow code restructuring without the overhead GI poses.
Original language | English |
---|---|
Title of host publication | SPLASH Companion 2017 - Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications |
Subtitle of host publication | Software for Humanity |
Editors | Gail C. Murphy |
Publisher | ACM Press |
Pages | 7-9 |
Number of pages | 3 |
ISBN (Electronic) | 9781450355148 |
ISBN (Print) | 978-1-4503-5514-8 |
DOIs | |
Publication status | Published - 22 Oct 2017 |
Event | SPLASH / OOPSLA 2017 - Vancouver, Canada Duration: 22 Oct 2017 → 27 Oct 2017 http://2017.splashcon.org/home |
Publication series
Name | SPLASH Companion 2017 - Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity |
---|
Conference
Conference | SPLASH / OOPSLA 2017 |
---|---|
Country/Territory | Canada |
City | Vancouver |
Period | 22.10.2017 → 27.10.2017 |
Internet address |
Keywords
- Code Optimization
- Compilation
- Genetic Improvement
- Genetic Programming
- Non-Functional