Testing and Debugging Concurrent Programs

Lecture 1

Problem: How can a sequential program be debugged?

  • Print statements
  • Debugging tools
    • Step through execution
    • Breakpoints
    • Watches

Problem: What are the difficulties associated with debugging a concurrent program?

  • Non-repeatability
  • Race conditions
  • Vast number of possible program states

Examples

Lecture 2

Problem: How can concurrent debugging issues be overcome?

  • Good design
    • UML diagrams
    • Straightforward interactions between threads
  • Good implementation
    • Good programming style
    • Good documentation
  • Good testing
    • Unit testing
    • Black box testing
    • White box testing
    • Regression testing

Examples

Lab

 
week10.txt · Last modified: 2007/11/26 11:32 by bwittman
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki