A debugger for concurrent programs
Software—Practice & Experience
A distributed programs monitor for Berkeley UNIX
Software—Practice & Experience
Knowledge-based programming: a survey of program design and construction techniques
IEEE Transactions on Software Engineering
Development of a debugger for a concurrent language
IEEE Transactions on Software Engineering
Dbxtool: A window-based symbolic debugger for sun workstations
Software—Practice & Experience
DISDEB: an interactive high-level debugging system for a multi-microprocessor system
Microprocessing and Microprogramming
Monitoring distributed systems
ACM Transactions on Computer Systems (TOCS)
ACM Transactions on Graphics (TOG)
Computer
Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
Traveler: the apiary observatory
European conference on object-oriented programming on ECOOP '87
Developing multitasking applications programs
Proceedings of the Twenty-First Annual Hawaii International Conference on Software Track
Global events and global breakpoints in distributed systems
Proceedings of the Twenty-First Annual Hawaii International Conference on Software Track
Computer networks
A practical algorithm for static analysis of parallel programs
Journal of Parallel and Distributed Computing
A distributed debugger for Amoeba
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Debugging heterogeneous distributed systems using event-based models of behavior
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Static analysis of low-level synchronization
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Supporting reverse execution for parallel programs
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Debugging of heterogeneous parallel systems
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
A mechanism for efficient debugging of parallel programs
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
High-level debugging in parasight
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Partial orders for parallel debugging
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Voyeur: graphical views of parallel programs
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Debugging parallel programs in parallel
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
A graphical representation of concurrent processes
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Interactive blackbox debugging for concurrent languages
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
A general-purpose algorithm for analyzing concurrent programs
Communications of the ACM
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
Saving traces for Ada debugging
SIGAda '85 Proceedings of the 1985 annual ACM SIGAda international conference on Ada
Execution monitoring and debugging tool for Ada using relational algebra
SIGAda '85 Proceedings of the 1985 annual ACM SIGAda international conference on Ada
SIGAda '85 Proceedings of the 1985 annual ACM SIGAda international conference on Ada
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
Data Flow Analysis in Software Reliability
ACM Computing Surveys (CSUR)
ACM Computing Surveys (CSUR)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Anomaly detection in concurrent programs
ICSE '79 Proceedings of the 4th international conference on Software engineering
Monitoring in a software development environment: A relational approach
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Fault detection in production programs by means of data usage analysis
Fault detection in production programs by means of data usage analysis
Implementation issues: session summary
SIGSOFT '83 Proceedings of the symposium on High-level debugging
Debugging standard ML without reverse engineering
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Debugging Concurrent Ada Programs by Deterministic Execution
IEEE Transactions on Software Engineering
Replay, recovery, replication, and snapshots of nondeterministic concurrent programs
PODC '91 Proceedings of the tenth annual ACM symposium on Principles of distributed computing
The ensemble system: concurrent programming on a personal computer
ACM SIGPLAN Notices
A bibliography of parallel debuggers, 1990 edition
ACM SIGPLAN Notices
Hardware-assisted replay of multiprocessor programs
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Communications of the ACM
Graphical animation of parallel Fortran programs
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
High-level language debugging for concurrent programs
ACM Transactions on Computer Systems (TOCS)
The RP3 program visualization environment
IBM Journal of Research and Development
Specification-based test oracles for reactive systems
ICSE '92 Proceedings of the 14th international conference on Software engineering
Dynascope: a tool for program directing
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
The design and implementation of HoME
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Compile-time analysis of parallel programs that share memory
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Task Dependence Net in Ada software development
ACM SIGAda Ada Letters
Simulating reactive systems by deduction
ACM Transactions on Software Engineering and Methodology (TOSEM)
The role of another spatial dimension in software visualization
ACM Transactions on Information Systems (TOIS)
Detecting atomic sequences of predicates in distributed computations
PADD '93 Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging
Process clustering for distributed debugging
PADD '93 Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging
On-the-fly detection of access anomalies in nested parallel loops
PADD '93 Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Relative debugging and its application to the development of large numerical models
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Replay for concurrent non-deterministic shared-memory applications
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Detection of Strong Unstable Predicates in Distributed Programs
IEEE Transactions on Parallel and Distributed Systems
Debugging DB2/CS client/server applications
IBM Systems Journal
Static slicing of threaded programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
SIMA: an environment for parallel discrete-event simulation
ANSS '92 Proceedings of the 25th annual symposium on Simulation
A persistent runtime system using persistent data structures
SAC '96 Proceedings of the 1996 ACM symposium on Applied Computing
A design and prototyping of an object-oriented program debugger
SAC '97 Proceedings of the 1997 ACM symposium on Applied computing
Scenario-Based Hypersequential Programming
International Journal of Parallel Programming - Special issue on international symposium on high performance computing 1997, part I
A thread-aware debugger with an open interface
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
The Journal of Supercomputing
Regression test selection for Java software
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Net-dbx: A Web-Based Debugger of MPI Programs Over Low-Bandwidth Lines
IEEE Transactions on Parallel and Distributed Systems
Apportioning: A Technique for Efficient Reachability Analysis of Concurrent Object-Oriented Programs
IEEE Transactions on Software Engineering - Special section on the seventh international software metrics symposium
Causality in distributed systems
EW 5 Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring
Dynamic analysis for locating product features in Ada code
Proceedings of the 2001 annual ACM SIGAda international conference on Ada
Active Management Framework for Distributed Multimedia Systems
Journal of Network and Systems Management
Hypersequential Programming: A New Way to Develop Concurrent Programs
IEEE Parallel & Distributed Technology: Systems & Technology
Replay and Testing for Concurrent Programs
IEEE Software
A General Framework for Debugging
IEEE Software
Sequential Debugging at a High Level of Abstraction
IEEE Software
Debugging Multithreaded Programs with MPD
IEEE Software
Fundamentals of Distributed System Observation
IEEE Software
IEEE Transactions on Parallel and Distributed Systems
Application-Dependent Dynamic Monitoring of Distributed and Parallel Systems
IEEE Transactions on Parallel and Distributed Systems
Detection of Weak Unstable Predicates in Distributed Programs
IEEE Transactions on Parallel and Distributed Systems
Tractable Dataflow Analysis for Distributed Systems
IEEE Transactions on Software Engineering
Scalable Parallel Program Debugging with Process Isolation and Grouping
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Algorithm Visualization For Distributed Environments
INFOVIS '98 Proceedings of the 1998 IEEE Symposium on Information Visualization
Notes on Nondeterminism in Message Passing Programs
Proceedings of the 9th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Towards an Algorithmic Debugging for Distributed Programs
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
A framework for visual parallel programming
PAS '95 Proceedings of the First Aizu International Symposium on Parallel Algorithms/Architecture Synthesis
A Hardware and Software Monitor for High-Level System-on-Chip Verification
ISQED '01 Proceedings of the 2nd International Symposium on Quality Electronic Design
Context-sensitive slicing of concurrent programs
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Technology for Testing Nondeterministic Client/Server Database Applications
IEEE Transactions on Software Engineering
Using Hy+ for network management and distributed debugging
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
Interactive Visualization of Concurrents Programs
Proceedings of the 19th IEEE international conference on Automated software engineering
Scaling regression testing to large software systems
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Jockey: a user-space library for record-replay debugging
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Architecture-driven platform independent deterministic replay for distributed hard real-time systems
Proceedings of the ISSTA 2006 workshop on Role of software architecture for testing and analysis
Efficient path conditions in dependence graphs for software safety analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Design and Evaluation of a Diagrammatic Notation to Aid in the Understanding of Concurrency Concepts
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Grid-Level Computing Needs Pervasive Debugging
GRID '05 Proceedings of the 6th IEEE/ACM International Workshop on Grid Computing
Transaction-Based Communication-Centric Debug
NOCS '07 Proceedings of the First International Symposium on Networks-on-Chip
Session-aware debugging features for web applications using Ruby and Python frameworks
Workshop on Domain specific approaches to software test automation: in conjunction with the 6th ESEC/FSE joint meeting
Investigation of failure causes in workload-driven reliability testing
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
First silicon functional validation and debug of multicore microprocessors
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Data-intensive XQuery debugging with instant replay
XIME-P '07 Proceedings of the 4th international workshop on XQuery implementation, experience and perspectives
An efficient logical clock for replaying message-passing programs
ICCOMP'05 Proceedings of the 9th WSEAS International Conference on Computers
Evaluating test adequacy coverage of high level petri nets using spin
Proceedings of the 3rd international workshop on Automation of software test
Architecting Dependable Systems V
RT-replayer: a record-replay architecture for embedded real-time software debugging
Proceedings of the 2009 ACM symposium on Applied Computing
A Snapshot Algorithm for Mobile Ad Hoc Networks
IWANN '09 Proceedings of the 10th International Work-Conference on Artificial Neural Networks: Part II: Distributed Computing, Artificial Intelligence, Bioinformatics, Soft Computing, and Ambient Assisted Living
A methodology for evaluating test coverage criteria of high levelPetri nets
Information and Software Technology
Visualizing Potential Deadlocks in Multithreaded Programs
PaCT '09 Proceedings of the 10th International Conference on Parallel Computing Technologies
NUDA: a non-uniform debugging architecture and non-intrusive race detection for many-core
Proceedings of the 46th Annual Design Automation Conference
Grace: safe multithreaded programming for C/C++
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
JVM Independent Replay in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
Computer Languages, Systems and Structures
Design and evaluation of extensions to UML sequence diagrams for modeling multithreaded interactions
Information Visualization
Falcon: fault localization in concurrent programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Using deterministic replay for debugging of distributed real-time systems
Euromicro-RTS'00 Proceedings of the 12th Euromicro conference on Real-time systems
REME-D: a reflective epidemic message-oriented debugger for ambient-oriented applications
Proceedings of the 2011 ACM Symposium on Applied Computing
Dthreads: efficient deterministic multithreading
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
System-specific static code analyses: a case study in the complex embedded systems domain
Software Quality Control
Performance troubleshooting in data centers: an annotated bibliography?
ACM SIGOPS Operating Systems Review
Distributed debugging for mobile networks
Journal of Systems and Software
Hi-index | 0.02 |
The main problems associated with debugging concurrent programs are increased complexity, the "probe effect," nonrepeatability, and the lack of a synchronized global clock. The probe effect refers to the fact that any attempt to observe the behavior of a distributed system may change the behavior of that system. For some parallel programs, different executions with the same data will result in different results even without any attempt to observe the behavior. Even when the behavior can be observed, in many systems the lack of a synchronized global clock makes the results of the observation difficult to interpret. This paper discusses these and other problems related to debugging concurrent programs and presents a survey of current techniques used in debugging concurrent programs. Systems using three general techniques are described: traditional or breakpoint style debuggers, event monitoring systems, and static analysis systems. In addition, techniques for limiting, organizing, and displaying a large amount of data produced by the debugging systems are discussed.