A graphical representation of concurrent processes
- 1 November 1988
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 24 (1) , 226-235
- https://doi.org/10.1145/69215.69237
Abstract
This paper describes a graphical representation called a concurrency map. It provides a succinct representation of the potentially large collection of possible correct event-orderings for a set of concurrent processes.The normal problems of monitoring, debugging and analyzing performance of single-process programs are compounded for programs with concurrent processes. Although we can observe the behavior of each separate process, we do not know what is occurring concurrently in the various processes during successive moments as execution progresses. Furthermore, unknown timing delays among the processes may cause different program behavior when we rerun the program. The relative time-ordering of events in different concurrent processes is not, in general, fixed, and events that occurred in one order on one occasion on which the program performed correctly might occur in another order on another occasion, with equal correctness. We need to know both how the program behaved during execution and how that behavior might have differed under normal variations of concurrent execution. The concurrency map aids in solving these problems.Keywords
This publication has 6 references indexed in Scilit:
- Debugging concurrent processes: a case studyPublished by Association for Computing Machinery (ACM) ,1988
- VIPS: A Visual DebuggerIEEE Software, 1987
- Debugging Parallel Programs with Instant ReplayIEEE Transactions on Computers, 1987
- Optimistic recovery in distributed systemsACM Transactions on Computer Systems, 1985
- Distributed snapshotsACM Transactions on Computer Systems, 1985
- High-level debugging of distributed systems: The behavioral abstraction approachJournal of Systems and Software, 1983