How to observe interoperability at the service level of protocols
IWPTS '94 7th IFIP WG 6.1 international workshop on Protocol test systems
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Antipattern-Based Detection of Deficiencies in Java Multithreaded Software
QSIC '04 Proceedings of the Quality Software, Fourth International Conference
Theoretical Computer Science - Formal methods for components and objects
Runtime Refinement Checking of Concurrent Data Structures
Electronic Notes in Theoretical Computer Science (ENTCS)
An automata-based approach to property testing in event traces
TestCom'03 Proceedings of the 15th IFIP international conference on Testing of communicating systems
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
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
Model-based testing of object-oriented reactive systems with spec explorer
Formal methods and testing
Hi-index | 0.00 |
This paper introduces a method to correctly order events in model-based testing for concurrent systems, in particular multi-threaded programs, whose events are only partially ordered. For a sequential, centralized tester, we need to merge (local) traces of each component into a (global) trace of a system in such a way that the ordering constraints are observed. To this end, we instrument a multi-threaded program under test so that the order of lock events is visible. This additional information helps a so-called multiplexer to reconstruct a fully serial trace consistent with the partial order. We describe programs and the multiplexer as labeled transition systems and give pseudo-code of the algorithm implementing the latter. The implementation of the algorithm presented is used in an industrial context.