• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

ILC: A Foundation for Automated Reasoning About Pointer Programs (2005)

Cached

  • Download as a PDF

Download Links

  • [www.cs.princeton.edu]
  • [www.andrew.cmu.edu]
  • [www.seas.upenn.edu]
  • [www.cs.princeton.edu]
  • [www.andrew.cmu.edu]
  • [www.seas.upenn.edu]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Limin Jia , David Walker
Citations:13 - 3 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Jia05ilc:a,
    author = {Limin Jia and David Walker},
    title = { ILC: A Foundation for Automated Reasoning About Pointer Programs},
    year = {2005}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

This paper shows how to use Girard’s intuitionistic linear logic extended with arithmetic or other constraints to reason about pointer programs. More specifically, first, the paper defines the proof theory for ILC (Intuitionistic Linear logic with Constraints) and shows it is consistent via a proof of cut elimination. Second, inspired by prior work of O’Hearn, Reynolds and Yang, the paper explains how to interpret linear logical formulas as descriptions of a program store. Third, we define a simple imperative programming language with mutable references and arrays and give verification condition generation rules that produce assertions in ILC. Finally, we identify a fragment of ILC, ILC − , that is both decidable and closed under generation of verification conditions. In other words, if loop invariants are specified in ILC − , then the resulting verification conditions are also in ILC −. Since verification condition generation is syntax-directed, we obtain a decidable procedure for checking properties of pointer programs.

Citations

1016 Proof-carrying code - Necula - 1997
583 Separation logic: A logic for shared mutable data structures. Symp. on Logic in - Reynolds - 1994
557 From system F to typed assembly language - Morrisett, Walker, et al. - 1999
455 Extended static checking for Java - Flanagan, Leino, et al.
381 The Spec# programming system: An overview - Barnett, Leino, et al. - 2004
381 Safe Kernel Extensions without Run-time Checking - Necula, Lee
347 Enforcing high-level protocols in low-level software - DeLine, Fähndrich - 2001
322 Flow-sensitive type qualifiers - Foster, Terauchi, et al. - 2002
283 Logic Programming in a Fragment of Intuitionistic Linear Logic - Hodas, Miller - 1994
269 Region-based memory management - Tofte, Talpin - 1997
237 H.: Local Reasoning about Programs that Alter Data Structures - O’Hearn, Reynolds, et al. - 2001
203 A Linear Logical Framework - CERVESATO, PFENNING - 2002
184 CVCLite: A new implementation of the cooperating validity checker category b - Barrett, Berezin
162 Eliminating Array Bound Checking Through Dependent Types - Xi, Pfenning - 1998
157 Alias types - Smith, Walker, et al. - 2000
148 as an assertion language for mutable data structures - BI - 2001
121 P.: BI as an assertion language for mutable data structures - Ishtiaq, O’Hearn - 2001
85 Decision problems for propositional linear logic - Lincoln, Mitchell, et al. - 1992
84 Forum: A Multiple-Conclusion Meta-Logic - Miller - 1996
84 P.W.: Symbolic Execution with Separation Logic - Berdine, Calcagno, et al.
71 An overview of the Extended Static Checking system - Detlefs - 1996
57 The Collected Papers of Gerhard Gentzen - Gentzen - 1969
56 A decidable fragment of separation logic - Berdine, Calcagno, et al. - 2004
56 2003): An Effective Theory of Type Refinements - Mandelbaum, Walker, et al.
41 Computability and Complexity Results for a Spatial Assertion Language for Data Structures - Calcagno, Yang, et al. - 2001
37 Monadic Concurrent Linear Logic Programming - López, Pfenning, et al. - 2005
27 A Concurrent Logical Framework: The Propositional Fragment - Watkins, Cervesato, et al.
26 On Bunched Typing - O’Hearn
24 Safe programming with pointers through stateful views - Zhu, Xi
23 Reasoning about hierarchical storage - Ahmed, Jia, et al. - 2003
22 L 3 : A Linear Language with Locations - Ahmed, Fluet, et al.
22 The logical approach to stack typing - Ahmed, Walker - 2003
15 Certifying compilation for a language with stack allocation - Spalding, Walker - 2005
7 MetaPRL — A modular logical environment - Hickey, Nogin, et al. - 2003
6 First-Order Linear Logic Without Modalities is NEXPTIME-Hard - Lincoln, Scedrov - 1994
3 A focusing inverse method prover for first-order linear logic - Chaudhuri, Pfenning - 2005
2 Putting program analysis to work at Microsoft (2005 - Yang - 1996
1 for Java. Cormac Flanagan and Rustan Leino and Mark Lillibridge and Greg Nelson and James Saxes and Raymie Stata - C - 2002
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University