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

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Chen, Zimin, Fang, Sen, Monperrus, Martin
Natura: Preprint
Pubblicazione: 2023
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866917908901265408
author Chen, Zimin
Fang, Sen
Monperrus, Martin
author_facet Chen, Zimin
Fang, Sen
Monperrus, Martin
contents 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 ($x_{t}$, $x_{t+1}$), where $x_{t+1}$ is an optimized version of $x_{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.
format Preprint
id arxiv_https___arxiv_org_abs_2309_14846
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Supersonic: Learning to Generate Source Code Optimizations in C/C++
Chen, Zimin
Fang, Sen
Monperrus, Martin
Software Engineering
Artificial Intelligence
Machine Learning
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 ($x_{t}$, $x_{t+1}$), where $x_{t+1}$ is an optimized version of $x_{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.
title Supersonic: Learning to Generate Source Code Optimizations in C/C++
topic Software Engineering
Artificial Intelligence
Machine Learning
url https://arxiv.org/abs/2309.14846