ACM Home Page
Please provide us with feedback. Feedback
Cyclic proofs of program termination in separation logic
Full text PdfPdf (1.68 MB)
Source
Annual Symposium on Principles of Programming Languages archive
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, USA
SESSION: Session 3 table of contents
Pages 101-112  
Year of Publication: 2008
ISBN:978-1-59593-689-9
Also published in ...
Authors
James Brotherston  Imperial College London, London, United Kingdom
Richard Bornat  Middlesex University, London, United Kingdom
Cristiano Calcagno  Imperial College London, London, United Kingdom
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 76,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1328438.1328453
What is a DOI?

ABSTRACT

We propose a novel approach to proving the termination of heap-manipulating programs, which combines separation logic with cyclic proof within a Hoare-style proof system.Judgements in this system express (guaranteed) termination of the program when started from a given line in the program and in a state satisfying a given precondition, which is expressed as a formula of separation logic. The proof rules of our system are of two types: logical rules that operate on preconditions; and symbolic execution rules that capture the effect of executing program commands.

Our logical preconditions employ inductively defined predicates to describe heap properties, and proofs in our system are cyclic proofs: cyclic derivations in which some inductive predicate is unfolded infinitely often along every infinite path, thus allowing us to discard all infinite paths in the proof by an infinite descent argument. Moreover, the use of this soundness condition enables us to avoid the explicit construction and use of ranking functions for termination. We also give a completeness result for our system, which is relative in that it relies upon completeness of a proof system for logical implications in separation logic. We give examples illustrating our approach, including one example for which thecorresponding ranking function is non-obvious: termination of the classical algorithm for in-place reversal of a (possibly cyclic) linked list.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Peter Aczel. An introduction to inductive definitions. In Jon Barwise, editor, Handbook of Mathematical Logic, pages 739--782. N-H, 1977.
 
2
Amir M. Ben-Amram and Chin Soon Lee. Ranking functions for size change termination II. Presented at (Hofbauer and Serebrenik 2007), 2007.
 
3
J. Berdine, C. Calcagno, and P.W. O'Hearn. Symbolic execution with separation logic. In APLAS 2005, volume 3780 of LNCS, pages 52--68, 2005.
 
4
J. Berdine, C. Calcagno, and P.W. O'Hearn. Smallfoot: Automatic modular assertion checking with separation logic. In FMCO, volume 4111 of LNCS, pages 115--137, 2006a.
 
5
J. Berdine, B. Cook, D. Distefano, and P. O'Hearn. Automatic termination proofs for programs with shape-shifting heaps. In CAV, volume 4144 of LNCS, pages 386--400, 2006b.
6
 
7
Richard Bornat, Cristiano Calcagno, and Peter O'Hearn. Local reasoning, separation and aliasing. In SPACE Workshop, 2004.
 
8
James Brotherston. Cyclic proofs for first-order logic with inductive definitions. In B. Beckert, editor, TABLEAUX 2005, volume 3702 of LNAI, pages 78--92. Springer-Verlag, 2005.
 
9
James Brotherston. Formalised inductive reasoning in the logic of bunched implications. In SAS-14, volume 4634 of LNCS, pages 87--103. Springer-Verlag, August 2007.
 
10
James Brotherston. Sequent Calculus Proof Systems for Inductive Definitions. PhD thesis, University of Edinburgh, November 2006.
 
11
 
12
C. Calcagno, D. Distefano, P.W. O'Hearn, and H. Yang. Beyond reachability: Shape abstraction in the presence of pointer arithmetic. In SAS, volume 4134 of LNCS, pages 182--203, 2006.
 
13
D. Distefano, P. O'Hearn, and H. Yang. A local shape analysis based on separation logic. In TACAS, volume 3920 of LNCS, pages 287--302, 2006.
14
 
15
Dieter Hofbauer and Alexander Serebrenik. The 9th international workshop on termination. Paris, France, 2007.
16
 
17
O. Lee, H. Yang, and K. Yi. Automatic verification of pointer programs using grammar-based shape analysis. In ESOP, volume 3444 of LNCS, pages 124--140, 2005.
 
18
Per Martin-Löf. Haupstatz for the intuitionistic theory of iterated inductive definitions. In J.E. Fenstad, editor, Proceedings of the Second Scandinavian Logic Symposium, pages 179--216. N-H, 1971.
 
19
P. W. O'Hearn and D. J. Pym. The logic of bunched implications. Bulletin of Symbolic Logic, 5(2):215--244, June 99.
 
20
21
 
22
 
23
Christoph Sprenger and Mads Dam. On the structure of inductive reasoning: circular and tree-shaped proofs in the μ-calculus. In FOSSACS 2003, volume 2620 of LNCS, pages 425--440, 2003.
24
 
25

Collaborative Colleagues:
James Brotherston: colleagues
Richard Bornat: colleagues
Cristiano Calcagno: colleagues