The University of Southampton
University of Southampton Institutional Repository

Decidable logics combining heap structures and data

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
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, Austin, United States. 26 - 28 Jan 2011. pp. 611-622 . (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
Download (567kB)

More information

Published date: 2011
Venue - Dates: POPL '11. Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Austin, 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: 14 Mar 2024 10:01

Export record

Altmetrics

Contributors

Author: P. Madhusudan
Author: Gennaro Parlato
Author: Xiaokang Qiu

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

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×