2018 · 31 citations · 46 references
ComputingComputer ScienceQuality AssuranceQuality ImprovementSoftware EngineeringSoftware MaintenanceSoftware Quality AssuranceAutomated Patch GenerationAutomated Program RepairBug FixingBug LocalizationMutationPatch MiningProgram RepairSoftware Maintenance Process
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.
46
Artificial intelligence: a modern approach
Choice Reviews Online · 1995 · 22.2K citations · Full text
A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection
Ron Kohavi · 1995 · 10.7K citations · Full text
Artificial intelligence: A modern approach
Nils J. Nilsson · Artificial Intelligence · 1996 · 10.7K citations