|
ABSTRACT
The π-calculus is a formalism of computing in which we can compositionally represent dynamics of major programming constructs by decomposing them into a single communication primitive, the name passing. This work reports our experience in using a linear/affine typed π-calculus for the analysis and development of type systems of programming languages, focussing on secure information flow analysis. After presenting a basic typed calculus for secrecy, we demonstrate its usage by a sound embedding of the dependency core calculus (DCC) and by the development of a novel type discipline for imperative programs which extends both a secure multi-threaded imperative language by Smith and Volpano and (a call-by-value version of) DCC. In each case, the embedding gives a simple proof of noninterference.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Abadi, M., Secrecy in programming-language semantics, MFPS XV, ENTCS, 20 (April 1999).
|
 |
2
|
Martín Abadi , Anindya Banerjee , Nevin Heintze , Jon G. Riecke, A core calculus of dependency, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.147-160, January 20-22, 1999, San Antonio, Texas, United States
[doi> 10.1145/292540.292555]
|
| |
3
|
|
| |
4
|
|
 |
5
|
|
| |
6
|
Berger, M., Honda, K. and Yoshida, N., Sequentiality and tile -Calculus, TLCA01, LNCS 2044, 29-45, Springer, 2001.
|
| |
7
|
Boudol, G., Asynchrony and the pi-calculus, INRIA Research Report 1702, 1992.
|
| |
8
|
|
 |
9
|
|
| |
10
|
|
| |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
|
 |
15
|
|
| |
16
|
|
| |
17
|
|
| |
18
|
|
| |
19
|
|
| |
20
|
|
 |
21
|
Brian T. Howard, Inductive, coinductive, and pointed types, Proceedings of the first ACM SIGPLAN international conference on Functional programming, p.102-109, May 24-26, 1996, Philadelphia, Pennsylvania, United States
|
| |
22
|
The Haskell home page, http://haskell.org.
|
| |
23
|
|
 |
24
|
Naoki Kobayashi , Benjamin C. Pierce , David N. Turner, Linearity and the pi-calculus, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.358-371, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.237804]
|
| |
25
|
Milner, R., Functions as Processes, MSCS. 2(2):119 141, 1992,
|
| |
26
|
|
| |
27
|
|
| |
28
|
|
 |
29
|
|
| |
30
|
Pierce, B and Sangiorgi.D, Typing and subtyping for mobile processes, MSCS 6(5):409-453, 1996.
|
| |
31
|
|
| |
32
|
|
| |
33
|
|
| |
34
|
|
 |
35
|
|
| |
36
|
|
| |
37
|
|
| |
38
|
|
| |
39
|
|
| |
40
|
Yoshida, N., Berger, M. and Honda, K., Strong Normalisation in the re-Calculus, LICS'01, 311-322, (C1) (C2) (C3) IEEE, 2001.
|
| |
41
|
Yoshida, N., Honda, K. and Berger, M., Linearity and Bisimulation, To appear as MCS technical report, Leicester, 2001.
|
| |
42
|
|
|