Code-based Automated Program Fixing
Yu Pei, Yi Wei, Carlo A. Furia, Martin Nordio, and Bertrand Meyer

TL;DR
This paper introduces AutoFix-E2, a novel automatic program fixing approach that leverages code contracts and dynamic analysis to generate high-quality bug fixes across diverse software applications.
Contribution
It presents AutoFix-E2, a new method that improves automatic bug fixing by integrating contracts and dynamic analysis, extending applicability beyond specialized domains.
Findings
AutoFix-E2 outperforms previous model-based techniques.
Application to general-purpose software demonstrates broad effectiveness.
The approach enhances fix quality and applicability.
Abstract
Many programmers, when they encounter an error, would like to have the benefit of automatic fix suggestions---as long as they are, most of the time, adequate. Initial research in this direction has generally limited itself to specific areas, such as data structure classes with carefully designed interfaces, and relied on simple approaches. To provide high-quality fix suggestions in a broad area of applicability, the present work relies on the presence of contracts in the code, and on the availability of dynamic analysis to gather evidence on the values taken by expressions derived from the program text. The ideas have been built into the AutoFix-E2 automatic fix generator. Applications of AutoFix-E2 to general-purpose software, such as a library to manipulate documents, show that the approach provides an improvement over previous techniques, in particular purely model-based approaches.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
