Synchronization of communicating processes
Communications of the ACM
Correctness in operating systems
Correctness in operating systems
Delay-Independent Design for Distributed Systems
IEEE Transactions on Software Engineering
Data and Time Abstraction Techniques for Analyzing Multilevel Concurrent Systems
IEEE Transactions on Software Engineering
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verification of a distributed algorithm (abstract)
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
Semaphore primitives and starvation-free mutual exclusion
Journal of the ACM (JACM)
Complexity of expressions allowing concurrency
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Parallel program correctness through refinement
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Deriving Efficient Cache Coherence Protocols Through Refinement
Formal Methods in System Design
An Efficient Partial Order Reduction Algorithm with an Alternative Proviso Implementation
Formal Methods in System Design
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
A Distributed Partial Order Reduction Algorithm
FORTE '02 Proceedings of the 22nd IFIP WG 6.1 International Conference Houston on Formal Techniques for Networked and Distributed Systems
TACAS '00 Proceedings of the 6th International Conference on Tools and Algorithms for Construction and Analysis of Systems: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
Eternity Variables to Simulate Specifications
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Programming methodology
A reduction theorem for concurrent object-oriented programs
Programming methodology
Survey of recent operating systems research, designs and implementations
ACM SIGOPS Operating Systems Review
A type and effect system for atomicity
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
A class of synchronization systems that permit the use of large atomic blocks
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
On abstractions of parallel programs
STOC '76 Proceedings of the eighth annual ACM symposium on Theory of computing
Serializability in multi-level monitor environments
ACM '78 Proceedings of the 1978 annual conference - Volume 2
Implementing semaphores by binary semaphores
ACM SIGPLAN Notices
Summarizing procedures in concurrent programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Atomizer: a dynamic atomicity checker for multithreaded programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
KISS: keep it simple and sequential
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Exploiting purity for atomicity
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Formal Methods in System Design
TLDI '05 Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation
Eternity variables to prove simulation of specifications
ACM Transactions on Computational Logic (TOCL)
Modeling VP operation: the Diwali Festival Problem
ACM SIGOPS Operating Systems Review
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
Static analysis of atomicity for programs with non-blocking synchronization
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Modeling wildcard-free MPI programs for verification
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Exploiting Purity for Atomicity
IEEE Transactions on Software Engineering
Modular verification of multithreaded programs
Theoretical Computer Science
AtomCaml: first-class atomicity via rollback
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Optimized run-time race detection and atomicity checking using partial discovered types
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Associating synchronization constraints with data in an object-oriented language
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Runtime Analysis of Atomicity for Multithreaded Programs
IEEE Transactions on Software Engineering
Accurate and efficient runtime detection of atomicity errors in concurrent programs
Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Effective static race detection for Java
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Optimistic synchronization-based state-space reduction
Formal Methods in System Design
Conditional must not aliasing for static race detection
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Foundation for Refining Concurrent Objects
Fundamenta Informaticae
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 2007 ACM workshop on Parallel and distributed systems: testing and debugging
Efficient policy analysis for administrative role based access control
Proceedings of the 14th ACM conference on Computer and communications security
Trace-based Derivation of a Lock-Free Queue Algorithm
Electronic Notes in Theoretical Computer Science (ENTCS)
Atomizer: A dynamic atomicity checker for multithreaded programs
Science of Computer Programming
Dynamic detection of atomic-set-serializability violations
Proceedings of the 30th international conference on Software engineering
Velodrome: a sound and complete dynamic atomicity checker for multithreaded programs
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)
Verifying Michael and Scott's lock-free queue algorithm using trace reduction
CATS '08 Proceedings of the fourteenth symposium on Computing: the Australasian theory - Volume 77
Simulation Refinement for Concurrency Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Adapting Petri Nets Reductions to Promela Specifications
FORTE '08 Proceedings of the 28th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Mechanizing a Correctness Proof for a Lock-Free Concurrent Stack
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Monitoring Atomicity in Concurrent Programs
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Formal Functional Verification of Device Drivers
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
Verifying correct usage of atomic blocks and typestate
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
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Complexity of Predicting Atomicity Violations
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
Meta-analysis for Atomicity Violations under Nested Locking
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
SideTrack: generalizing dynamic atomicity analysis
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
An annotation assistant for interactive debugging of programs with common synchronization idioms
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
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Sequential verification of serializability
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamically checking ownership policies in concurrent c/c++ programs
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Effects for cooperable and serializable threads
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
Distributed colored Petri net model-checking with CYCLADES
FMICS'06/PDMC'06 Proceedings of the 11th international workshop, FMICS 2006 and 5th international workshop, PDMC conference on Formal methods: Applications and technology
Optimistic synchronization-based state-space reduction
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Proving linearizability via non-atomic refinement
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
Coqa: concurrent objects with quantized atomicity
CC'08/ETAPS'08 Proceedings of the Joint European Conferences on Theory and Practice of Software 17th international conference on Compiler construction
Adversarial memory for detecting destructive races
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Separating functional and parallel correctness using nondeterministic sequential specifications
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
Detection of Transactional Memory anomalies using static analysis
Proceedings of the 8th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Task types for pervasive atomicity
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Compositional bitvector analysis for concurrent programs with nested locks
SAS'10 Proceedings of the 17th international conference on Static analysis
PENELOPE: weaving threads to expose atomicity violations
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
Mechanically verified proof obligations for linearizability
ACM Transactions on Programming Languages and Systems (TOPLAS)
A separation logic for refining concurrent objects
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communicating memory transactions
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
Specifying and checking semantic atomicity for multithreaded programs
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Reduction of interrupt handler executions for model checking embedded software
HVC'09 Proceedings of the 5th international Haifa verification conference on Hardware and software: verification and testing
Simulation refinement for concurrency verification
Science of Computer Programming
Proving isolation properties for software transactional memory
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
NDSeq: runtime checking for nondeterministic sequential specifications of parallel correctness
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Persuasive prediction of concurrency access anomalies
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Redflag: a framework for analysis of Kernel-level concurrency
ICA3PP'11 Proceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I
Syntactical colored petri nets reductions
ATVA'05 Proceedings of the Third international conference on Automated Technology for Verification and Analysis
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Extending JML for modular specification and verification of multi-threaded programs
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Sound transaction-based reduction without cycle detection
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
Simplifying linearizability proofs with reduction and abstraction
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
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
A uniform classification of common concurrency errors
EUROCAST'11 Proceedings of the 13th international conference on Computer Aided Systems Theory - Volume Part I
Verifying GPU kernels by test amplification
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Inference from models of software systems
Journal of Systems and Software
Cooperative types for controlling thread interference in Java
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Marathon: detecting atomic-set serializability violations with conflict graphs
RV'11 Proceedings of the Second international conference on Runtime verification
A Foundation for Refining Concurrent Objects
Fundamenta Informaticae
Logical relations for fine-grained concurrency
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concurrent libraries with foresight
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Unifying refinement and hoare-style reasoning in a logic for higher-order concurrency
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Efficient synthesis for concurrency by semantics-preserving transformations
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Safely reducing the cost of unit level symbolic execution through read/write analysis
ACM SIGSOFT Software Engineering Notes
Dagstuhl seminar review: consistency in distributed systems
ACM SIGACT News
Hi-index | 48.22 |
When proving that a parallel program has a given property it is often convenient to assume that a statement is indivisible, i.e. that the statement cannot be interleaved with the rest of the program. Here sufficient conditions are obtained to show that the assumption that a statement is indivisible can be relaxed and still preserve properties such as halting. Thus correctness proofs of a parallel system can often be greatly simplified.