A general-purpose algorithm for analyzing concurrent programs
Communications of the ACM
An Efficient Deadlock Avoidance Technique
IEEE Transactions on Computers
SPLASH: Stanford parallel applications for shared-memory
ACM SIGARCH Computer Architecture News
Static detection of deadlocks in polynomial time
Static detection of deadlocks in polynomial time
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Constructing compact models of concurrent Java programs
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
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
A Distributed Deadlock Resolution Algorithm for the AND Model
IEEE Transactions on Parallel and Distributed Systems
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
A minimal property for characterizing deadlock-free programs
Information Processing Letters
A deadlock detection and recovery algorithm using the formalism of a directed graph matrix
ACM SIGOPS Operating Systems Review
A Unified Framework for the Specification and Run-time Detection of Dynamic Properties in Distributed Computations
A Scalable, Sound, Eventually-Complete Algorithm for Deadlock Immunity
Runtime Verification
Deadlock immunity: enabling systems to defend against deadlocks
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Efficiency optimizations for implementations of deadlock immunity
RV'11 Proceedings of the Second international conference on Runtime verification
Hi-index | 0.00 |
A commonly employed technique to control access to shared resources in concurrent programs consists of using criticalsections. Unfortunately, it is wellkno wn that programs using severalcriticalsections may suffer from deadlocks. In this paper we introduce a new approach for ensuring deadlock-freedom in a transparent manner from the programmer's point of view. Such an approach consists of obtaining a deadlock-free "version" of the original program by using some program transformations. We formally prove the correctness of those transformations and we analyze their applicability.