A dataflow approach to event‐based debugging
- 1 February 1991
- journal article
- research article
- Published by Wiley in Software: Practice and Experience
- Vol. 21 (2) , 209-229
- https://doi.org/10.1002/spe.4380210207
Abstract
This paper describes a novel approach to event‐based debugging. The approach is based on a (coarsegrained) dataflow view of events: a high‐level event is recognized when an appropriate combination of lower‐level events on which it depends has occurred. Event recognition is controlled using familiar programming language constructs. This approach is more flexible and powerful than current ones. It allows arbitrary debugger language commands to be executed when attempting to form higher‐level events. It also allows users to specify event recognition in much the same way that they write programs.This paper also describes a prototype, Dalek, that employs the dataflow approach for debugging sequential programs. Dalek demonstrates the feasibility and attractiveness of the dataflow approach. One important motivation for this work is that current sequential debugging tools are inadequate. Dalek contributes toward remedying such inadequacies by providing events and a powerful debugging language. Generalizing the dataflow approach so that it can aid in the debugging of concurrent programs is under investigation.Keywords
This publication has 16 references indexed in Scilit:
- Event-based debugging of object/action programsACM SIGPLAN Notices, 1988
- Debugging heterogeneous distributed systems using event-based models of behaviorACM SIGPLAN Notices, 1988
- A debugger for message‐based processesSoftware: Practice and Experience, 1985
- A debugger for concurrent programsSoftware: Practice and Experience, 1985
- Multilingual debugging with the SWAT high-level debuggerACM SIGPLAN Notices, 1983
- VAX DEBUGACM SIGPLAN Notices, 1983
- An approach to high-level debugging of distributed systemsACM SIGSOFT Software Engineering Notes, 1983
- Development of a debugger for a concurrent languageACM SIGSOFT Software Engineering Notes, 1983
- Generalized path expressionsACM SIGSOFT Software Engineering Notes, 1983
- Dispel: A run-time debugging languageComputer Languages, 1981