TY - GEN
T1 - Weak updates and separation logic
AU - Tan, Gang
AU - Shao, Zhong
AU - Feng, Xinyu
AU - Cai, Hongxu
PY - 2009
Y1 - 2009
N2 - Separation Logic (SL) provides a simple but powerful technique for reasoning about imperative programs that use shared data structures. Unfortunately, SL supports only "strong updates", in which mutation to a heap location is safe only if a unique reference is owned. This limits the applicability of SL when reasoning about the interaction between many high-level languages (e.g., ML, Java, C#) and low-level ones since these high-level languages do not support strong updates. Instead, they adopt the discipline of "weak updates", in which there is a global "heap type" to enforce the invariant of type-preserving heap updates. We present SL w, a logic that extends SL with reference types and elegantly reasons about the interaction between strong and weak updates. We also describe a semantic framework for reference types; this framework is used to prove the soundness of SL w.
AB - Separation Logic (SL) provides a simple but powerful technique for reasoning about imperative programs that use shared data structures. Unfortunately, SL supports only "strong updates", in which mutation to a heap location is safe only if a unique reference is owned. This limits the applicability of SL when reasoning about the interaction between many high-level languages (e.g., ML, Java, C#) and low-level ones since these high-level languages do not support strong updates. Instead, they adopt the discipline of "weak updates", in which there is a global "heap type" to enforce the invariant of type-preserving heap updates. We present SL w, a logic that extends SL with reference types and elegantly reasons about the interaction between strong and weak updates. We also describe a semantic framework for reference types; this framework is used to prove the soundness of SL w.
UR - http://www.scopus.com/inward/record.url?scp=72449203593&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=72449203593&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-10672-9_14
DO - 10.1007/978-3-642-10672-9_14
M3 - Conference contribution
AN - SCOPUS:72449203593
SN - 3642106714
SN - 9783642106712
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 178
EP - 193
BT - Programming Languages and Systems - 7th Asian Symposium, APLAS 2009, Proceedings
T2 - 7th Asian Symposium on Programming Languages and Systems, APLAS 2009
Y2 - 14 December 2009 through 16 December 2009
ER -