mlsanityData to 7 Oct 2026

Learning to Learn to Predict Performance Regressions in Production at Meta

arXiv 2208.04351 ↗First posted 8 Aug 2022cs.SE cs.LGcited by 1

Not on the map. Why?

Abstract (arXiv)

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; our highly customized SuperPerforator architecture initially achieved prediction performance that was just on par with simpler Bag of Words models, and only outperformed them for down-stream use cases. This 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. 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 the learned black-box model.

Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 18 of its 63 references that are in the map. First posted on arXiv 8 Aug 2022.

Builds on

18 of 63 references.

References · 18

  1. 2020Language Models are Few-Shot Learnerscited by 32,199
  2. 2016"Why Should I Trust You?": Explaining the Predictions of Any Classifiercited by 5,040
  3. 2020Longformer: The Long-Document Transformercited by 3,362
  4. 2017Axiomatic Attribution for Deep Networkscited by 3,350
  5. 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
  6. 2019What Does BERT Look At? An Analysis of BERT's Attentioncited by 994
  7. 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
  8. 2020Generate Your Counterfactuals: Towards Controlled Counterfactual Generation for Textcited by 75
  9. 2019Attention Interpretability Across NLP Taskscited by 71
  10. 2021Applying CodeBERT for Automated Program Repair of Java Simple Bugscited by 44
  11. 2018Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networkscited by 43
  12. 2021What do pre-trained code models know about code?cited by 36
6 more
  1. 2017Mimicking Word Embeddings using Subword RNNscited by 30
  2. 2021Counterfactual Explanations for Models of Codecited by 24
  3. 2021Which transformer architecture fits my data? A vocabulary bottleneck in self-attentioncited by 16
  4. 2017A Zero-Positive Learning Approach for Diagnosing Software Performance Regressionscited by 5
  5. 2020Industry-scale IR-based Bug Localization: A Perspective from Facebookcited by 5
  6. 2021Improving Stack Overflow question title generation with copying enhanced CodeBERT model and bi-modal informationcited by 5

Built on by

Cited by year (2026 to 7 Oct)

Citing papers per year: 2026: 1.

1 paper.