@inproceedings{e65f7c8475ad4fe49cd2b2c9643e916d,
title = "Automated fixing of programs with contracts",
abstract = "In program debugging, finding a failing run is only the first step; what about correcting the fault? Can we automate the second task as well as the first? The AutoFix-E tool automatically generates and validates fixes for software faults. The key insights behind AutoFix-E are to rely on contracts present in the software to ensure that the proposed fixes are semantically sound, and on state diagrams using an abstract notion of state based on the boolean queries of a class. Out of 42 faults found by an automatic testing tool in two widely used Eiffel libraries, AutoFix-E proposes successful fixes for 16 faults. Submitting some of these faults to experts shows that several of the proposed fixes are identical or close to fixes proposed by humans.",
keywords = "Automated debugging, Automatic fixing, Dynamic invariants, Program synthesis",
author = "Wei Yi and Pei Yu and Furia, {Carlo A.} and Silva, {Lucas S.} and Stefan Buchholz and Bertrand Meyer and Andreas Zeller",
year = "2010",
month = aug,
day = "27",
doi = "10.1145/1831708.1831716",
language = "English",
isbn = "9781605588230",
series = "ISSTA'10 - Proceedings of the 2010 International Symposium on Software Testing and Analysis",
pages = "61--71",
booktitle = "ISSTA'10 - Proceedings of the 2010 International Symposium on Software Testing and Analysis",
note = "19th International Symposium on Software Testing and Analysis, ISSTA 2010 ; Conference date: 12-07-2010 Through 16-07-2010",
}