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 multi-threaded programs
Proceedings of the sixteenth ACM symposium on Operating systems principles
Unification-based pointer analysis with directional assignments
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Runtime Checking of Multithreaded Applications with Visual Threads
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
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
An Overview of the Runtime Verification Tool Java PathExplorer
Formal Methods in System Design
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
Bauhaus: a tool suite for program analysis and reverse engineering
Ada-Europe'06 Proceedings of the 11th Ada-Europe international conference on Reliable Software Technologies
An MDE approach to address synchronization needs in component-based real-time systems
Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering
Hi-index | 0.00 |
Synchronization errors in parallel programs are not limited to race conditions involving accesses to single variables. Absence of these errors does not guarantee that programs are error free. However, many of the remaining errors cannot be recognized without a higher level of abstraction for the communication patterns. This paper discusses two types of high-level error scenarios, namely non-atomic protection and lost-updates, and presents a static framework to detect situations where such synchronization anomalies can manifest themselves.