Decidable logics combining heap structures and data

Decidable logics combining heap structures and data

We define a new logic, STRAND, that allows reasoning with heap-manipulating programs using deductive verification and SMT solvers. STRAND logic (“STRucture ANd Data” logic) formulas express constraints involving heap structures and the data they contain; they are defined over a class of pointer-structures R defined using MSO-defined relations over trees, and are of the form ?x?y.?(x, y), where ? is a monadic second-order logic (MSO) formula with additional quantification that combines structural constraints as well as data-constraints, but where the data-constraints are only allowed to refer to x and y. The salient aspects of the logic are: (a) the logic is powerful, allowing existential and universal quantification over the nodes, and complex combinations of data and structural constraints; (b) checking Hoare-triples for linear blocks of statements with pre-conditions and post-conditions expressed as Boolean combinations of existential and universal STRAND formulas reduces to satisfiability of a STRAND formula; (c) there are powerful decidable fragments of STRAND, one semantically defined and one syntactically defined, where the decision procedure works by combining the theory of MSO over trees and the quantifier-free theory of the underlying data-logic. We demonstrate the effectiveness and practicality of the logic by checking verification conditions generated in proving properties of several heap-manipulating programs, using a tool that combines an MSO decision procedure over trees (MONA) with an SMT solver for integer constraints (Z3).

heap analysis, smt solvers, monadic second-order logic, combining decision procedures, automata, decidability

978-1-4503-0490-0

611-622

Madhusudan, P.

8af89366-038f-4a30-9588-61d3f4477b49

Parlato, Gennaro

c28428a0-d3f3-4551-a4b5-b79e410f4923

Qiu, Xiaokang

17a98eac-4de3-42cf-ac6c-1aa0e606d1ee

2011

Madhusudan, P.

8af89366-038f-4a30-9588-61d3f4477b49

Parlato, Gennaro

c28428a0-d3f3-4551-a4b5-b79e410f4923

Qiu, Xiaokang

17a98eac-4de3-42cf-ac6c-1aa0e606d1ee

Madhusudan, P., Parlato, Gennaro and Qiu, Xiaokang
(2011)
Decidable logics combining heap structures and data.
*
POPL '11. Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, United States.
26 - 28 Jan 2011.
*
.
(doi:10.1145/1925844.1926455).

Record type:
Conference or Workshop Item
(Paper)

## Abstract

We define a new logic, STRAND, that allows reasoning with heap-manipulating programs using deductive verification and SMT solvers. STRAND logic (“STRucture ANd Data” logic) formulas express constraints involving heap structures and the data they contain; they are defined over a class of pointer-structures R defined using MSO-defined relations over trees, and are of the form ?x?y.?(x, y), where ? is a monadic second-order logic (MSO) formula with additional quantification that combines structural constraints as well as data-constraints, but where the data-constraints are only allowed to refer to x and y. The salient aspects of the logic are: (a) the logic is powerful, allowing existential and universal quantification over the nodes, and complex combinations of data and structural constraints; (b) checking Hoare-triples for linear blocks of statements with pre-conditions and post-conditions expressed as Boolean combinations of existential and universal STRAND formulas reduces to satisfiability of a STRAND formula; (c) there are powerful decidable fragments of STRAND, one semantically defined and one syntactically defined, where the decision procedure works by combining the theory of MSO over trees and the quantifier-free theory of the underlying data-logic. We demonstrate the effectiveness and practicality of the logic by checking verification conditions generated in proving properties of several heap-manipulating programs, using a tool that combines an MSO decision procedure over trees (MONA) with an SMT solver for integer constraints (Z3).

Text

** popl-strand.pdf
- Accepted Manuscript**
## More information

Published date: 2011

Venue - Dates:
POPL '11. Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, United States, 2011-01-26 - 2011-01-28

Keywords:
heap analysis, smt solvers, monadic second-order logic, combining decision procedures, automata, decidability

Organisations:
Electronic & Software Systems

## Identifiers

Local EPrints ID: 272448

URI: http://eprints.soton.ac.uk/id/eprint/272448

ISBN: 978-1-4503-0490-0

PURE UUID: 210055ae-88e6-4291-bc6f-7d43d751d53a

## Catalogue record

Date deposited: 13 Jun 2011 12:51

Last modified: 16 Dec 2019 20:40

## Export record

## Altmetrics

## Contributors

Author:
P. Madhusudan

Author:
Gennaro Parlato

Author:
Xiaokang Qiu

## University divisions

## Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics