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 verification system, together with the Parma Polyhedra Library (PPL) and the Z3 solver for CHCs.

De Angelis, E., Fioravanti, F., Pettorossi, A., Proietti, M. (2018). Predicate Pairing with Abstraction for Relational Verification. In Logic-Based Program Synthesis and Transformation (pp.289-305). Springer Verlag [10.1007/978-3-319-94460-9_17].

Predicate Pairing with Abstraction for Relational Verification

Alberto Pettorossi
;
2018-01-01

Abstract

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 verification system, together with the Parma Polyhedra Library (PPL) and the Z3 solver for CHCs.
International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR 2017
Rilevanza internazionale
contributo
2018
Settore ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
English
Intervento a convegno
De Angelis, E., Fioravanti, F., Pettorossi, A., Proietti, M. (2018). Predicate Pairing with Abstraction for Relational Verification. In Logic-Based Program Synthesis and Transformation (pp.289-305). Springer Verlag [10.1007/978-3-319-94460-9_17].
De Angelis, E; Fioravanti, F; Pettorossi, A; Proietti, M
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2108/201389
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? 0
social impact