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, Austin, 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, 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