MAGPIE: Machine Automated General Performance Improvement via Evolution of Software
Not on the map. Why?
Abstract (arXiv)
Performance is one of the most important qualities of software. Several techniques have thus been proposed to improve it, such as program transformations, optimisation of software parameters, or compiler flags. Many automated software improvement approaches use similar search strategies to explore the space of possible improvements, yet available tooling only focuses on one approach at a time. This makes comparisons and exploration of interactions of the various types of improvement impractical. We propose MAGPIE, a unified software improvement framework. It provides a common edit sequence based representation that isolates the search process from the specific improvement technique, enabling a much simplified synergistic workflow. We provide a case study using a basic local search to compare compiler optimisation, algorithm configuration, and genetic improvement. We chose running time as our efficiency measure and evaluated our approach on four real-world software, written in C, C++, and Java. Our results show that, used independently, all techniques find significant running time improvements: up to 25% for compiler optimisation, 97% for algorithm configuration, and 61% for evolving source code using genetic improvement. We also show that up to 10% further increase in performance can be obtained with partial combinations of the variants found by the different techniques. Furthermore, the common representation also enables simultaneous exploration of all techniques, providing a competitive alternative to using each technique individually.
Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). Builds on 8 of its 71 references that are in the map. First posted on arXiv 4 Aug 2022.
Builds on
8 of 71 references.
References · 8
- 2018Automated Algorithm Selection: Survey and Perspectivescited by 114
- 2014ParamILS: An Automatic Algorithm Configuration Frameworkcited by 89
- 2018A Survey on Compiler Autotuning using Machine Learningcited by 40
- 2017Darwinian Data Structure Selectioncited by 3
- 2019Lost in translation: Exposing hidden compiler optimization opportunitiescited by 2
- 2017Hot-Rodding the Browser Engine: Automatic Configuration of JavaScript Compilerscited by 1
- 2020MLComp: A Methodology for Machine Learning-based Performance Estimation and Adaptive Selection of Pareto-Optimal Compiler Optimization Sequencescited by 1
- 2022Genetic Improvement in the Shackleton Framework for Optimizing LLVM Pass Sequencescited by 1
Built on by
Citing papers per year: 2023: 1.
1 paper.
- 2023Learning Performance-Improving Code Editscited by 106
- 2023Learning Performance-Improving Code Edits15 Feb 2023