Title
Using a probabilistic model to predict bug fixes
Abstract
Automatic Software Repair (APR) has significant potential to reduce software maintenance costs by reducing the human effort required to localize and fix bugs. State-of-the-art generate-and-validate APR techniques select between and instantiate various mutation operators to construct candidate patches, informed largely by heuristic probability distributions. This may reduce effectiveness in terms of both efficiency and output quality. In practice, human developers have many options in terms of how to edit code to fix bugs, some of which are far more common than others (e.g., deleting a line of code is more common than adding a new class). We mined the most recent 100 bug-fixing commits from each of the 500 most popular Java projects in GitHub (the largest dataset to date) to create a probabilistic model describing edit distributions. We categorize, compare and evaluate the different mutation operators used in state-of-the-art approaches. We find that a probabilistic modelbased APR approach patches bugs more quickly in the majority of bugs studied, and that the resulting patches are of higher quality than those produced by previous approaches. Finally, we mine association rules for multi-edit source code changes, an understudied but important problem. We validate the association rules by analyzing how much of our corpus can be built from them. Our evaluation indicates that 84.6% of the multi-edit patches from the corpus can be built from the association rules, while maintaining 90% confidence.
Year
DOI
Venue
2018
10.1109/SANER.2018.8330211
2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)
Keywords
Field
DocType
edit distributions,association rules,multiedit source code changes,multiedit patches,probabilistic model,bug fixes,software maintenance costs,generate- validate APR techniques,heuristic probability distributions,mutation operators,Java projects,probabilistic model-based APR approach,automatic software repair,bug-fixing commits
Heuristic,Source code,Computer science,Software bug,Software,Association rule learning,Artificial intelligence,Probabilistic logic,Software maintenance,Java,Machine learning
Conference
ISBN
Citations 
PageRank 
978-1-5386-4970-1
6
0.41
References 
Authors
24
2
Name
Order
Citations
PageRank
Mauricio Soto1191.93
Claire Le Goues2176668.79