1 / 12

Visual Debugging Tools for Concurrent Models of Computation

Visual Debugging Tools for Concurrent Models of Computation. Elaine Cheong 15 May 2002 EE290N: Advanced Topics in System Theory. Why Debugging?. Software is complex. Concurrent software is even more complex. What if it the implementation does not behave as expected? Bugs, bugs, bugs….

nwoods
Download Presentation

Visual Debugging Tools for Concurrent Models of Computation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Debugging Tools for Concurrent Models of Computation Elaine Cheong 15 May 2002 EE290N: Advanced Topics in System Theory

  2. Why Debugging? • Software is complex. • Concurrent software is even more complex. • What if it the implementation does not behave as expected? • Bugs, bugs, bugs…

  3. Outline • Types of Debugging • Debugging in Ptolemy II • Future Work • Conclusion

  4. Types of Debugging • Event-based • State-based

  5. Event-Based Debugging • What is an event? • Event order observation • Event order tracking • Event abstraction • Filtering • Clustering • Interpretation • Process abstraction

  6. State-Based Debugging • Source-level debugging • Consistent cuts • Debugging • Breakpoints • Stepping • Global step • Step over • Step in • Global state predicates

  7. Probe Effects • What is a probe? • Code (or hardware) that generates debugging event records. • Hook that provides access to the state of a process at runtime. • Can mask or introduce new bugs. • Permanent instrumentation for system monitoring.

  8. Ptolemy II • A domain is an implementation of a model of computation. • Ptolemy II domains are actor-oriented and concurrent, but are not threads. • Visual interface.

  9. Debugging in Ptolemy II • Demo!

  10. Conclusions • Both event- and state-based debugging is possible in Ptolemy II. • Future Work • Additional domains • Additional state information • Predicates for breakpoints using the expression language. • Generate trace diagrams.

  11. References • Peter C. Bates. Debugging Heterogeneous Distributed Systems Using Event-Based Models of Behavior. ACM Transactions on Computer Systems, Vol. 13, No. 1, Feb 1995, pg 1-31. • Kenneth J. Hines. Coordination-centric Debugging for Heterogeneous Distributed Embedded Systems. Ph.D. Dissertation. 2000. • S. I. Hyder et al. A Unified Model for Concurrent Debugging. International Conference on Parallel Processing, 1993. • Ronald A. Olsson et al. A Dataflow Approach to Event-Based Debugging. Software Practice and Experience, Vol. 21, No. 2, 1991, pg 209-230. • M. Krish Ponamgi. Debugging Multi-Threaded Programs with MpD. IEEE Software, pg 37-43, May 1991. • Richard M. Stallman. GDB Manual: The Gnu source-level debugger. Free Software Foundation, 1987.

  12. Questions

More Related