The strength of random search on automated program repair

Yuhua Qi, Xiaoguang Mao, Yan Lei, Ziying Dai, Chengsong Wang
2014 Proceedings of the 36th International Conference on Software Engineering - ICSE 2014  
Automated program repair recently received considerable attentions, and many techniques on this research area have been proposed. Among them, two genetic-programmingbased techniques, GenProg and Par, have shown the promising results. In particular, GenProg has been used as the baseline technique to check the repair effectiveness of new techniques in much literature. Although GenProg and Par have shown their strong ability of fixing real-life bugs in nontrivial programs, to what extent GenProg
more » ... d Par can benefit from genetic programming, used by them to guide the patch search process, is still unknown. To address the question, we present a new automated repair technique using random search, which is commonly considered much simpler than genetic programming, and implement a prototype tool called RSRepair. Experiment on 7 programs with 24 versions shipping with real-life bugs suggests that RSRepair, in most cases (23/24), outperforms GenProg in terms of both repair effectiveness (requiring fewer patch trials) and efficiency (requiring fewer test case executions), justifying the stronger strength of random search over genetic programming. According to experimental results, we suggest that every proposed technique using optimization algorithm should check its effectiveness by comparing it with random search.
doi:10.1145/2568225.2568254 dblp:conf/icse/QiMLDW14 fatcat:ypziwjbktjfmhdikmhurxqex2y