A bisimulation-like proof method for contextual properties in untyped λ-calculus with references and deallocation

Research output: Contribution to journalArticle

2 Citations (Scopus)

Abstract

We develop a general method for proving properties of programs under arbitrary contextsincluding (but not limited to) observational equivalence, space improvement, and a form of memory safety of the programsin untyped call-by-value λ-calculus with first-class, dynamically allocated, higher-order references and deallocation. The method generalizes Sumii et al.'s environmental bisimulation technique, and gives a sound and complete characterization of each proved property, in the sense that the "bisimilarity" (the largest set satisfying the bisimulation-like conditions) equals the set of terms with the property to be proved. We give examples of contextual properties concerning typical data structures such as linked lists, binary search trees, and directed acyclic graphs with reference counts, all with deletion operations that release memory. This shows the scalability of the environmental approach from contextual equivalence to other binary relations (such as space improvement) and unary predicates (such as memory safety), as well as to languages with non-monotone store.

Original languageEnglish
Pages (from-to)4358-4378
Number of pages21
JournalTheoretical Computer Science
Volume411
Issue number51-52
DOIs
Publication statusPublished - 2010 Dec 4

Keywords

  • Contextual equivalence
  • Environmental bisimulation
  • Local memory safety
  • Memory management and deallocation

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'A bisimulation-like proof method for contextual properties in untyped λ-calculus with references and deallocation'. Together they form a unique fingerprint.

  • Cite this