Debugging concurrent processes: a case study
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Eraser: a dynamic data race detector for multithreaded programs
ACM Transactions on Computer Systems (TOCS)
Static slicing of threaded programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A conservative data flow algorithm for detecting all pairs of statements that may happen in parallel
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
An efficient algorithm for computing MHP information for concurrent Java programs
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Efficient and precise datarace detection for multithreaded object-oriented programs
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Evaluating Deadlock Detection Methods for Concurrent Software
IEEE Transactions on Software Engineering
A Perturbation-Free Replay Platform for Cross-Optimized Multithreaded Applications
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Using Runtime Analysis to Guide Model Checking of Java Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
IBM Systems Journal
Multithreaded java program test generation
IBM Systems Journal
HDD: hierarchical delta debugging
Proceedings of the 28th international conference on Software engineering
Finding failure-inducing changes in java programs using change classification
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Dynamic slicing long running programs through execution fast forwarding
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Toward Automatic Concurrent Debugging Via Minimal Program Mutant Generation with AspectJ
Electronic Notes in Theoretical Computer Science (ENTCS)
Instrumenting where it hurts: an automatic concurrent debugging technique
Proceedings of the 2007 international symposium on Software testing and analysis
Race directed random testing of concurrent programs
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Testing Concurrent Objects with Application-Specific Schedulers
Proceedings of the 5th international colloquium on Theoretical Aspects of Computing
Diagnosing distributed systems with self-propelled instrumentation
Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware
Effective identification of failure-inducing changes: a hybrid approach
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Debugging debugging: acm sigsoft impact paper award keynote
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
JVM Independent Replay in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
A randomized scheduler with probabilistic guarantees of finding bugs
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Information and Software Technology
Explaining intermittent concurrent bugs by minimizing scheduling noise
HVC'06 Proceedings of the 2nd international Haifa verification conference on Hardware and software, verification and testing
What went wrong: explaining counterexamples
SPIN'03 Proceedings of the 10th international conference on Model checking software
Analyzing concurrency bugs using dual slicing
Proceedings of the 19th international symposium on Software testing and analysis
A trace simplification technique for effective debugging of concurrent programs
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
2ndStrike: toward manifesting hidden concurrency typestate bugs
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
An efficient static trace simplification technique for debugging concurrent programs
SAS'11 Proceedings of the 18th international conference on Static analysis
A lightweight and portable approach to making concurrent failures reproducible
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
Preemption sealing for efficient concurrency testing
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Optimal algorithmic debugging and reduced coverage using search in structured domains
HVC'05 Proceedings of the First Haifa international conference on Hardware and Software Verification and Testing
Choosing among alternative futures
HVC'05 Proceedings of the First Haifa international conference on Hardware and Software Verification and Testing
LEAN: simplifying concurrency bug reproduction via replay-supported execution reduction
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
Consider a multi-threaded application that occasionally fails due to non-determinism. Using the DEJAVU capture/replay tool, it is possible to record the thread schedule and replay the application in a deterministic way. By systematically narrowing down the difference between a thread schedule that makes the program pass and another schedule that makes the program fail, the Delta Debugging approach can pinpoint the error location automatically---namely, the location(s) where a thread switch causes the program to fail. In a case study, Delta Debugging isolated the failure-inducing schedule difference from 3.8 billion differences in only 50 tests.