Issue No. 02 - March/April (1991 vol. 8)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.73751
<p>Attention is given to the problems that arise during the testing and debugging cycle of concurrent programs because of their nondeterministic execution behavior, whereby multiple executions of a concurrent program with the same input may exercise different synchronization sequences and even produce different results. These problems are solved by using deterministic execution debugging and testing. The purpose of deterministic execution debugging to to replay executions of a concurrent program so that debugging information can be collected. Examples of semaphores and monitors are used to illustrate the approach and the process of designing replay tubes is described. The use of regression testing to see if earlier debugging and testing introduced new errors, is examined.</p>
concurrent programs; debugging cycle; nondeterministic execution behavior; multiple executions; synchronization sequences; deterministic execution debugging; debugging information; semaphores; monitors; replay tubes; regression testing; parallel programming; program debugging; program testing
K. Tai and R. H. Carver, "Replay and Testing for Concurrent Programs," in IEEE Software, vol. 8, no. , pp. 66-74, 1991.