TY - GEN
T1 - A theory of non-monotone memory (or: Contexts for free)
AU - Sumii, Eijiro
PY - 2009
Y1 - 2009
N2 - We develop a general method of proving contextual properties-including (but not limited to) observational equivalence, space improvement,and memory safety under arbitrary contexts-for programs in untyped call-by-value ?-calculus with first-class, higher-order references(ref, := and !) and deallocation (free). The method significantly generalizes Sumii et al.'s environmental bisimulation technique, and gives a sound and complete characterization of each proved property, in thesense 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, where Kripke-style logical relations have difficulties.
AB - We develop a general method of proving contextual properties-including (but not limited to) observational equivalence, space improvement,and memory safety under arbitrary contexts-for programs in untyped call-by-value ?-calculus with first-class, higher-order references(ref, := and !) and deallocation (free). The method significantly generalizes Sumii et al.'s environmental bisimulation technique, and gives a sound and complete characterization of each proved property, in thesense 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, where Kripke-style logical relations have difficulties.
UR - http://www.scopus.com/inward/record.url?scp=67650137765&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=67650137765&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-00590-9_18
DO - 10.1007/978-3-642-00590-9_18
M3 - Conference contribution
AN - SCOPUS:67650137765
SN - 9783642005893
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 237
EP - 251
BT - Programming Languages and Systems - 18th European Symposium on Programming, ESOP 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, Proceedings
T2 - 18th European Symposium on Programming, ESOP 2009
Y2 - 22 March 2009 through 29 March 2009
ER -