The Implementation of a Communication Deadlock Analysis Based on the Theory of Deadlock Analysis for the Actor Model
- 1 Shanghai Qibao Dwight High School, Shanghai, China
- 2 Shanghai Foreign Language School Affiliated to SISU, Shanghai, China
- 3 Shanghai United International School Wanyuan Campus, Shanghai, China
Abstract
We present a unique approach for communication deadlock analysis for actor-model which has an under-approximated analysis result. Our analysis detects narrowly defined communication deadlocks by finding a cyclic dependency relation in a novel dependency graph called the slave dependency graph. The slave dependency graph is based on a new relationship between Actors, slave dependency, defined by us. After that, we implement this theory in Soot, an analysis tool for Java, and use it to analyze actor-based Java program realized by Akka, a Java library that allows actor-based programming. We argue that our analysis can detect a specific kind of communication deadlock with the precise result, but has many limitations.
- Flores-Montoya, A.E., Albert, E. and Genaim, S. (2013) May-Happen-in-Parallel Based Deadlock Analysis for Concurrent Objects. Formal Techniques for Distributed Systems Lecture Notes in Computer Science, 273-288. https://doi.org/10.1007/978-3-642-38592-6_19
- von Mayrhauser, A., Hsueh, S. and Srimani, P. (1995) Automated Partial Communication Deadlock Analysis after Changes to Ada Code. Proceedings Seventh International Workshop on Computer-Aided Software Engineering, Toronto, 10-14 July 1995. https://doi.org/10.1109/case.1995.465312
- Colaço, J., Pantel, M. and Sallé, P. (1997) A Set-Constraint-Based Analysis of Actors. In: IFIP Advances in Information and Communication Technology, 107-122.
- Christakis, M. and Sagonas, K. (2011) Static Detection of Deadlocks in Erlang. Draft Proceedings of the Twelfth International Symposium on Trends in Functional Programming (TFP’11), Department of Computer Systems and Computing, Universidad Complutense de Madrid, 62-76.
- Lopez, C.T., Marr, S., Boix, E.G. and Mössenböck, H. (2018) A Study of Concurrency Bugs and Advanced Development Support for Actor-Based Programs. Lecture Notes in Computer Science Programming with Actors, 155-185. https://doi.org/10.1007/978-3-030-00302-9_6
- Agha, G.A. (1987) ACTORS: A Model of Concurrent Computation in Distributed Systems. MIT Artificial Intelligence Laboratory.
- Singhal, M. (1989) Deadlock Detection in Distributed Systems. Computer, 22, 37-48.