Title
An Assessment of the Quality of Automated Program Operator Repair
Abstract
Automated program repair (APR) techniques fix faults by repeatedly modifying suspicious code until a program passes a set of test cases. Although generating a repair is the goal of APR, a repair can have negative consequences. The quality of a repair is reduced when the repair introduces new faults and/or degrades maintainability by adding irrelevant but functionally benign code. We used two APR approaches to repair faulty binary operators: (1) find a repair in existing code by applying a genetic algorithm to replace suspicious code with other existing code as done by GenProg, and (2) mutate suspicious operators within a genetic algorithm. Mutating operators was clearly more effective in repairing faulty operators than using existing code for a repair. We also evaluated the approaches in terms of two potential negative effects: (1) the introduction of new faults and (2) a reduction of program maintainability. We found that repair processes that use tests that satisfy branch coverage reduce the number of new faults. In contrast, repair processes using tests that satisfy statement coverage and randomly generated tests introduce numerous new faults. We also demonstrate that a mutation based repair process produces repairs that should be more maintainable compared to those produced using existing code.
Year
DOI
Venue
2014
10.1109/ICST.2014.40
Software Testing, Verification and Validation
Keywords
Field
DocType
automated program repair, repair maintainability, repair quality, test coverage,test coverage
Code coverage,Computer science,Test case,Operator (computer programming),Reliability engineering,Genetic algorithm,Binary operation,Maintainability
Conference
Citations 
PageRank 
References 
5
0.44
20
Authors
2
Name
Order
Citations
PageRank
Fatmah Yousef Assiri1111.17
James M. Bieman21237121.36