论文标题

喜p:通过软件的演变,机器自动化的一般性能改进

MAGPIE: Machine Automated General Performance Improvement via Evolution of Software

论文作者

Blot, Aymeric, Petke, Justyna

论文摘要

性能是软件最重要的素质之一。因此,已经提出了几种技术来改进它,例如程序转换,软件参数的优化或编译器标志。许多自动化的软件改进方法都使用类似的搜索策略来探索可能改进的空间,但可用的工具只专注于一种方法。这使得比较和探索各种类型改进的相互作用是不切实际的。 我们提出了Magpie,这是一个统一的软件改进框架。它提供了一个共同的基于编辑序列的表示形式,该表示将搜索过程与特定的改进技术隔离,从而实现了简化的协同工作流程。我们使用基本的本地搜索提供案例研究,以比较编译器优化,算法配置和遗传改善。我们选择了运行时间作为我们的效率度量,并评估了我们在C,C ++和Java编写的四个现实世界软件上的方法。 我们的结果表明,独立使用的所有技术都发现了重大的运行时间改进:编译器优化最高25%,算法配置为97%,使用遗传改进的源代码为61%。我们还表明,通过不同技术发现的变体的部分组合,可以获得多达10%的性能提高。此外,通用表示还可以同时探索所有技术,从而为单独使用每种技术提供了一种竞争性替代方案。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源