Analysis and Transformation of Constrained Horn Clauses for Program Verification

Emanuele De Angelis, Fabio Fioravanti, John Patrick Gallagher, Manuel V. Hermenegildo, Alberto Pettorossi, Maurizio Proietti

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningpeer review


This paper surveys recent work on applying analysis and transformation techniques that originate in the field of constraint logic programming (CLP) to the problem of verifying software systems. We present specialization-based techniques for translating verification problems for different programming languages, and in general software systems, into satisfiability problems for constrained Horn clauses (CHCs), a term that has become popular in the verification field to refer to CLP programs. Then, we describe static analysis techniques for CHCs that may be used for inferring relevant program properties, such as loop invariants. We also give an overview of some transformation techniques based on specialization and fold/unfold rules, which are useful for improving the effectiveness of CHC satisfiability tools. Finally, we discuss future developments in applying these techniques.
TidsskriftTheory and Practice of Logic Programming
Udgave nummer6
Sider (fra-til)974-1042
Antal sider69
StatusUdgivet - 2022

Citer dette