Implementations of concurrent objects in programming languages should guarantee linearizability and a progress property. These progress properties describe conditions under which a method call is guaranteed to complete. However, they fail to describe how clients are affected, making it difficult to utilize them in layered and modular program verification. Even worse, none of the existing results applies to concurrent objects with partial methods. Progress of Concurrent Objects examines the progress properties of concurrent objects. It formulates each progress property in terms of contextual refinement so that, when verifying clients of the objects, concrete object implementations can be replaced with their abstractions with certainty, achieving modular verification. For concurrent objects with partial methods, two new progress properties, partial starvation-freedom (PSF) and partial deadlock-freedom (PDF) are described. Finally, a rely-guarantee style program logic LiLi for verifying linearizability and progress together for concurrent objects is introduced. This tutorial is intended for use by researchers and students. It surveys the current state of the topic and introduces the reader to recent advances in a tutorial style that makes the topic accessible to newcomers to the field.
ThriftBooks sells millions of used books at the lowest
everyday prices. We personally assess every book's quality and offer rare, out-of-print treasures. We
deliver the joy of reading in recyclable packaging with free standard shipping on US orders over $15.
ThriftBooks.com. Read more. Spend less.