Decision Procedures for Region Logic
Region logic is Hoare logic for object-based programs. It features local reasoning with frame conditions expressed in terms of sets of heap locations. This paper studies tableau-based decision procedures for RL, the quantifier-free fragment of the assertion language. This fragment combines sets and (functional) images with the theories of arrays and partial orders. The procedures are of practical interest because they can be integrated efficiently into the satisfiability modulo theories (SMT) framework. We provide a semi-decision procedure for RL and its implementation as a theory plugin inside the SMT solver Z3. We also provide a decision procedure for an expressive fragment of RL termed restricted-RL. We prove that deciding satisfiability of restricted-RL formulas is NP-complete. Both procedures are proven sound and complete. Preliminary performance results indicate that the semi-decision procedure has the potential toscale to large input formulas.
KeywordsDecision Procedure Cardinality Constraint Region Logic Presburger Arithmetic Rule Instance
Unable to display preview. Download preview PDF.
- 3.Banerjee, A., Naumann, D.A., Rosenberg, S.: Local reasoning for global invariants, part I: Region logic. Extended version of , available at  (July 2011)Google Scholar
- 11.Kapur, D., Zarba, C.G.: A reduction approach to decision procedures. Technical report, University of New Mexico (2005)Google Scholar
- 19.Marron, M., Méndez-Lojo, M., Hermenegildo, M.V., Stefanovic, D., Kapur, D.: Sharing analysis of arrays, collections, and recursive structures. In: PASTE, pp. 43–49 (2008)Google Scholar
- 21.Rosenberg, S.: Region Logic: Local Reasoning for Java Programs and its Automation. PhD thesis, Stevens Institute of Technology (June 2011); available at Google Scholar
- 25.Verl: VErifier for Region Logic. Software distribution, at http://www.cs.stevens.edu/~naumann/pub/VERL/
- 28.Zee, K., Kuncak, V., Rinard, M.C.: Full functional verification of linked data structures. In: PLDI, pp. 349–361 (2008)Google Scholar