LOSESep 14, 2017

Enhancing Predicate Pairing with Abstraction for Relational Verification

arXiv:1709.04809v11 citations
Originality Synthesis-oriented
AI Analysis

This work addresses relational verification for program analysis, but it is incremental as it builds on existing predicate pairing methods.

The paper tackles the problem of enhancing relational verification by improving predicate pairing with abstract domains based on linear arithmetic, resulting in experiments on over a hundred problems using tools like VeriMAP, PPL, and Z3.

Relational verification is a technique that aims at proving properties that relate two different program fragments, or two different program runs. It has been shown that constrained Horn clauses (CHCs) can effectively be used for relational verification by applying a CHC transformation, called predicate pairing, which allows the CHC solver to infer relations among arguments of different predicates. In this paper we study how the effects of the predicate pairing transformation can be enhanced by using various abstract domains based on linear arithmetic (i.e., the domain of convex polyhedra and some of its subdomains) during the transformation. After presenting an algorithm for predicate pairing with abstraction, we report on the experiments we have performed on over a hundred relational verification problems by using various abstract domains. The experiments have been performed by using the VeriMAP transformation and verification system, together with the Parma Polyhedra Library (PPL) and the Z3 solver for CHCs.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes