This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Replay and Testing for Concurrent Programs
March/April 1991 (vol. 8 no. 2)
pp. 66-74

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.

Index Terms:
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
Citation:
Richard H. Carver, Kuo-Chung Tai, "Replay and Testing for Concurrent Programs," IEEE Software, vol. 8, no. 2, pp. 66-74, March-April 1991, doi:10.1109/52.73751
Usage of this product signifies your acceptance of the Terms of Use.