Abstract
We propose a type system for lock-freedom in the π-calculus, which guarantees that certain communications will eventually succeed. Distinguishing features of our type system are: it can verify lock-freedom of concurrent programs that have sophisticated recursive communication structures; it can be fully automated; it is hybrid, in that it combines a type system for lock-freedom with local reasoning about deadlock-freedom, termination, and confluence analyses. Moreover, the type system is parameterized by deadlock-freedom/termination/confluence analyses, so that any methods (e.g. type systems and model checking) can be used for those analyses. A lock-freedom analysis tool has been implemented based on the proposed type system, and tested for nontrivial programs.
Supplemental Material
Available for Download
Online appendix to a hybrid type system for lock-freedom of mobile processes on article 16.
- Acciai, L. and Boreale, M. 2008. Responsiveness in process calculi. Theor. Comput. Sci. 409, 1, 59--93. Google Scholar
Digital Library
- Ben-Amram, A. M. and Lee, C. S. 2007. Program termination analysis in polynomial time. ACM Trans. Prog. Lang. Syst. 29, 1 (Article 5). Google Scholar
Digital Library
- Bidinger, P. and Compagnoni, A. B. 2009. Pict correctness revisited. Theoret. Comput. Sci. 410, 2--3, 114--127. Google Scholar
Digital Library
- Bodei, C., Degano, P., Nielson, F., and Nielson, H. R. 1998. Control flow analysis for the pi-calculus. In Proceedings of CONCUR'98. Lecture Notes in Computer Science, vol. 1466. Springer-Verlag, Berlin, Germany, 84--98. Google Scholar
Digital Library
- Boreale, M., Nicola, R. D., and Pugliese, R. 1999. Basic observables for processes. Inf. Comput. 149, 1, 77--98.Google Scholar
Cross Ref
- Boyapati, C., Lee, R., and Rinard, M. 2002. Ownership types for safe programming: Preventing data races and deadlocks. In Proceedings of OOPSLA 2002. ACM, New York, 211--230. Google Scholar
Digital Library
- Brinksma, E., Rensink, A., and Volger, W. 1995. Fair testing. In Proceedings of CONCUR 1995. Lecture Notes in Computer Science, vol. 962. Springer-Verlag, Berlin, Germany, 313--327. Google Scholar
Digital Library
- Caires, L. 2007. Logical semantics of types for concurrency. In Proceedings of CALCO 2007. Lecture Notes in Computer Science, vol. 4624. Springer-Verlag, Berlin, Germany, 16--35. Google Scholar
Digital Library
- Caires, L., and Cardelli, L. 2003. A spatial logic for concurrency (part I). Inf. Comput. 186, 2, 194--235. Google Scholar
Digital Library
- Chaki, S., Rajamani, S., and Rehof, J. 2002. Types as models: Model checking message-passing programs. In Proceedings of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL). ACM, New York, 45--57. Google Scholar
Digital Library
- Cook, B., Gotsman, A., Podelski, A., Rybalchenko, A., and Vardi, M. Y. 2007a. Proving that programs eventually do something good. In Proceedings of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL). ACM, New York, 265--276. Google Scholar
Digital Library
- Cook, B., Podelski, A., and Rybalchenko, A. 2007b. Proving thread termination. In Proceedings of the Programming Language Design and Implementation (PLDI). ACM, New York, 320--330. Google Scholar
Digital Library
- Dam, M. 1996. Model checking mobile processes. Inf. Comput. 129, 1, 35--51. Google Scholar
Digital Library
- Demangeon, R., Hirschkoff, D., Kobayashi, N., and Sangiorgi, D. 2008. On the complexity of termination inference for processes. In Proceedings of the Conference on Trusted Global Computing (TGC'08). Lecture Notes in Computer Science, vol. 4912. Springer-Verlag, Berlin, Germany, 140--155. Google Scholar
Digital Library
- Deng, Y., and Sangiorgi, D. 2006. Ensuring termination by typability. Inf. Comput. 204, 7, 1045--1082. Google Scholar
Digital Library
- Feret, J. 2005. Abstract interpretation of mobile systems. J. Logic. Algebr. Program. 63, 1, 59--130.Google Scholar
Cross Ref
- Holzmann, G. J. 2003. The SPIN Model Checker: Premier and Reference Manual. Addison-Wesley, Reading, MA. Google Scholar
Digital Library
- Honda, K., Vasconcelos, V., and Yoshida, N. 2000. Secure information flow as typed process behaviour. In Proceedings of the European Symposium on Programming (ESOP'00). Lecture Notes in Computer Science, vol. 1782. Springer-Verlag, Berlin, Germany, 180--199. Google Scholar
Digital Library
- Honda, K., and Yoshida, N. 2007. A uniform type structure for secure information flow. ACM Trans. Program. Lang. Syst. 29, 6. Google Scholar
Digital Library
- Hugo Vieira, L. C., and Viegas, R. 2005. The spatial logic model checker user's manual v1.0. TR-DI/FCT/UNL-05, http://ctp.di.fct.unl.pt/SLMC/.Google Scholar
- Jones, C. 1993. A π-calculus semantics for an object-based design notation. In Proceedings of CONCUR'93. Lecture Notes in Computer Science, vol. 715. Springer-Verlag, Berlin, Germany, 158--172. Google Scholar
Digital Library
- Kobayashi, N. 2002. A type system for lock-free processes. Inf. Comput. 177, 122--159. Google Scholar
Digital Library
- Kobayashi, N. 2005a. Type-based information flow analysis for the pi-calculus. Acta Inf. 42, 4--5, 291--347. Google Scholar
Digital Library
- Kobayashi, N. 2005b. TyPiCal: A type-based static analyzer for the pi-calculus. Tool available at http://www.kb.ecei.tohoku.ac.jp/~koba/typical/.Google Scholar
- Kobayashi, N. 2006. A new type system for deadlock-free processes. In Proceedings of CONCUR 2006. Lecture Notes in Computer Science, vol. 4137. Springer-Verlag, Berlin, Germany, 233--247. Google Scholar
Digital Library
- Kobayashi, N., Pierce, B. C., and Turner, D. N. 1999. Linearity and the pi-calculus. ACM Trans. Prog. Lang. Syst. 21, 5, 914--947. Google Scholar
Digital Library
- Kobayashi, N., Suenaga, K., and Wischik, L. 2006. Resource usage analysis for the pi-calculus. Logic. Meth. Comput. Sci. 2, 3:4, 1--42.Google Scholar
- Leroy, X. 2000. A modular module system. J. Funct. Program. 10, 3, 269--303. Google Scholar
Digital Library
- Milner, R. 1993. The polyadic π-calculus: a tutorial. In Logic and Algebra of Specification, Springer-Verlag, Berlin, Germany.Google Scholar
- Natarajan, V. and Cleaveland, R. 1995. Divergence and fair testing. In Proceedings of the International Colloquium on Automata, Languages and Programming (ICALP'95). Lecture Notes in Computer Science, vol. 944. Springer-Verlag, Berlin, Germany, 648--659. Google Scholar
Digital Library
- Pierce, B. C. and Turner, D. N. 2000. Pict: A programming language based on the pi-calculus. In Proof, Language and Interaction: Essays in Honour of Robin Milner, MIT Press, Cambridge, MA, 455--494. Google Scholar
Digital Library
- Sangiorgi, D. 1996. π-calculus, internal mobility and agent-passing calculi. Theoret. Comput. Sci. 167, 2, 235--274. Google Scholar
Digital Library
- Sangiorgi, D. 1999. The name discipline of uniform receptiveness. Theoret. Comput. Sci. 221, 1--2, 457--493. Google Scholar
Digital Library
- Sangiorgi, D. 2006. Termination of processes. Math. Struct. Comput. Sci. 16, 1, 1--39. Google Scholar
Digital Library
- Sangiorgi, D. and Walker, D. 2001. The Pi-Calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge, MA. Google Scholar
Digital Library
- Suenaga, K. and Kobayashi, N. 2007. Type-based analysis of deadlock for a concurrent calculus with interrupts. In Proceedings of ESOP 2007. Lecture Notes in Computer Science, vol. 4421. Springer-Verlag, Berlin, Germany, 490--504. Google Scholar
Digital Library
- Terauchi, T., and Aiken, A. 2008. A capability calculus for concurrency and determinism. ACM Trans. Prog. Lang. Syst. 30, 5. Google Scholar
Digital Library
- Yoshida, N. 2002. Type-based liveness guarantee in the presence of nontermination and nondeterminism. Tech. rep. 2002-20, MSC Technical Report, University of Leicester. April.Google Scholar
- Yoshida, N., Berger, M., and Honda, K. 2004. Strong normalisation in the pi-calculus. Inf. Comput. 191, 2, 145--202. Google Scholar
Digital Library
Index Terms
A hybrid type system for lock-freedom of mobile processes
Recommendations
A Hybrid Type System for Lock-Freedom of Mobile Processes
CAV '08: Proceedings of the 20th international conference on Computer Aided VerificationWe propose a type system for lock-freedom in the ï -calculus, which guarantees that certain communications will eventually succeed. Distinguishing features of our type system are: it can verify lock-freedom of concurrent programs that have ...
Type inference, principal typings, and let-polymorphism for first-class mixin modules
Proceedings of the tenth ACM SIGPLAN international conference on Functional programmingA mixin module is a programming abstraction that simultaneously generalizes λ-abstractions, records, and mutually recursive definitions. Although various mixin module type systems have been developed, no one has investigated principal typings or ...
Static lock capabilities for deadlock freedom
TLDI '12: Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementationWe present a technique --- lock capabilities --- for statically verifying that multithreaded programs with locks will not deadlock. Most previous work on deadlock prevention requires a strict total order on all locks held simultaneously by a thread, but ...






Comments