Deadlock Checking by a Behavioral Effect System for Lock Handling
| Title | Deadlock Checking by a Behavioral Effect System for Lock Handling |
| Publication Type | Journal Article |
| Year of Publication | 2012 |
| Authors | K. I. Pun, M. Steffen, and V. Stolz |
| Journal | Journal of Logic and Algebraic Programming |
| Volume | 81 |
| Issue | 3 |
| Publisher | Elsevier |
| Place Published | NWPT |
| Keywords | Abstraction, Behavioral type and effect systems, Concurrency, Deadlock prevention, Simulation relation, static analysis |
| Abstract | Deadlocks are a common error in programs with lock-based concurrency and are hard to avoid or even to detect. One way for deadlock prevention is to statically analyze the program code to spot sources of potential deadlocks. Often static approaches try to confirm that the lock-taking adheres to a given order, or, better, to infer that such an order exists. Such an order precludes situations of cyclic waiting for each other’s resources, which constitute a deadlock. In contrast, we do not enforce or infer an explicit order on locks. Instead we use a behavioral type and effect system that, in a first stage, checks the behavior of each thread or process against the declared behavior, which captures potential interaction of the thread with the locks. In a second step on a global level, the state space of the behavior is explored to detect potential deadlocks. We define a notion of deadlock-sensitive simulation to prove the soundness of the abstraction inherent in the behavioral description. Soundness of the effect system is proven by subject reduction, formulated such that it captures deadlock-sensitive simulation.
|
| DOI | 10.1016/j.jlap.2011.11.001 |
| Refereed Designation | Refereed |




