Deductive Program Repair, Computer Aided Verification
We present an approach to program repair and its application to programs with recursive functions over unbounded data types. Our approach formulates program repair in the framework of deductive synthesis that uses existing program structure as a hint to guide synthesis. We introduce a new specification construct for symbolic tests. We rely on such user-specified tests as well as automatically generated ones to localize the fault and speed up synthesis. Our implementation is able to eliminate errors within seconds from a variety of functional programs, including symbolic computation code and implementations of functional data structures. The resulting programs are formally verified by the Leon system.
KneussETAL15DeductiveProgramRepair.pdf
openaccess
331.97 KB
Adobe PDF
8975b0759d84d5d2b54f1e8e4a829cf4