|
|
Weak Updates and Separation LogicLast modified: Sun Sep 13 17:52:50 2009 GMT. AuthorsGang TanZhong Shao Xinyu Feng Hongxu Cai AbstractSeparation 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 SLW, 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 SLW.Published
|
|
Copyright © 1996-2010 The FLINT Group
<flint at cs dot yale dot edu>
Yale University Department of Computer Science |
colophon |