Constraint solving for interpolation

Andrey Rybalchenko, Viorica Sofronie-Stokkermans
2010 Journal of symbolic computation  
Interpolation is an important component of recent methods for program verification. It provides a natural and effective means for computing separation between the sets of 'good' and 'bad' states. The existing algorithms for interpolant generation are proof-based: They require explicit construction of proofs, from which interpolants can be computed. Construction of such proofs is a difficult task. We propose an algorithm for the generation of interpolants for the combined theory of linear
more » ... tic and uninterpreted function symbols that does not require a priori constructed proofs to derive interpolants. It uses a reduction of the problem to constraint solving in linear arithmetic, which allows application of existing highly optimized Linear Programming solvers in black-box fashion. We provide experimental evidence of the practical applicability of our algorithm.
doi:10.1016/j.jsc.2010.06.005 fatcat:5af5n2wizjetje6y4ujp5okhuy