Abstract

Constrained Horn Clauses (CHC) is a fragment of First Order Logic modulo constraints that captures many program verification problems as constraint solving. Safety verification of sequential programs, modular verification of concurrent programs, parametric verification, and modular verification of synchronous transition systems are all naturally captured as a satisfiability problem for CHC modulo theories of arithmetic and arrays. In general, the satisfiability of CHC modulo theory of arithmetic is undecidable. Thus, solving them is a mix of science, art, and a dash of magic. In this tutorial, we explore several aspects of this problem. First, we illustrate how different problems are translated to CHC. Second, we present a framework, called Spacer, that reduces symbolically solving Horn clauses to multiple simpler Satisfiability Modulo Theories, SMT, queries. Third, we describe advances in SMT that are necessary to make the framework a reality.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call