Optimistic recovery in distributed systems
ACM Transactions on Computer Systems (TOCS)
Development of a debugger for a concurrent language
IEEE Transactions on Software Engineering
Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
Debugging concurrent processes: a case study
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
ACM Computing Surveys (CSUR)
A bibliography of parallel debuggers, 1990 edition
ACM SIGPLAN Notices
Vestal: a tool for teaching concurrency in Ada
TRI-Ada '91 Proceedings of the conference on TRI-Ada '91: today's accomplishments; tomorrow's expectations
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Event graph visualization for debugging large applications
SPDT '96 Proceedings of the SIGMETRICS symposium on Parallel and distributed tools
Proving specifications of tasking systems using Ada/TL
TRI-Ada '90 Proceedings of the conference on TRI-ADA '90
Interfaces for understanding multi-agent behavior
Proceedings of the 6th international conference on Intelligent user interfaces
Creating an Accurate Portrayal of Concurrent Executions
IEEE Concurrency
Detecting causal relationships in distributed computations: in search of the holy grail
Distributed Computing
Mining temporal invariants from partially ordered logs
SLAML '11 Managing Large-scale Systems via the Analysis of System Logs and the Application of Machine Learning Techniques
Mining temporal invariants from partially ordered logs
ACM SIGOPS Operating Systems Review
Hi-index | 0.00 |
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.