mlsanityData to 7 Oct 2026

Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testing

arXiv 2402.11892 ↗First posted 19 Feb 2024cs.SE cs.AIcited by 5

Not on the map. Why?

Abstract (arXiv)

In this paper, we propose shifting the focus of robustness evaluation for Neural Program Repair (NPR) techniques toward naturally-occurring data transformations. To accomplish this, we first examine the naturalness of semantic-preserving transformations through a two-stage human study. This study includes (1) interviews with senior software developers to establish concrete criteria for evaluating the naturalness of these transformations, and (2) a survey involving 10 developers to assess the naturalness of 1,178 transformations, i.e., pairs of original and transformed programs, applied to 225 real-world bugs. Our findings show that only 60% of these transformations are deemed natural, while 20% are considered unnatural, with strong agreement among annotators. Moreover, the unnaturalness of these transformations significantly impacts both their applicability to benchmarks and the conclusions drawn from robustness testing. Next, we conduct natural robustness testing on NPR techniques to assess their true effectiveness against real-world data variations. Our experimental results reveal a substantial number of prediction changes in NPR techniques, leading to significant reductions in both plausible and correct patch rates when comparing performance on the original and transformed datasets. Additionally, we observe notable differences in performance improvements between NPR techniques, suggesting potential biases on NPR evaluation introduced by limited datasets. Finally, we propose an LLM-based metric to automate the assessment of transformation naturalness, ensuring the scalability of natural robustness testing.

Key facts. Cited by 5 papers in the map (data through 7 Oct 2026). Builds on 43 of its 106 references that are in the map. First posted on arXiv 19 Feb 2024.

Builds on

43 of 106 references.

References · 43

  1. 2020Language Models are Few-Shot Learnerscited by 32,199
  2. 2023Llama 2: Open Foundation and Fine-Tuned Chat Modelscited by 12,865
  3. 2023Code Llama: Open Foundation Models for Codecited by 2,105
  4. 2022BLOOM: A 176B-Parameter Open-Access Multilingual Language Modelcited by 1,968
  5. 2019Natural Adversarial Examplescited by 1,401
  6. 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
  7. 2017Generating Natural Adversarial Examplescited by 182
  8. 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
  9. 2020Deep Learning based Vulnerability Detection: Are We There Yet?cited by 142
  10. 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
  11. 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
  12. 2023Refining ChatGPT-Generated Code: Characterizing and Mitigating Code Quality Issuescited by 78
31 more
  1. 2022Natural Attack for Pre-trained Models of Codecited by 72
  2. 2019TBar: Revisiting Template-based Automated Program Repaircited by 64
  3. 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
  4. 2021Vulnerability Detection with Fine-grained Interpretationscited by 56
  5. 2021Neural Program Repair with Execution-based Backpropagationcited by 50
  6. 2023RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repaircited by 50
  7. 2021A Systematic Review of Robustness in Deep Learning for Computer Vision: Mind the gap?cited by 48
  8. 2020On the Generalizability of Neural Program Models with respect to Semantic-Preserving Program Transformationscited by 41
  9. 2018CODIT: Code Editing with Tree-Based Neural Modelscited by 40
  10. 2015On the "Naturalness" of Buggy Codecited by 35
  11. 2024BugsInPy: A Database of Existing Bugs in Python Programs to Enable Controlled Testing and Debugging Studiescited by 35
  12. 2022SelfAPR: Self-supervised Program Repair with Test Execution Diagnosticscited by 33
  13. 2021Trust Enhancement Issues in Program Repaircited by 22
  14. 2021SPI: Automated Identification of Security Patches via Commitscited by 19
  15. 2020Patching as Translation: the Data and the Metaphorcited by 18
  16. 2023How do humans perceive adversarial text? A reality check on the validity and naturalness of word-based adversarial attackscited by 18
  17. 2020On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programscited by 16
  18. 2021Challenging Machine Learning-based Clone Detectors via Semantic-preserving Code Transformationscited by 15
  19. 2018You Cannot Fix What You Cannot Find! An Investigation of Fault Localization Bias in Benchmarking Automated Program Repair Systemscited by 13
  20. 2019Bears: An Extensible Java Bug Benchmark for Automatic Program Repair Studiescited by 13
  21. 2022AutoPruner: Transformer-Based Call Graph Pruningcited by 11
  22. 2022VulCurator: A Vulnerability-Fixing Commit Detectorcited by 11
  23. 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoningcited by 11
  24. 2018On Reliability of Patch Correctness Assessmentcited by 8
  25. 2023An Extensive Study on Adversarial Attack against Pre-trained Models of Codecited by 8
  26. 2023Non-adversarial Robustness of Deep Learning Methods for Computer Visioncited by 6
  27. 2023Beware of the Unexpected: Bimodal Taint Analysiscited by 5
  28. 2018AutoSpearman: Automatically Mitigating Correlated Metrics for Interpreting Defect Modelscited by 4
  29. 2022CodeBERT-nt: code naturalness via CodeBERTcited by 4
  30. 2023Multi-Granularity Detector for Vulnerability Fixescited by 4
  31. 2020Adversarial Patch Generation for Automated Program Repaircited by 1

Built on by

Cited by year

Citing papers per year: 2024: 1; 2025: 4.

5 papers.