Replay and testing for concurrent programs
- 1 March 1991
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Software
- Vol. 8 (2) , 66-74
- https://doi.org/10.1109/52.73751
Abstract
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.Keywords
This publication has 7 references indexed in Scilit:
- Debugging concurrent Ada programs by deterministic executionIEEE Transactions on Software Engineering, 1991
- Debugging concurrent programsACM Computing Surveys, 1989
- A debugger for Ada taskingIEEE Transactions on Software Engineering, 1989
- Debugging Parallel Programs with Instant ReplayIEEE Transactions on Computers, 1987
- Implementing data abstractions and monitors in UCSD PascalACM SIGPLAN Notices, 1983
- Reproducible testing of monitorsSoftware: Practice and Experience, 1978
- MonitorsCommunications of the ACM, 1974