A model of Ada programs for static deadlock detection in polynomial times
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Static detection of deadlocks in polynomial time
Static detection of deadlocks in polynomial time
A deadlock detection tool for concurrent Java programs
Software—Practice & Experience
Ownership types for safe programming: preventing data races and deadlocks
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Runtime Checking of Multithreaded Applications with Visual Threads
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Using Runtime Analysis to Guide Model Checking of Java Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Soot - a Java bytecode optimization framework
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Applying Static Analysis to Large-Scale, Multi-Threaded Java Programs
ASWEC '01 Proceedings of the 13th Australian Conference on Software Engineering
RacerX: effective, static detection of race conditions and deadlocks
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Safejava: a unified type system for safe programming
Safejava: a unified type system for safe programming
Parameterized object sensitivity for points-to analysis for Java
ACM Transactions on Software Engineering and Methodology (TOSEM)
Conditional must not aliasing for static race detection
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Context-sensitive pointer analysis using binary decision diagrams
Context-sensitive pointer analysis using binary decision diagrams
Effective typestate verification in the presence of aliasing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Effective static race detection for java
Effective static race detection for java
Static deadlock detection for java libraries
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Dynamic deadlock analysis of multi-threaded programs
HVC'05 Proceedings of the First Haifa international conference on Hardware and Software Verification and Testing
A randomized dynamic program analysis technique for detecting real deadlocks
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Challenge benchmarks for verification of real-time programs
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Proceedings of the 19th international conference on Parallel architectures and compilation techniques
An effective dynamic analysis for detecting generalized deadlocks
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Finding complex concurrency bugs in large multi-threaded applications
Proceedings of the sixth conference on Computer systems
aComment: mining annotations from comments and code to detect interrupt related concurrency bugs
Proceedings of the 33rd International Conference on Software Engineering
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Symbolic modular deadlock analysis
Automated Software Engineering
A lightweight and portable approach to making concurrent failures reproducible
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
Identifying future field accesses in exhaustive state space traversal
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Fully automatic and precise detection of thread safety violations
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Proceedings of the 2012 Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
MagicFuzzer: scalable deadlock detection for large-scale applications
Proceedings of the 34th International Conference on Software Engineering
Maple: a coverage-driven testing tool for multithreaded programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Effective pattern-driven concurrency bug detection for operating systems
Journal of Systems and Software
An integrated specification and verification technique for highly concurrent data structures
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Trace driven dynamic deadlock detection and reproduction
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
We present an effective static deadlock detection algorithm for Java. Our algorithm uses a novel combination of static analyses each of which approximates a different necessary condition for a deadlock. We have implemented the algorithm and report upon our experience applying it to a suite of multi-threaded Java programs. While neither sound nor complete, our approach is effective in practice, finding all known deadlocks as well as discovering previously unknown ones in our benchmarks with few false alarms.