Runtime Refinement Checking of Concurrent Data Structures

Serdar Tasiran, Shaz Qadeer
2005 Electronical Notes in Theoretical Computer Science  
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 information 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
more » ... vel 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 [1], a distributed implementation of a B-link tree data structure.
doi:10.1016/j.entcs.2004.01.028 fatcat:wwimli4yqvdsredchiabgzi45u