Title :
Separation Logic in the Presence of Garbage Collection
Author :
Hur, Chung-Kil ; Dreyer, Derek ; Vafeiadis, Viktor
Author_Institution :
Max Planck Inst. for Software Syst. (MPI-SWS), Saarbrucken, Germany
Abstract :
Separation logic has proven to be a highly effective tool for the verification of heap-manipulating programs. However, it has been applied almost exclusively in language settings where either memory is managed manually or the issue of memory management is ignored altogether. In this paper, we present a variant of separation logic, GCSL, for reasoning about low-level programs that interface to a garbage collector. In contrast to prior work by Calcagno et al., our model of GCSL (1) permits reasoning about programs that use internal pointers and address arithmetic, (2) supports logical variables that range over pointers, and (3) validates the "frame" rule, as well as a standard interpretation of separation-logic assertions, without requiring any restrictions on existentially-quantified formulae. Essential to our approach is the technique (due originally to McCreight et al.) of distinguishing between "logical" and "physical" states, which enables us to insulate the logic from the physical reality that pointer "values" may be moved and/or deallocated by the garbage collector.
Keywords :
formal logic; reasoning about programs; storage management; GCSL; address arithmetic; frame rule; garbage collector; heap manipulating program verification; internal pointers; logical variables; low-level programs; memory management; reasoning; separation logic; Cognition; Computer languages; Concrete; Hafnium; Memory management; Resource management; Semantics;
Conference_Titel :
Logic in Computer Science (LICS), 2011 26th Annual IEEE Symposium on
Conference_Location :
Toronto, ON
Print_ISBN :
978-1-4577-0451-2
Electronic_ISBN :
1043-6871
DOI :
10.1109/LICS.2011.46