DeepPERF: A Deep Learning-Based Approach For Improving Software Performance
Spandan Garg, Roshanak Zilouchian Moghaddam, Colin B. Clement, Neel, Sundaresan, Chen Wu

TL;DR
DeepPERF leverages transformer-based deep learning to automate performance improvement suggestions for C# applications, achieving promising accuracy and real-world validation through open source contributions.
Contribution
This paper introduces DeepPERF, a novel transformer-based model pretrained on code and text, fine-tuned to generate performance patches for C# applications, advancing automation in performance optimization.
Findings
DeepPERF matches developer fixes in ~53% of cases.
Approximately 34% of suggestions are verbatim developer fixes.
Submitted 19 pull requests with 11 approved by project owners.
Abstract
Improving software performance is an important yet challenging part of the software development cycle. Today, the majority of performance inefficiencies are identified and patched by performance experts. Recent advancements in deep learning approaches and the wide-spread availability of open source data creates a great opportunity to automate the identification and patching of performance problems. In this paper, we present DeepPERF, a transformer-based approach to suggest performance improvements for C# applications. We pretrain DeepPERF on English and Source code corpora and followed by finetuning for the task of generating performance improvement patches for C# applications. Our evaluation shows that our model can generate the same performance improvement suggestion as the developer fix in ~53% of the cases, getting ~34% of them verbatim in our expert-verified dataset of performance…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Cloud Computing and Resource Management · Software Engineering Research
