A Novel Co-evolutionary Approach to Automatic Software Bug Fixing

被引:129
作者
Arcuri, Andrea [1 ]
Yao, Xin [1 ]
机构
[1] Univ Birmingham, Sch Comp Sci, CERCIA, Birmingham B15 2TT, W Midlands, England
来源
2008 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-8 | 2008年
关键词
D O I
10.1109/CEC.2008.4630793
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Many tasks in Software Engineering are very expensive, and that has led the investigation to how to automate them. In particular, Software Testing can take up to half of the resources of the development of new software. Although there has been a lot of work on automating the testing phase, fixing a bug after its presence has been discovered is still a duty of the programmers. In this paper we propose an evolutionary approach to automate the task of fixing bugs. This novel evolutionary approach is based on Co-evolution, in which programs and test cases co-evolve, influencing each other with the aim of fixing the bugs of the programs. This competitive co-evolution is similar to what happens in nature for predators and prey. The user needs only to provide a buggy program and a formal specification of it. No other information is required. Hence, the approach may work for any implementable software. We show some preliminary experiments in which bugs in an implementation of a sorting algorithm are automatically fixed.
引用
收藏
页码:162 / 168
页数:7
相关论文
共 31 条
[1]  
Adamopoulos K, 2004, LECT NOTES COMPUT SC, V3103, P1338
[2]  
[Anonymous], P EUR C GEN PROGR EU
[3]  
[Anonymous], IEEE COMPUTER
[4]  
[Anonymous], THESIS U MARYLAND
[5]  
[Anonymous], P INT C IND ENG APPL
[6]  
ARCURI A, 2008, IEEE INT C IN PRESS
[7]  
Arcuri Andrea., 2007, IEEE INT C AUTOMATED, P397
[8]  
AUGUSTON M, 2002, IEEE INT C AUT SOFTW, P217
[9]  
Beizer B., 2003, Software Testing Techniques
[10]  
Cormen T. H., 2001, Introduction to Algorithms, V2nd, DOI DOI 10.1145/963770.963776