Automated Repair of Java Programs with Random Search via Code Similarity

Heling Cao, Fangzheng Liu, Jianshu Shi, Yonghe Chu, Miaolei Deng · 2021 IEEE 21st International Conference on Software Quality, Reliability and Security Companion (QRS-C) · 2021

Automatic program repair is a cutting-edge research direction in software engineering in recent years. The existing program repair techniques based on genetic programming suffer from requiring verification of a large number of candidate patches, which consume a lot of computational resources. We instead propose Random search via Code Similarity based automate program Repair (RCSRepair). First, we use test filtering and test case prioritization techniques in fault localization to reduce and restructure test cases. Second, a combination of random search and code similarity is used to generate patches. Finally, overfitting detection is performed on the patches that pass the test cases to improve the quality of the patch. The experimental results show that our approach can successfully fix 54 bugs of 224 real-world bugs in Defects4J and has outperform the compared approaches.

Read the paper · More papers on PaperTik