Learning How to Mutate Source Code from Bug-Fixes
Not on the map. Why?
Abstract (arXiv)
Mutation testing has been widely accepted as an approach to guide test case generation or to assess the effectiveness of test suites. Empirical studies have shown that mutants are representative of real faults; yet they also indicated a clear need for better, possibly customized, mutation operators and strategies. While methods to devise domain-specific or general-purpose mutation operators from real faults exist, they are effort- and error-prone, and do not help the tester to decide whether and how to mutate a given source code element. We propose a novel approach to automatically learn mutants from faults in real programs. First, our approach processes bug fixing changes using fine-grained differencing, code abstraction, and change clustering. Then, it learns mutation models using a deep learning strategy. We have trained and evaluated our technique on a set of ~787k bug fixes mined from GitHub. Our empirical evaluation showed that our models are able to predict mutants that resemble the actual fixed bugs in between 9% and 45% of the cases, and over 98% of the automatically generated mutants are lexically and syntactically correct.
Key facts. Cited by 13 papers in the map (data through 7 Oct 2026). First posted on arXiv 27 Dec 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 3; 2022: 2; 2023: 5; 2024: 0; 2025: 0; 2026: 3.
13 papers.
Sort:
By area:
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugscited by 28
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 23
- 2023CrossCodeBench: Benchmarking Cross-Task Generalization of Source Code Modelscited by 16
- 2023Benchmarking Causal Study to Interpret Large Language Models for Source Codecited by 14
- 2023Toward a Theory of Causation for Interpreting Neural Code Modelscited by 12
- 2022Improving Automated Program Repair with Domain Adaptationcited by 10
- 2022Can we learn from developer mistakes? Learning to localize and repair real bugs from real bug fixescited by 4
- 2023Challenging Bug Prediction and Repair Models with Synthetic Bugscited by 3
- 2021Jointly Learning to Repair Code and Generate Commit Messagecited by 2
- 2021Data-Driven AI Model Signal-Awareness Enhancement and Introspectioncited by 1
- 2026Advancing Language Models for Code-related Taskscited by 0
- 2026Towards Comprehensive Benchmarking Infrastructure for LLMs In Software Engineeringcited by 0
1 more
- 2026Phoenix: Safe GitHub Issue Resolution via Multi-Agent LLMs18 Jun 2026
- 2026Towards Comprehensive Benchmarking Infrastructure for LLMs In Software Engineering28 Jan 2026
- 2026Advancing Language Models for Code-related Tasks8 Jan 2026
- 2023Challenging Bug Prediction and Repair Models with Synthetic Bugs3 Oct 2023
- 2023Benchmarking Causal Study to Interpret Large Language Models for Source Code23 Aug 2023
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugs6 Jun 2023
- 2023CrossCodeBench: Benchmarking Cross-Task Generalization of Source Code Models8 Feb 2023
- 2023Toward a Theory of Causation for Interpreting Neural Code Models7 Feb 2023
- 2022Improving Automated Program Repair with Domain Adaptation21 Dec 2022
- 2022Can we learn from developer mistakes? Learning to localize and repair real bugs from real bug fixes1 Jul 2022
- 2021Data-Driven AI Model Signal-Awareness Enhancement and Introspection10 Nov 2021
- 2021A Survey on Machine Learning Techniques for Source Code Analysis18 Oct 2021
1 more
- 2021Jointly Learning to Repair Code and Generate Commit Message25 Sep 2021
- 2026Phoenix: Safe GitHub Issue Resolution via Multi-Agent LLMs18 Jun 2026
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugscited by 28
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 23
- 2023CrossCodeBench: Benchmarking Cross-Task Generalization of Source Code Modelscited by 16
- 2023Benchmarking Causal Study to Interpret Large Language Models for Source Codecited by 14
- 2023Toward a Theory of Causation for Interpreting Neural Code Modelscited by 12
- 2022Improving Automated Program Repair with Domain Adaptationcited by 10
- 2022Can we learn from developer mistakes? Learning to localize and repair real bugs from real bug fixescited by 4
- 2023Challenging Bug Prediction and Repair Models with Synthetic Bugscited by 3
- 2021Jointly Learning to Repair Code and Generate Commit Messagecited by 2
- 2021Data-Driven AI Model Signal-Awareness Enhancement and Introspectioncited by 1
- 2026Advancing Language Models for Code-related Taskscited by 0
- 2026Towards Comprehensive Benchmarking Infrastructure for LLMs In Software Engineeringcited by 0
- 2026Towards Comprehensive Benchmarking Infrastructure for LLMs In Software Engineering28 Jan 2026
- 2026Advancing Language Models for Code-related Tasks8 Jan 2026
- 2023Challenging Bug Prediction and Repair Models with Synthetic Bugs3 Oct 2023
- 2023Benchmarking Causal Study to Interpret Large Language Models for Source Code23 Aug 2023
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugs6 Jun 2023
- 2023CrossCodeBench: Benchmarking Cross-Task Generalization of Source Code Models8 Feb 2023
- 2023Toward a Theory of Causation for Interpreting Neural Code Models7 Feb 2023
- 2022Improving Automated Program Repair with Domain Adaptation21 Dec 2022
- 2022Can we learn from developer mistakes? Learning to localize and repair real bugs from real bug fixes1 Jul 2022
- 2021Data-Driven AI Model Signal-Awareness Enhancement and Introspection10 Nov 2021
- 2021A Survey on Machine Learning Techniques for Source Code Analysis18 Oct 2021
- 2021Jointly Learning to Repair Code and Generate Commit Message25 Sep 2021