English

Supersonic: Learning to Generate Source Code Optimizations in C/C++

Software Engineering 2025-02-04 v3 Artificial Intelligence Machine Learning

Abstract

Software optimization refines programs for resource efficiency while preserving functionality. Traditionally, it is a process done by developers and compilers. This paper introduces a third option, automated optimization at the source code level. We present Supersonic, a neural approach targeting minor source code modifications for optimization. Using a seq2seq model, Supersonic is trained on C/C++ program pairs (xtx_{t}, xt+1x_{t+1}), where xt+1x_{t+1} is an optimized version of xtx_{t}, and outputs a diff. Supersonic's performance is benchmarked against OpenAI's GPT-3.5-Turbo and GPT-4 on competitive programming tasks. The experiments show that Supersonic not only outperforms both models on the code optimization task but also minimizes the extent of the change with a model more than 600x smaller than GPT-3.5-Turbo and 3700x smaller than GPT-4.

Keywords

Cite

@article{arxiv.2309.14846,
  title  = {Supersonic: Learning to Generate Source Code Optimizations in C/C++},
  author = {Zimin Chen and Sen Fang and Martin Monperrus},
  journal= {arXiv preprint arXiv:2309.14846},
  year   = {2025}
}