Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Using a formal specification and a model checker to monitor and direct simulation
Proceedings of the 40th annual Design Automation Conference
Atomizer: a dynamic atomicity checker for multithreaded programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Linking Simulation with Formal Verification at a Higher Level
IEEE Design & Test
Online testing with model programs
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
VyrdMC: Driving Runtime Refinement Checking with Model Checkers
Electronic Notes in Theoretical Computer Science (ENTCS)
Multiplexing of partially ordered events
TestCom'05 Proceedings of the 17th IFIP TC6/WG 6.1 international conference on Testing of Communicating Systems
WSCMon: runtime monitoring of web service orchestration based on refinement checking
Service Oriented Computing and Applications
FATES'05 Proceedings of the 5th international conference on Formal Approaches to Software Testing
Hi-index | 0.00 |
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.