Skip to main content
Top

Bridging Arrays and ADTs in Recursive Proofs

  • Open Access
  • 2021
  • OriginalPaper
  • Chapter
Published in:
loading …

Abstract

We present an approach to synthesize relational invariants to prove equivalences between object-oriented programs. The approach bridges the gap between recursive data types and arrays that serve to represent internal states. Our relational invariants are recursively-defined, and thus are valid for data structures of unbounded size. Based on introducing recursion into the proofs by observing and lifting the constraints from joint methods of the two objects, our approach is fully automatic and can be seen as an algorithm for solving Constrained Horn Clauses (CHC) of a specific sort. It has been implemented on top of the SMT-based CHC solver AdtChc and evaluated on a range of benchmarks.

Title
Bridging Arrays and ADTs in Recursive Proofs
Authors
Grigory Fedyukovich
Gidon Ernst
Copyright Year
2021
DOI
https://doi.org/10.1007/978-3-030-72013-1_2

Premium Partner

    Image Credits
    Neuer Inhalt/© ITandMEDIA, Nagarro GmbH/© Nagarro GmbH, AvePoint Deutschland GmbH/© AvePoint Deutschland GmbH, AFB Gemeinnützige GmbH/© AFB Gemeinnützige GmbH, USU GmbH/© USU GmbH, Ferrari electronic AG/© Ferrari electronic AG