MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Type-based analysis of usage of values for concurrent programming languages (1997) [6 citations — 3 self]

Download:
Download as a PDF | Download as a PS
by Atsushi Igarashi
http://web.yl.is.s.u-tokyo.ac.jp/~igarashi/papers/master.ps.gz
Add To MetaCart

Abstract:

We propose a type-based technique to analyze how many times each value, including communication channels, is used during execution of concurrent programs. This work is closely related with the recent work by Kobayashi, Pierce, and Turner on a linear channel system on a process calculus. They introduced a type system that ensures certain channels (called linear channels) to be used just once, and showed that how linear channels help reasoning about program behaviors. However, they only deal with a pure message passing calculus, and more importantly, the type reconstruction problem is left open. This thesis develops a type reconstruction algorithm of a variant of a linear channel type system for a concurrent language with data constructors such as records, and let-polymorphism. We can detect not only linear channels but also other used-once values (closures, records, etc.) by the type reconstruction algorithm. Computational cost of our analysis (excluding cost of ordinary type reconstruction-- which is known exponential in the worst case--) is polynomial in the size of a program. Moreover, several experiments

Citations

865 ACTORS, a model of concurrent computation in distributed systems – Agha - 1986
588 Compiling with Continuations – Appel - 1992
408 Concurrent constraint programming – Saraswat - 1993
316 The polyadic -calculus: a tutorial – Milner - 1991
264 The family of concurrent logic programming languages – Shapiro - 1989
233 Pict: A programming language based on the pi-calculus – Pierce, Turner - 2000
216 CML: A Higher-order Concurrent Language – Reppy - 1991
148 Type systems for programming languages – Mitchell - 1990
116 Linearity and the pi-calculus – Kobayashi, Pierce, et al. - 1999
114 ABCL: An Object-Oriented Concurrent System – Yonezawa - 1990
91 A practical soft type system for Scheme – Wright, Cartwright - 1997
78 Concurrent objects in a process calculus – Pierce, Turner - 1994
74 Once upon a type – Turner, Wadler, et al. - 1995
64 Higher-order concurrent programs with finite communication topology – Nielson, Nielson - 1994
61 Object-oriented concurrent programming – Yonezawa, Tokoro - 1987
44 Deciding ML typability is complete for deterministic exponential time – Mairson - 1990
39 Higher-order concurrent linear logic programming – Kobayashi, Yonezawa
38 Towards foundations for concurrent objectoriented programming – types and language design. Theory and Practice of Object Systems – Kobayashi, Yonezawa - 1995
30 A multi-threaded higherorder user interface toolkit – Gansner, Reppy - 1993
26 Static analysis of communication for asynchronous concurrent programming languages – Kobayashi, Nakade, et al. - 1995
19 Type-Theoretic Foundations for Concurrent Object-Programming – Kobayashi, Yonezawa - 1994
19 Schematic: A Concurrent Object-Oriented Extension to Scheme – Taura, Yonezawa - 1996
13 Type-based analysis of usage of communication channels for concurrent programming languages – Igarashi, Kobayashi - 1997
10 Static and dynamic processor allocation for higher-order concurrent languages – Nielson, Nielson - 1995
9 Programming in the pi-calculus: An experiment in programming language design. Tutorial notes on the Pict language. Available electronically – Pierce - 1993
5 The Boyer benchmark meets linear logic – Baker - 1993
1 A partially deadlock-free process calculus (II – Kobayashi - 1996