Abstract
This article reviews our past work on non-standard type systems for program analysis, which started from the motivation for static analysis of concurrent objects. We discuss how the notion of linear types has evolved to behavioral types and higher-order model checking.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Abramsky, S.: Computational interpretations of linear logic. Theoretical Computer Science 111, 3–57 (1993)
Acciai, L., Boreale, M.: Responsiveness in process calculi. Theor. Comput. Sci. 409(1), 59–93 (2008)
Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press (1986)
Andreoli, J.-M., Pareschi, R.: Linear objects: Logical processes with built-in inheritance. New Generation Computing 9, 445–473 (1991)
Baker, H.G.: Lively linear lisp – look ma, no garbage? ACM Sigplan Notices 27(8), 89–98 (1992)
Barendregt, H., Coppo, M., Dezani-Ciancaglini, M.: A filter lambda model and the completeness of type assignment. J. Symb. Log. 48(4), 931–940 (1983)
Bellin, G., Scott, P.J.: On the π-calculus and linear logic. Technical Report ECS-LFCS-92-232, Department of Conputer Science, The University of Edinburgh (1992)
Blass, A.: A game semantics for linear logic. Ann. Pure Appl. Logic 56(1-3), 183–220 (1992)
Chaki, S., Rajamani, S., Rehof, J.: Types as models: Model checking message-passing programs. In: Proceedings of ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages (POPL), pp. 45–57. ACM Press (2002)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press (1999)
Girard, J.-Y.: Linear logic. Theoretical Computer Science 50, 1–102 (1987)
Hodas, J.S., Miller, D.: Logic programming in a fragment of intuitionistic linear logic. Information and Computation 110(2), 327–365 (1994)
Honda, K., Yoshida, N.: A uniform type structure for secure information flow. In: Proceedings of ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages (POPL), pp. 81–92 (2002)
Igarashi, A., Kobayashi, N.: A generic type system for the pi-calculus. Theoretical Computer Science 311(1-3), 121–163 (2004)
Igarashi, A., Kobayashi, N.: Resource usage analysis. ACM Transactions on Programming Languages and Systems 27(2), 264–313 (2005)
Knapik, T., Niwiński, D., Urzyczyn, P.: Higher-order pushdown trees are easy. In: Nielsen, M., Engberg, U. (eds.) Fossacs 2002. LNCS, vol. 2303, pp. 205–222. Springer, Heidelberg (2002)
Kobayashi, N.: A partially deadlock-free typed process calculus. ACM Transactions on Programming Languages and Systems 20(2), 436–482 (1998)
Kobayashi, N.: Type systems for concurrent programs. In: Aichernig, B.K. (ed.) Formal Methods at the Crossroads. From Panacea to Foundational Support. LNCS, vol. 2757, pp. 439–453. Springer, Heidelberg (2003), http://www-kb.is.s.u-tokyo.ac.jp/~koba/papers/tutorial-type-extended.pdf
Kobayashi, N.: Type-based information flow analysis for the pi-calculus. Acta Informatica 42(4-5), 291–347 (2005)
Kobayashi, N.: Model-checking higher-order functions. In: Proceedings of PPDP 2009, pp. 25–36. ACM Press (2009)
Kobayashi, N.: Types and higher-order recursion schemes for verification of higher-order programs. In: Proceedings of ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages (POPL), pp. 416–428 (2009)
Kobayashi, N.: Higher-order model checking: From theory to practice. In: Proceedings of the 26th Annual IEEE Symposium on Logic in Computer Science (LICS 2011), pp. 219–224. IEEE Computer Society (2011)
Kobayashi, N.: A practical linear time algorithm for trivial automata model checking of higher-order recursion schemes. In: Hofmann, M. (ed.) FOSSACS 2011. LNCS, vol. 6604, pp. 260–274. Springer, Heidelberg (2011)
Kobayashi, N., Igarashi, A.: Model checking higher-order programs with recursive types. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 431–450. Springer, Heidelberg (2013)
Kobayashi, N., Nakade, M., Yonezawa, A.: Static analysis of communication for asynchronous concurrent programming languages. In: Mycroft, A. (ed.) SAS 1995. LNCS, vol. 983, pp. 225–242. Springer, Heidelberg (1995)
Kobayashi, N., Ong, C.-H.L.: A type system equivalent to the modal mu-calculus model checking of higher-order recursion schemes. In: Proceedings of LICS 2009, pp. 179–188. IEEE Computer Society Press (2009)
Kobayashi, N., Pierce, B.C., Turner, D.N.: Linearity and the pi-calculus. ACM Transactions on Programming Languages and Systems 21(5), 914–947 (1999)
Kobayashi, N., Sato, R., Unno, H.: Predicate abstraction and CEGAR for higher-order model checking. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 222–233 (2011)
Kobayashi, N., Suenaga, K., Wischik, L.: Resource usage analysis for the pi-calculus. Logical Methods in Computer Science 2(3:4), 1–42 (2006)
Kobayashi, N., Yonezawa, A.: ACL – a concurrent linear logic programming paradigm. In: Logic Programming: Proceedings of the 1993 International Symposium, pp. 279–294. MIT Press (1993)
Kobayashi, N., Yonezawa, A.: Asynchronous communication model based on linear logic. Formal Aspects of Computing 7(2), 113–149 (1995)
Kobayashi, N., Yonezawa, A.: Towards foundations for concurrent object-oriented programming – types and language design. Theory and Practice of Object Systems 1(4), 243–268 (1995)
Lafont, Y., Streicher, T.: Games semantics for linear logic. In: Proceedings of LICS 1991, pp. 43–50 (1991)
Mackie, I.: Lilac: A functional programming language based on linear logic. Journal of Functional Programming 4(4), 1–39 (1994)
Milner, R.: Communication and Concurrency. Prentice Hall (1989)
Milner, R.: Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press (1999)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I, II. Information and Computation 100, 1–77 (1992)
Ong, C.-H.L.: On model-checking trees generated by higher-order recursion schemes. In: LICS 2006, pp. 81–90. IEEE Computer Society Press (2006)
Ong, C.-H.L., Tsukada, T.: Two-level game semantics, intersection types, and recursion schemes. In: Czumaj, A., Mehlhorn, K., Pitts, A., Wattenhofer, R. (eds.) ICALP 2012, Part II. LNCS, vol. 7392, pp. 325–336. Springer, Heidelberg (2012)
Pierce, B.C., Turner, D.N.: Concurrent objects in a process calculus. In: Ito, T. (ed.) TPPP 1994. LNCS, vol. 907, pp. 187–215. Springer, Heidelberg (1995)
Sangiorgi, D.: Typed π-calculus at work: a proof of jones’s parallelisation transformation on concurrent objects. In: Fourth Workshop on Foundations of Object-Oriented Languages, FOOL 4 (1997)
Sangiorgi, D., Walker, D.: The Pi-Calculus: A Theory of Mobile Processes. Cambridge University Press (2001)
Schwoon, S.: Model-Checking Pushdown Systems. PhD thesis, Technische Universität München (2002)
Takeuchi, K., Honda, K., Kubo, M.: An interaction-based language and its typing system. In: Halatsis, C., Philokyprou, G., Maritsas, D., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, pp. 398–413. Springer, Heidelberg (1994)
Turner, D.N., Wadler, P., Mossin, C.: Once upon a type. In: Proceedings of Functional Programming Languages and Computer Architecture, San Diego, California, pp. 1–11 (1995)
van Bakel, S.: Intersection type assignment systems. Theor. Comput. Sci. 151(2), 385–435 (1995)
Wadler, P.: Linear types can change the world? In: Programming Concepts and Methods. North-Holland (1990)
Yonezawa, A.: ABCL: An Object-Oriented Concurrent System. MIT Press (1990)
Yonezawa, A., Tokoro, M.: Object-Oriented Concurrent Programming. The MIT Press (1987)
Yoshida, N.: Graph types for monadic mobile processes. In: Chandru, V., Vinay, V. (eds.) FSTTCS 1996. LNCS, vol. 1180, pp. 371–386. Springer, Heidelberg (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Kobayashi, N. (2014). From Linear Types to Behavioural Types and Model Checking. In: Agha, G., et al. Concurrent Objects and Beyond. Lecture Notes in Computer Science, vol 8665. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44471-9_6
Download citation
DOI: https://doi.org/10.1007/978-3-662-44471-9_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-44470-2
Online ISBN: 978-3-662-44471-9
eBook Packages: Computer ScienceComputer Science (R0)