Carnegie Mellon University
Browse

Verifying atomic data types

Download (1.44 MB)
journal contribution
posted on 2001-06-01, 00:00 authored by Jeannette Marie. Wing
Abstract: "Atomic transactions are a widely-accepted technique for organizing computation in fault-tolerant distributed systems. In most languages and systems based on transactions, atomicity is implemented through atomic objects, typed data objects that provide their own synchronization and recovery. Hence, atomicity is the key correctness condition required of a data type implementation. This paper presents a technique for verifying the correctness of implementations of atomic data types. The novel aspect of this technique is the extension of Hoare's abstraction function to map to a set of sequences of abstract operations, not just to a single abstract value. We give an example of a proof for an atomic queue implemented in a real programming language, Avalon/C++."

History

Date

2001-06-01