Yesterday, my program worked. Today, it does not. Why?
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices
Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices
Leveraging Legacy System Dollars for E-Business
IT Professional
Generating Software Test Data by Evolution
IEEE Transactions on Software Engineering
Empirical evaluation of the tarantula automatic fault-localization technique
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
diffX: an algorithm to detect changes in multi-version XML documents
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Evolutionary unit testing of object-oriented software using strongly-typed genetic programming
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Proceedings of the 5th international conference on Generative programming and component engineering
The Current State and Future of Search Based Software Engineering
FOSE '07 2007 Future of Software Engineering
Finding safety errors with ACO
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Staffing a software project: A constraint satisfaction and optimization-based approach
Computers and Operations Research
Automatically finding patches using genetic programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
A genetic programming approach to automated software repair
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
Genetic programming in the wild: evolving unrestricted bytecode
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
A study of cross-validation and bootstrap for accuracy estimation and model selection
IJCAI'95 Proceedings of the 14th international joint conference on Artificial intelligence - Volume 2
Using Mutation to Automatically Suggest Fixes for Faulty Programs
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
Designing better fitness functions for automated program repair
Proceedings of the 12th annual conference on Genetic and evolutionary computation
Automated program repair through the evolution of assembly code
Proceedings of the IEEE/ACM international conference on Automated software engineering
Efficient multi-objective higher order mutation testing with genetic programming
Journal of Systems and Software
Evolutionary repair of faulty software
Applied Soft Computing
Evolving patches for software repair
Proceedings of the 13th annual conference on Genetic and evolutionary computation
Genetic programming for shader simplification
Proceedings of the 2011 SIGGRAPH Asia Conference
GenProg: A Generic Method for Automatic Software Repair
IEEE Transactions on Software Engineering
Flight of the FINCH Through the Java Wilderness
IEEE Transactions on Evolutionary Computation
Evolutionary Improvement of Programs
IEEE Transactions on Evolutionary Computation
A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each
Proceedings of the 34th International Conference on Software Engineering
Current challenges in automatic software repair
Software Quality Control
Hi-index | 0.00 |
Evolutionary computation is a promising technique for automating time-consuming and expensive software maintenance tasks, including bug repair. The success of this approach, however, depends at least partially on the choice of representation, fitness function, and operators. Previous work on evolutionary software repair has employed different approaches, but they have not yet been evaluated in depth. This paper investigates representation and operator choices for source-level evolutionary program repair in the GenProg framework [17], focusing on: (1) representation of individual variants, (2) crossover design, (3) mutation operators, and (4) search space definition. We evaluate empirically on a dataset comprising 8 C programs totaling over 5.1 million lines of code and containing 105 reproducible, human-confirmed defects. Our results provide concrete suggestions for operator and representation design choices for evolutionary program repair. When augmented to incorporate these suggestions, GenProg repairs 5 additional bugs (60 vs. 55 out of 105), with a decrease in repair time of 17-43% for the more difficult repair searches.