Generalizing specific-instance interpolation proofs with SyGuS

Published: 01 Jan 2018, Last Modified: 10 Dec 2024ICSE (NIER) 2018EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: Proving correctness1 of programs is a challenging task, and consequently has been the focus of a lot of research. One way to break this problem down is to look at one execution path of the program, argue for its correctness, and see if the argument extends to the entire program. However, that may not often be the case, i.e. the proof of a given instance can be overly specific. In this paper, we propose a technique to generalize from such specific-instance proofs, to derive a correctness argument for the entire program. The individual proofs are obtained from an off-the-shelf interpolating prover, and we use Syntax-Guided Synthesis (SyGuS) to generalize the facts that constitute those proofs. Our initial experiment with a prototype tool shows that there is a lot of scope to guide the generalization engine to converge to a proof very quickly.
Loading