The FLINT Project

Research

People

Publications

Software

Support

Links

Internal

Weak Updates and Separation Logic

Last modified: Sun Sep 13 17:52:50 2009 GMT.

Authors

Gang Tan
Zhong Shao
Xinyu Feng
Hongxu Cai

Abstract

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 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

  • Proc. 7th Asian Symposium on Programming Languages and Systems (APLAS'09), Seoul, Korea, December 2009. Lecture Notes in Computer Science Vol. (TBA), pages (to appear). © 2009 Springer-Verlag.

  • Copyright © 1996-2010 The FLINT Group <flint at cs dot yale dot edu>
    Yale University Department of Computer Science
    Validate this page
    colophon