Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Replay and Testing for Concurrent Programs

Published: 01 March 1991 Publication History

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.

References

[1]
1. C.A.R. Hoare, "Monitors: An Operating-System Structuring Concept," Comm. ACM, Oct. 1974, pp. 549- 557.]]
[2]
2. A.F. Brindle, R.N. Taylor, and D.F. Martin, "A Debugger for Ada Tasking," IEEE Trans. Software Eng., March 1989, pp. 293-304.]]
[3]
3. T.J. LeBlanc and J.M. Mellor-Crummey, "Debugging Parallel Programs with Instant Replay," IEEE Trans. Computers, April 1987, pp. 471-482.]]
[4]
4. C.E. McDowell and D.P. Helmbold, "Debugging Concurrent Programs," ACM Computing Surveys, Dec. 1989, pp. 593-622.]]
[5]
5. S. Utter and C.M. Pancake, "A Bibliography of Parallel Debuggers," ACM SIGPlan Notices, Nov. 1989, pp. 29-42.]]
[6]
6. P. Brinch Hansen, "Reproducible Testing of Monitors," Software Practice and Experience, Nov. Dec. 1978, pp. 721-729.]]
[7]
7. D.E. Boddy, "Implementing Data Abstractions and Monitors in UCSD Pascal," ACM SIGPlan Notices, May 1983, pp. 15-24.]]
[8]
8. K.C. Tai, R.H. Carver, and E. Obaid, "Debugging Concurrent Ada Programs by Deterministic Execution," IEEE Trans. Software Eng., Jan. 1991, pp. 45-63.]]
[9]
9. K.C. Tai and R.H. Carver, "Testing and Debugging of Concurrent Software by Deterministic Execution," Tech. Report TR-87-19, Computer Science Dept., North Carolina State Univ., Raleigh, N.C., 1987.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Software
IEEE Software  Volume 8, Issue 2
March 1991
103 pages

Publisher

IEEE Computer Society Press

Washington, DC, United States

Publication History

Published: 01 March 1991

Author Tags

  1. concurrent programs
  2. debugging cycle
  3. debugging information
  4. deterministic execution debugging
  5. monitors
  6. multiple executions
  7. nondeterministic execution behavior
  8. parallel programming
  9. program debugging
  10. program testing
  11. regression testing
  12. replay tubes
  13. semaphores
  14. synchronization sequences

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)RaceTestService Oriented Computing and Applications10.1007/s11761-019-00261-113:2(141-154)Online publication date: 1-Jun-2019
  • (2018)Stateless techniques for generating global and local test oracles for message-passing concurrent programsJournal of Systems and Software10.1016/j.jss.2017.11.026136:C(237-265)Online publication date: 1-Feb-2018
  • (2018)Contributions for the structural testing of multithreaded programsSoftware Quality Journal10.1007/s11219-017-9376-426:3(921-959)Online publication date: 1-Sep-2018
  • (2016)A systematic review of approaches for testing concurrent programsConcurrency and Computation: Practice & Experience10.1002/cpe.371128:5(1572-1611)Online publication date: 10-Apr-2016
  • (2015)Interleaving generation for data race and deadlock reproductionProceedings of the 2nd International Workshop on Software Engineering for Parallel Systems10.1145/2837476.2837480(26-34)Online publication date: 27-Oct-2015
  • (2014)An approach to testing commercial embedded systemsJournal of Systems and Software10.5555/2747015.274718588:C(207-230)Online publication date: 1-Feb-2014
  • (2012)Runtime verification of concurrency-specific correctness criteriaInternational Journal on Software Tools for Technology Transfer (STTT)10.5555/3115971.311616614:3(291-305)Online publication date: 1-Jun-2012
  • (2012)SimTesterACM SIGPLAN Notices10.1145/2365864.215103447:7(51-62)Online publication date: 3-Mar-2012
  • (2012)SimTesterProceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments10.1145/2151024.2151034(51-62)Online publication date: 3-Mar-2012
  • (2012)Optimizing threads schedule alignments to expose the interference bug patternProceedings of the 4th international conference on Search Based Software Engineering10.1007/978-3-642-33119-0_8(90-104)Online publication date: 28-Sep-2012
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media