Runtime Refinement Checking of Concurrent Data Structures

https://doi.org/10.1016/j.entcs.2004.01.028Get rights and content
Under a Creative Commons license
open access

Abstract

We present a runtime technique for checking that a concurrent implementation of a data structure conforms to a high-level executable specification with atomic operations. The technique consists of two phases. In the first phase, the implementation code is instrumented in order to record informa- tion about its execution into a log. In the second phase, a verification thread runs concurrently with the implementation and uses the logged information to check that the execution conforms to the high-level specification. We pay special attention to reducing the impact of the runtime analysis on the concurrency characteristics and performance of the implementation. We are currently applying our technique to Boxwood [http://research.microsoft.com/research/sv/Boxwood], a distributed implementation of a B-link tree data structure.

Keywords

Runtime verification
concurrent data structures
refinement
atomicity

Cited by (0)