Challenges in Decomposing Encodings of Verification Problems

Peter Schrammel
(University of Oxford)

Modern program verifiers use logic-based encodings of the verification problem that are discharged by a back end reasoning engine. However, instances of such encodings for large programs can quickly overwhelm these back end solvers. Hence, we need techniques to make the solving process scale to large systems, such as partitioning (divide-and-conquer) and abstraction.

In recent work, we showed how decomposing the formula encoding of a termination analysis can significantly increase efficiency. The analysis generates a sequence of logical formulas with existentially quantified predicates that are solved by a synthesis-based program analysis engine. However, decomposition introduces abstractions in addition to those required for finding the unknown predicates in the formula, and can hence deteriorate precision. We discuss the challenges associated with such decompositions and their interdependencies with the solving process.

In John P. Gallagher and Philipp Rümmer: Proceedings 3rd Workshop on Horn Clauses for Verification and Synthesis (HCVS2016), Eindhoven, The Netherlands, 3rd April 2016, Electronic Proceedings in Theoretical Computer Science 219, pp. 29–32.
Published: 14th July 2016.

ArXived at: http://dx.doi.org/10.4204/EPTCS.219.3 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org