ACM Home Page
Please provide us with feedback. Feedback
Types as models: model checking message-passing programs
Full text PdfPdf (1.58 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Portland, Oregon
Pages: 45 - 57  
Year of Publication: 2002
ISBN:1-58113-450-9
Also published in ...
Authors
Sagar Chaki  Carnegie Mellon University, Pittsburgh, PA
Sriram K. Rajamani  Microsoft Research, Redmond, WA
Jakob Rehof  Microsoft Research, Redmond, WA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 57,   Citation Count: 15
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/503272.503278
What is a DOI?

ABSTRACT

Abstraction and composition are the fundamental issues in making model checking viable for software. This paper proposes new techniques for automating abstraction and decomposition using source level type information provided by the programmer. Our system includes two novel components to achieve this end: (1) a behavioral type-and-effect system for the π-calculus, which extracts sound models as types, and (2) an assume-guarantee proof rule for carrying out compositional model checking on the types. Open simulation between CCS processes is used as both the subtyping relation in the type system and the abstraction relation for compositional model checking.We have implemented these ideas in a tool---PIPER. PIPER exploits type signatures provided by the programmer to partition the model checking problem, and emit model checking obligations that are discharged using the SPIN model checker. We present the details on applying PIPER on two examples: (1) the SIS standard for managing trouble tickets across multiple organizations and (2) a file reader from the pipelined implementation of a web server.


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
2
 
3
 
4
 
5
T. Anitoft, F.Nielson, and H.R. Nielson. Type and Effect Systems. Behaviours for Concurrency. Imperial College Press, 1999.
 
6
S. Chaki, S.K. Rajaniani, and J. Rehof. Types as models: Model checking niessage-passing programs. Technical report, Microsoft Research, 2001. Available at research.microsoft, com/behave.
 
7
S. Christensen, Y. Hirshfeld, and F. Moiler. Decidable subsets of CCS. The Computer Journal, 37(4):233-242, 1994.
 
8
 
9
Customer Support Consortium (CSC) and Desktop Management Task Force (DMTF). Service incident standard (sis) specification, version 1.1. Technical report, DMTF. Available at WWW. dmtf. org.
 
10
 
11
12
 
13
A. Gordon and A. Jeffrey. Typing corresondence assertions for communication protocols. In MFPS: Mathematical Foundations of Programming Semantics, pages 99 120. BRICS Notes Series NS-01-2, 2001. T. A. Henzinger, X. Liu, S. Qadeer, and S. K.
 
14
 
15
 
16
 
17
 
18
19
 
20
 
21
J. R. Larus and M. Parkes. Using cohort scheduling to enhance server performance. Technical Report MSR-TR-2001-39, Microsoft Research, 2001.
 
22
 
23
 
24
J. Misra and K. M. Chandy. Proofs of networks of processes. IEEE Transactions on Software Engineering, SE-7(4):417-426, 1981.
25
26
 
27
 
28
 
29
 
30
 
31

CITED BY  15
Collaborative Colleagues:
Sagar Chaki: colleagues
Sriram K. Rajamani: colleagues
Jakob Rehof: colleagues