Model checking for symbolic-heap separation logic with inductive predicates

Brotherston, James and Gorogiannis, Nikos and Kanovich, Max and Rowe, Reuben (2016) Model checking for symbolic-heap separation logic with inductive predicates. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. POPL Principles of Programming Languages . ACM, New York, USA, pp. 84-96. ISBN 978-1-4503-3549-2. (doi:10.1145/2914770.2837621) (KAR id:59465)

 PDF Publisher pdf Language: English Download (448kB) This file may not be suitable for users of assistive technology. Request an accessible format Official URL:http://doi.org/10.1145/2914770.2837621

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: Book section 10.1145/2914770.2837621 Q Science > QA Mathematics (inc Computing science) > QA 9 Formal systems, logics Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing Reuben Rowe 06 Dec 2016 12:14 UTC 23 Apr 2022 22:07 UTC https://kar.kent.ac.uk/id/eprint/59465 (The current URI for this page, for reference purposes)