Program Repair by Stepwise Correctness Enhancement
Nafi Diallo (NJIT, Newark NJ), Wided Ghardallou (FST, Tunis, Tunisia),, Ali Mili (NJIT, Newark NJ)

TL;DR
This paper introduces a stepwise approach to program repair based on relative correctness, emphasizing testing for relative correctness during fault removal rather than absolute correctness, supported by analytical and empirical evidence.
Contribution
It proposes a novel method of program repair that incrementally improves correctness through relative correctness, offering a new perspective on testing and fault removal.
Findings
Faults are removed in a stepwise manner as relative correctness improves.
Testing for relative correctness guides more effective fault removal.
Empirical results show progressive correctness enhancement in a small program.
Abstract
Relative correctness is the property of a program to be more-correct than another with respect to a given specification. Whereas the traditional definition of (absolute) correctness divides candidate program into two classes (correct, and incorrect), relative correctness arranges candidate programs on the richer structure of a partial ordering. In other venues we discuss the impact of relative correctness on program derivation, and on program verification. In this paper, we discuss the impact of relative correctness on program testing; specifically, we argue that when we remove a fault from a program, we ought to test the new program for relative correctness over the old program, rather than for absolute correctness. We present analytical arguments to support our position, as well as an empirical argument in the form of a small program whose faults are removed in a stepwise manner as…
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.
