Automated Fixing of Programs with Contracts
Not on the map. Why?
Abstract (arXiv)
This paper describes AutoFix, an automatic debugging technique that can fix faults in general-purpose software. To provide high-quality fix suggestions and to enable automation of the whole debugging process, AutoFix relies on the presence of simple specification elements in the form of contracts (such as pre- and postconditions). Using contracts enhances the precision of dynamic analysis techniques for fault detection and localization, and for validating fixes. The only required user input to the AutoFix supporting tool is then a faulty program annotated with contracts; the tool produces a collection of validated fixes for the fault ranked according to an estimate of their suitability. In an extensive experimental evaluation, we applied AutoFix to over 200 faults in four code bases of different maturity and quality (of implementation and of contracts). AutoFix successfully fixed 42% of the faults, producing, in the majority of cases, corrections of quality comparable to those competent programmers would write; the used computational resources were modest, with an average time per fix below 20 minutes on commodity hardware. These figures compare favorably to the state of the art in automated program fixing, and demonstrate that the AutoFix approach is successfully applicable to reduce the debugging burden in real-world scenarios.
Key facts. Cited by 4 papers in the map (data through 14 Oct 2026). First posted on arXiv 5 Mar 2014.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2023: 1; 2024: 2; 2025: 0; 2026: 1.
4 papers.
- 2023What Kinds of Contracts Do ML APIs Need?cited by 2
- 2024NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repaircited by 0
- 2024MergeRepair: An Exploratory Study on Merging Task-Specific Adapters in Code LLMs for Automated Program Repaircited by 0
- 2026A Metamorphic Testing Approach to Diagnosing Memorization in LLM-Based Program Repaircited by 0
- 2026A Metamorphic Testing Approach to Diagnosing Memorization in LLM-Based Program Repair23 Apr 2026
- 2024MergeRepair: An Exploratory Study on Merging Task-Specific Adapters in Code LLMs for Automated Program Repair18 Aug 2024
- 2024NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repair24 Jun 2024
- 2023What Kinds of Contracts Do ML APIs Need?26 Jul 2023