On-the-fly detection of access anomalies
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
An efficient cache-based access anomaly detection scheme
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
Race Frontier: reproducing data races in parallel-program debugging
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Detecting access anomalies in programs with critical sections
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
What are race conditions?: Some issues and formalizations
ACM Letters on Programming Languages and Systems (LOPLAS)
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Eraser: a dynamic data race detector for multithreaded programs
ACM Transactions on Computer Systems (TOCS)
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Detecting data races in Cilk programs that use locks
Proceedings of the tenth annual ACM symposium on Parallel algorithms and architectures
Protocol-based data-race detection
SPDT '98 Proceedings of the SIGMETRICS symposium on Parallel and distributed tools
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Escape analysis for object-oriented languages: application to Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Removing unnecessary synchronization in Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Effective synchronization removal for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Type-based race detection for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Guava: a dialect of Java without data races
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Communications of the ACM
A parameterized type system for race-free Java programs
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Perturbation-Free Replay Platform for Cross-Optimized Multithreaded Applications
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Flow-Insensitive Interprocedural Alias Analysis in the Presence of Pointers
LCPC '94 Proceedings of the 7th International Workshop on Languages and Compilers for Parallel Computing
IBM Systems Journal
TRaDe, a topological approach to on-the-fly race detection in java programs
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
Isolating failure-inducing thread schedules
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
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
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Type-safe multithreading in cyclone
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Static conflict analysis for multi-threaded object-oriented programs
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
A type and effect system for atomicity
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Hybrid dynamic data race detection
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
ReEnact: using thread-level speculation mechanisms to debug data races in multithreaded codes
Proceedings of the 30th annual international symposium on Computer architecture
RacerX: effective, static detection of race conditions and deadlocks
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Automatic detection and repair of errors in data structures
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Atomizer: a dynamic atomicity checker for multithreaded programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On-the-fly detection of access anomalies
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Race checking by context inference
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
KISS: keep it simple and sequential
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
iWatcher: Efficient Architectural Support for Software Debugging
Proceedings of the 31st annual international symposium on Computer architecture
Validating structural properties of nested objects
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
ACM SIGPLAN Notices
Symbolic bounds analysis of pointers, array indices, and accessed memory regions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient and flexible architectural support for dynamic monitoring
ACM Transactions on Architecture and Code Optimization (TACO)
A serializability violation detector for shared-memory server programs
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Automated type-based analysis of data races and atomicity
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Scaling model checking of dataraces using dynamic information
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
AtomCaml: first-class atomicity via rollback
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
RaceTrack: efficient detection of data race conditions via adaptive tracking
Proceedings of the twentieth ACM symposium on Operating systems principles
Optimized run-time race detection and atomicity checking using partial discovered types
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Runtime Analysis of Atomicity for Multithreaded Programs
IEEE Transactions on Software Engineering
Types for safe locking: Static race detection for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dynamic inference of polymorphic lock types
Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
CP-Miner: Finding Copy-Paste and Related Bugs in Large-Scale Software Code
IEEE Transactions on Software Engineering
Artemis: practical runtime monitoring of applications for execution anomalies
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Effective static race detection for Java
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
LOCKSMITH: context-sensitive correlation analysis for race detection
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
HeapMon: a helper-thread approach to programmable, automatic, and low-overhead memory bug detection
IBM Journal of Research and Development
Inference and enforcement of data structure consistency specifications
Proceedings of the 2006 international symposium on Software testing and analysis
A two-phase escape analysis for parallel java programs
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
AVIO: detecting atomicity violations via access interleaving invariants
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Scheduling-independent threads and exceptions in SHIM
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Accurate and efficient filtering for the Intel thread checker race detector
Proceedings of the 1st workshop on Architectural and system support for improving software dependability
Conditional must not aliasing for static race detection
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Science of Computer Programming
Fault detection in multi-threaded c++ server applications
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
May-happen-in-parallel analysis of X10 programs
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
Scaling model checking of dataraces using dynamic information
Journal of Parallel and Distributed Computing
Automatically classifying benign and harmful data races using replay analysis
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Goldilocks: a race and transaction-aware java runtime
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
CP-Miner: a tool for finding copy-paste and related bugs in operating system code
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Practical escape analyses: how good are they?
Proceedings of the 3rd international conference on Virtual execution environments
Detecting data races using dynamic escape analysis based on read barrier
VM'04 Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium - Volume 3
Fault Detection in Multi-Threaded C++ Server Applications
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 2007 ACM workshop on Parallel and distributed systems: testing and debugging
Efficient checkpointing of java software using context-sensitive capture and replay
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
RELAY: static race detection on millions of lines of code
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Detection and resolution of atomicity violation in service composition
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Runtime race detection for multi-threaded C++ server applications
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
Journal of Systems and Software
Atomizer: A dynamic atomicity checker for multithreaded programs
Science of Computer Programming
Race directed random testing of concurrent programs
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
SharC: checking data sharing strategies for multithreaded c
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Types for atomicity: Static checking and inference for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
AtomRace: data race and atomicity violation detector and healer
PADTAD '08 Proceedings of the 6th workshop on Parallel and distributed systems: testing, analysis, and debugging
RCanalyser: A Flexible Framework for the Detection of Data Races in Parallel Programs
Ada-Europe '08 Proceedings of the 13th Ada-Europe international conference on Reliable Software Technologies
On Race Vulnerabilities in Web Applications
DIMVA '08 Proceedings of the 5th international conference on Detection of Intrusions and Malware, and Vulnerability Assessment
Dynamic optimization for efficient strong atomicity
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Randomized active atomicity violation detection in concurrent programs
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Semantic Reduction of Thread Interleavings in Concurrent Programs
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
SingleTrack: A Dynamic Determinism Checker for Multithreaded Programs
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Lightweight annotations for controlling sharing in concurrent data structures
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
FastTrack: efficient and precise dynamic race detection
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
LiteRace: effective sampling for lightweight data-race detection
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization
SigRace: signature-based data race detection
Proceedings of the 36th annual international symposium on Computer architecture
Asserting and checking determinism for multithreaded programs
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Static data race detection for concurrent programs with asynchronous calls
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
The Bulk Multicore architecture for improved programmability
Communications of the ACM - Finding the Fun in Computer Science Education
MulticoreSDK: a practical and efficient data race detector for real-world applications
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Forcing small models of conditions on program interleaving for detection of concurrent bugs
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Predictive Typestate Checking of Multithreaded Java Programs
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Featherweight X10: a core calculus for async-finish parallelism
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Effects for cooperable and serializable threads
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
Fast and accurate static data-race detection for concurrent programs
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Adversarial memory for detecting destructive races
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
PACER: proportional detection of data races
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
The RoadRunner Dynamic Analysis Framework for Concurrent Programs
Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Views: object-inspired concurrency control
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
FastTrack: efficient and precise dynamic race detection
Communications of the ACM
Finding and reproducing Heisenbugs in concurrent programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Composable specifications for structured shared-memory communication
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Instrumentation and sampling strategies for cooperative concurrency bug isolation
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A dynamic evaluation of the precision of static heap abstractions
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Automatic atomic region identification in shared memory SPMD programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
LOCKSMITH: Practical static race detection for C
ACM Transactions on Programming Languages and Systems (TOPLAS)
Thread contracts for safe parallelism
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
GRace: a low-overhead mechanism for detecting data races in GPU programs
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
2ndStrike: toward manifesting hidden concurrency typestate bugs
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
ConSeq: detecting concurrency bugs through sequential errors
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
aComment: mining annotations from comments and code to detect interrupt related concurrency bugs
Proceedings of the 33rd International Conference on Software Engineering
Automated atomicity-violation fixing
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Demand-driven software race detection using hardware performance counters
Proceedings of the 38th annual international symposium on Computer architecture
ORDER: object centric deterministic replay for Java
USENIXATC'11 Proceedings of the 2011 USENIX conference on USENIX annual technical conference
Detecting and surviving data races using complementary schedules
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
SOS: saving time in dynamic race detection with stationary analysis
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Efficient data race detection for distributed memory parallel programs
Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis
Efficient computation of may-happen-in-parallel information for concurrent java programs
LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
FlexSig: Implementing flexible hardware signatures
ACM Transactions on Architecture and Code Optimization (TACO) - HIPEAC Papers
A review of race detection mechanisms
CSR'06 Proceedings of the First international computer science conference on Theory and Applications
Verification of parameterized concurrent programs by modular reasoning about data and control
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Sound predictive race detection in polynomial time
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Static detection of race conditions in erlang
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
A lightweight and portable approach to making concurrent failures reproducible
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
A practical MHP information analysis for concurrent java programs
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture
Static versioning of global state for race condition detection
Ada-Europe'10 Proceedings of the 15th Ada-Europe international conference on Reliable Software Technologies
Transparently reconciling transactions with locking for java synchronization
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Goldilocks: efficiently computing the happens-before relation using locksets
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
Detecting potential deadlocks with static analysis and run-time monitoring
HVC'05 Proceedings of the First Haifa international conference on Hardware and Software Verification and Testing
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Automatic parallelization of fine-grained meta-functions on a chip multiprocessor
CGO '11 Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization
Identifying future field accesses in exhaustive state space traversal
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Chimera: hybrid program analysis for determinism
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Fully automatic and precise detection of thread safety violations
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Parallel closures: a new twist on an old idea
HotPar'12 Proceedings of the 4th USENIX conference on Hot Topics in Parallelism
Understanding the interleaving-space overlap across inputs and software versions
HotPar'12 Proceedings of the 4th USENIX conference on Hot Topics in Parallelism
JaDaRD: java data-race detector
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
Automated concurrency-bug fixing
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Efficient may happen in parallel analysis for async-finish parallelism
SAS'12 Proceedings of the 19th international conference on Static Analysis
Effective pattern-driven concurrency bug detection for operating systems
Journal of Systems and Software
SAM: self-adaptive dynamic analysis for multithreaded programs
HVC'11 Proceedings of the 7th international Haifa Verification conference on Hardware and Software: verification and testing
Views: Synthesizing fine-grained concurrency control
ACM Transactions on Software Engineering and Methodology (TOSEM)
Parallelizing data race detection
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Scaling data race detection for partitioned global address space programs
Proceedings of the 27th international ACM conference on International conference on supercomputing
Practical static race detection for Java parallel loops
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
OCTET: capturing and controlling cross-thread dependences efficiently
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Efficient concurrency-bug detection across inputs
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
RaceMob: crowdsourced data race detection
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
RedCard: redundant check elimination for dynamic race detectors
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Automatic parallelization of fine-grained metafunctions on a chip multiprocessor
ACM Transactions on Architecture and Code Optimization (TACO)
Low-level detection of language-level data races with LARD
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
An approach to testing commercial embedded systems
Journal of Systems and Software
Hi-index | 0.02 |
We present a novel approach to dynamic datarace detection for multithreaded object-oriented programs. Past techniques for on-the-fly datarace detection either sacrificed precision for performance, leading to many false positive datarace reports, or maintained precision but incurred significant overheads in the range of 3x to 30x. In contrast, our approach results in very few false positives and runtime overhead in the 13% to 42% range, making it both efficient and precise. This performance improvement is the result of a unique combination of complementary static and dynamic optimization techniques.