Analysis and Transformation of Constrained Horn Clauses for Program Verification

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...

Full description

Saved in:
Bibliographic Details
Published in:Theory and practice of logic programming Vol. 22; no. 6; pp. 974 - 1042
Main Authors: DE ANGELIS, EMANUELE, FIORAVANTI, FABIO, GALLAGHER, JOHN P., HERMENEGILDO, MANUEL V., PETTOROSSI, ALBERTO, PROIETTI, MAURIZIO
Format: Journal Article
Language:English
Published: Cambridge Cambridge University Press 01.11.2022
Subjects:
ISSN:1471-0684, 1475-3081
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1471-0684
1475-3081
DOI:10.1017/S1471068421000211