What is it about?

Finding bugs is good; fixing them is better. Automatic Program Repair (APR) is an important trend in the recent evolution of software verification research, which propose fixes to bugs. Existing APR approaches usually rely heavily on test cases. The issue is that writing test cases is tedious, running them takes much time, and validating a fix through tests does not guarantee its correctness. This paper presents a novel APR approach that takes advantage of program proofs and produces correct fixes efficiently, without the need to run tests or to run the program.

Featured Image

Why is it important?

Compared to the traditional test-based approaches, a proof-based approach to generating fixes has many advantages: it removes the burden of preparing test cases or test harnesses; it reduces the time cost of generating fixes significantly; it provides the guarantee that the fixes that pass the proof are correct. The experimental results show that the present approach can automatically finds and fixes significant historical bugs.

Perspectives

Software plays various roles in our daily lives; programming, the process of producing software, becomes an increasingly important and prevalent experience. We want to provide tools to make such experience more easy, efficient, and enjoyable. I hope the approach presented here might give some insights on how the programming process can be improved with the technique of automatic program repair.

Li Huang
Jacobs University Bremen gGmbH

Read the Original

This page is a summary of: Execution-Free Program Repair, July 2024, ACM (Association for Computing Machinery),
DOI: 10.1145/3663529.3663789.
You can read the full text:

Read

Contributors

The following have contributed to this page