PROUST: Knowledge-Based Program Understanding
IEEE Transactions on Software Engineering
Global events and global breakpoints in distributed systems
Proceedings of the Twenty-First Annual Hawaii International Conference on Software Track
Data path debugging: data-oriented debugging for a concurrent programming language
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Program understanding: challenge for the 1990's
IBM Systems Journal
Logical Time in Distributed Computing Systems
Computer - Distributed computing systems: separate resources acting as one
A memory-based approach to recognizing programming plans
Communications of the ACM
Debugging heterogeneous distributed systems using event-based models of behavior
ACM Transactions on Computer Systems (TOCS)
ABC++: concurrency by inheritance in C++
IBM Systems Journal
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
On-the-fly analysis of distributed computations
Information Processing Letters
The program understanding problem: analysis and a heuristic approach
Proceedings of the 18th international conference on Software engineering
Event graph visualization for debugging large applications
SPDT '96 Proceedings of the SIGMETRICS symposium on Parallel and distributed tools
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
A fast string searching algorithm
Communications of the ACM
Efficient string matching: an aid to bibliographic search
Communications of the ACM
An Efficient Algorithm for Matching Multiple Patterns
IEEE Transactions on Knowledge and Data Engineering
CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
An Interactive Visualization for Message Sequence Charts
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
EVEREST: an event recognition testbed
ICDCS '95 Proceedings of the 15th International Conference on Distributed Computing Systems
Parallel Programming with CAPSE -- A Case Study
PDP '96 Proceedings of the 4th Euromicro Workshop on Parallel and Distributed Processing (PDP '96)
A prototype debugger for Hermes
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 1
The use of process clustering in distributed-system event displays
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
Hi-index | 0.00 |
Understanding distributed applications is a tedious and difficult task. Visualizations based on process-time diagrams are often used to obtain a better understanding of the execution of the application. The visualization tool we use is Poet, an event tracer developed at the University of Waterloo. However, these diagrams are often very complex and do not provide the user with the desired overview of the application. In our experience, such tools display repeated occurrences of non-trivial communication patterns, appearing throughout the trace data and cluttering the display space. This paper describes an event abstraction facility which tries to simplify the execution visualization shown by Poet by efficiently detecting and abstracting such patterns.A user can define patterns, subject to only very few constraints, and store them in a hierarchical pattern library. We also provide the user with the possibility to annotate the source code as a help in the abstraction process. We detect these communication patterns by employing an enhanced efficient multiple string matching algorithm. The results indicate that the matching process is indeed very fast. A user can experiment with multiple patterns at potentially different levels in the hierarchy, checking for their occurrence in the trace file, while trying to gain some understanding in a short period of time.