AST 2023
Mon 15 - Tue 16 May 2023 Melbourne, Australia
co-located with ICSE 2023
Mon 15 May 2023 14:07 - 14:30 at Meeting Room 107 - Metrics and Benchmarks

Catching and attributing code change-induced performance regressions in production is hard; predicting them beforehand, even harder. A primer on automatically learning to predict performance regressions in software, this article gives an account of the experiences we gained when researching and deploying an ML-based regression prediction pipeline at Meta. In this paper, we report on a comparative study with four ML models of increasing complexity, from (1) code-opaque, over (2) Bag of Words, (3) off-the-shelve Transformer-based, to (4) a bespoke Transformer-based model, coined SuperPerforator. Our investigation shows the inherent difficulty of the performance prediction problem, which is characterized by a large imbalance of benign onto regressing changes. Our results also call into question the general applicability of Transformer-based architectures for performance prediction: an off-the-shelve CodeBERT-based approach had surprisingly poor performance; even the highly customized SuperPerforator architecture achieved offline results that were on par with simpler Bag of Words models; it only started to significantly outperform it for down-stream use cases in an online setting. To gain further insight into SuperPerforator, we explored it via a series of experiments computing counterfactual explanations. These highlight which parts of a code change the model deems important, thereby validating it. The ability of SuperPerforator to transfer to an application with few learning examples afforded an opportunity to deploy it in practice at Meta: it can act as a pre-filter to sort out changes that are unlikely to introduce a regression, truncating the space of changes to search a regression in by up to 43%, a 45x improvement over a random baseline.

Mon 15 May

Displayed time zone: Hobart change

13:45 - 15:15
Metrics and BenchmarksAST 2023 at Meeting Room 107
13:45
22m
Talk
AutoMetric: Towards Measuring Open-Source Software Quality Metrics Automatically
AST 2023
Taejun Lee Korea University, Heewon Park Korea University, Heejo Lee Korea University
14:07
22m
Talk
Learning to Learn to Predict Performance Regressions in Production at Meta
AST 2023
Moritz Beller Meta Platforms, Inc., USA, Hongyu Li Liquido, Vivek Nair Meta Platforms, Inc., Vijayaraghavan Murali Meta Platforms, Inc., Imad Ahmad Meta Platforms, Inc., Jürgen Cito TU Wien, Drew Carlson Ex-Meta Platforms, Inc., Gareth Ari Aye Meta Platforms, Inc., Wes Dyer Meta Platforms, Inc.
Pre-print
14:30
22m
Talk
SourceWarp: A scalable, SCM-driven testing and benchmarking approach to support data-driven and agile decision making for CI/CD tools and DevOps platforms
AST 2023
Julian Thome GitLab Inc., James Johnson --, Isaac Dawson GitLab Inc., Dinesh Bolkensteyn GitLab Inc., Michael Henriksen GitLab Inc., Mark Art GitLab Inc.
14:52
22m
Talk
Structural Test Input Generation for 3-Address Code Coverage Using Path-Merged Symbolic Execution
AST 2023
Soha Hussein University of Minnesota, USA / Ain Shams University, Egypt, Stephen McCamant University of Minnesota, USA, Elena Sherman Boise State University, Vaibhav Sharma Amazon, Michael Whalen Amazon Web Services and the University of Minnesota