Reproducible testing of concurrent Ada programs
Proceedings of the second conference on Software development tools, techniques, and alternatives
An interactive debugger for a concurrent language
ICSE '85 Proceedings of the 8th international conference on Software engineering
Communicating sequential processes
Communications of the ACM
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
ACM SIGPLAN Notices
Hi-index | 0.00 |
Experiment planning for any practical application of a distributed system needs a selection of test cases which have to represent distinct system behaviours; these test cases must next be performed by the system in its run-time environment. For a single sequential program running alone these cases are usually paths determined once by corresponding path domains. However, sequential programs driven by data produced by other programs running in parallel may perform arbitrarily many paths at the given moment of execution. Owing to that, the idea of paths (usually viewed as variable action strings) must be extended for the more general “distributed” case. In the paper we present this extension for modeling distributed system behaviour by means of path analysis. We address two specific problems for distributed systems. One is the observability of the selected test case: a test case is observable if it can uniquely determine a corresponding state transition in the system. Another is the test case reproducibility: a test case is reproducible if it can be forced during the system execution. In the paper we argue that selected test cases can form observable sets, as well as state transitions determined by observable test cases can be forced in every distributed system. We refer in our presentation to several practical implementations of concurrency.