DocumentCode :
660568
Title :
Leveraging program equivalence for adaptive program repair: Models and first results
Author :
Weimer, Westley ; Fry, Zachary P. ; Forrest, Stephen
Author_Institution :
Comput. Sci. Dept., Univ. of Virginia, Charlottesville, VA, USA
fYear :
2013
fDate :
11-15 Nov. 2013
Firstpage :
356
Lastpage :
366
Abstract :
Software bugs remain a compelling problem. Automated program repair is a promising approach for reducing cost, and many methods have recently demonstrated positive results. However, success on any particular bug is variable, as is the cost to find a repair. This paper focuses on generate-and-validate repair methods that enumerate candidate repairs and use test cases to define correct behavior. We formalize repair cost in terms of test executions, which dominate most test-based repair algorithms. Insights from this model lead to a novel deterministic repair algorithm that computes a patch quotient space with respect to an approximate semantic equivalence relation. This allows syntactic and dataflow analysis techniques to dramatically reduce the repair search space. Generate-and-validate program repair is shown to be a dual of mutation testing, suggesting several possible cross-fertilizations. Evaluating on 105 real-world bugs in programs totaling 5MLOC and involving 10,000 tests, our new algorithm requires an order-of-magnitude fewer test evaluations than the previous state-of-the-art and is over three times more efficient monetarily.
Keywords :
cost reduction; data flow analysis; deterministic algorithms; program debugging; program testing; software maintenance; adaptive program repair; approximate semantic equivalence relation; automated program repair; cost reduction; cross-fertilizations; dataflow analysis techniques; deterministic repair algorithm; generate-and-validate program repair methods; mutation testing; patch quotient space; program equivalence; repair cost; repair search space reduction; software bugs; syntactic analysis techniques; test cases; test-based repair algorithms; Adaptation models; Algorithm design and analysis; Approximation algorithms; Maintenance engineering; Optimization; Search problems; Testing; Automated program repair; mutation testing; program equivalence; search-based software engineering;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on
Conference_Location :
Silicon Valley, CA
Type :
conf
DOI :
10.1109/ASE.2013.6693094
Filename :
6693094
Link To Document :
بازگشت