skip to main content
research-article
Free Access

A hybrid type system for lock-freedom of mobile processes

Published:24 May 2008Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

References

  1. Acciai, L. and Boreale, M. 2008. Responsiveness in process calculi. Theor. Comput. Sci. 409, 1, 59--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bidinger, P. and Compagnoni, A. B. 2009. Pict correctness revisited. Theoret. Comput. Sci. 410, 2--3, 114--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. Boreale, M., Nicola, R. D., and Pugliese, R. 1999. Basic observables for processes. Inf. Comput. 149, 1, 77--98.Google ScholarGoogle ScholarCross RefCross Ref
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. Caires, L., and Cardelli, L. 2003. A spatial logic for concurrency (part I). Inf. Comput. 186, 2, 194--235. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. Dam, M. 1996. Model checking mobile processes. Inf. Comput. 129, 1, 35--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. Deng, Y., and Sangiorgi, D. 2006. Ensuring termination by typability. Inf. Comput. 204, 7, 1045--1082. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Feret, J. 2005. Abstract interpretation of mobile systems. J. Logic. Algebr. Program. 63, 1, 59--130.Google ScholarGoogle ScholarCross RefCross Ref
  17. Holzmann, G. J. 2003. The SPIN Model Checker: Premier and Reference Manual. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. Honda, K., and Yoshida, N. 2007. A uniform type structure for secure information flow. ACM Trans. Program. Lang. Syst. 29, 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kobayashi, N. 2002. A type system for lock-free processes. Inf. Comput. 177, 122--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Kobayashi, N. 2005a. Type-based information flow analysis for the pi-calculus. Acta Inf. 42, 4--5, 291--347. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle Scholar
  28. Leroy, X. 2000. A modular module system. J. Funct. Program. 10, 3, 269--303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Milner, R. 1993. The polyadic π-calculus: a tutorial. In Logic and Algebra of Specification, Springer-Verlag, Berlin, Germany.Google ScholarGoogle Scholar
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. Sangiorgi, D. 1996. π-calculus, internal mobility and agent-passing calculi. Theoret. Comput. Sci. 167, 2, 235--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Sangiorgi, D. 1999. The name discipline of uniform receptiveness. Theoret. Comput. Sci. 221, 1--2, 457--493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Sangiorgi, D. 2006. Termination of processes. Math. Struct. Comput. Sci. 16, 1, 1--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Sangiorgi, D. and Walker, D. 2001. The Pi-Calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. Terauchi, T., and Aiken, A. 2008. A capability calculus for concurrency and determinism. ACM Trans. Prog. Lang. Syst. 30, 5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle Scholar
  39. Yoshida, N., Berger, M., and Honda, K. 2004. Strong normalisation in the pi-calculus. Inf. Comput. 191, 2, 145--202. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A hybrid type system for lock-freedom of mobile processes

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Programming Languages and Systems
        ACM Transactions on Programming Languages and Systems  Volume 32, Issue 5
        May 2010
        168 pages
        ISSN:0164-0925
        EISSN:1558-4593
        DOI:10.1145/1745312
        Issue’s Table of Contents

        Copyright © 2008 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Accepted: 1 October 2009
        • Revised: 1 September 2009
        • Received: 1 September 2008
        • Published: 24 May 2008
        Published in toplas Volume 32, Issue 5

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!