Model checking for symbolic-heap separation logic with inductive predicates

Brotherston, James, Gorogiannis, Nikos ORCID: https://orcid.org/0000-0001-8660-6609, Kanovich, Max and Rowe, Reuben (2016) Model checking for symbolic-heap separation logic with inductive predicates. Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL 2016. In: POPL 2016: 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 20-22 Jan 2016, St. Petersburg, FL, USA. ISBN 9781450335492. ISSN 1523-2867 [Conference or Workshop Item] (doi:10.1145/2837614.2837621)

[img]
Preview
PDF - Final accepted version (with author's formatting)
Available under License Creative Commons Attribution-NonCommercial.

Download (448kB) | Preview

Abstract

We investigate the *model checking* problem for symbolic-heap separation logic with user-defined inductive predicates, i.e., the problem of checking that a given stack-heap memory state satisfies a given formula in this language, as arises e.g. in software testing or runtime verification. First, we show that the problem is *decidable*; specifically, we present a bottom-up fixed point algorithm that decides the problem and runs in exponential time in the size of the problem instance. Second, we show that, while model checking for the full language is EXPTIME-complete, the problem becomes NP-complete or PTIME-solvable when we impose natural syntactic restrictions on the schemata defining the inductive predicates. We additionally present NP and PTIME algorithms for these restricted fragments. Finally, we report on the experimental performance of our procedures on a variety of specifications extracted from programs, exercising multiple combinations of syntactic restrictions.

Item Type: Conference or Workshop Item (Paper)
Research Areas: A. > School of Science and Technology > Computer Science > Foundations of Computing group
Item ID: 19162
Notes on copyright: Copyright © 2016 Owner/Author. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. January 2016 Pages 84–96https://doi.org/10.1145/2837614.2837621 and ACM SIGPLAN NoticesJanuary 2016 https://doi.org/10.1145/2914770.2837621
Useful Links:
Depositing User: Nikos Gkorogiannis
Date Deposited: 11 Apr 2016 13:07
Last Modified: 13 Jun 2021 23:17
URI: https://eprints.mdx.ac.uk/id/eprint/19162

Actions (login required)

View Item View Item

Statistics

Downloads
Activity Overview
175Downloads
302Hits

Additional statistics are available via IRStats2.