DocumentCode
545665
Title
Modular specification and verification of interprocess communication
Author
Alkassar, Eyad ; Cohen, Emmanuel ; Hillebrand, Mark ; Pentchev, Hristo
Author_Institution
Saarland Univ., Saarbrücken, Germany
fYear
2010
fDate
20-23 Oct. 2010
Firstpage
167
Lastpage
174
Abstract
The usual goal in implementing IPC is to make a cross-thread procedure call look like a local procedure call. However, formal specifications of IPC typically talk only about data transfer, forcing IPC clients to use additional global invariants to recover the sequential function call semantics. We propose a more powerful specification in which IPC clients exchange knowledge and permissions in addition to data. The resulting specification is polymorphic in the specification of the service provided, yet allows a client to use IPC without additional global invariants. We verify our approach using VCC, an automatic verifier for (suitably annotated) concurrent C code, and demonstrate its expressiveness by applying it to the verification of a multiprocessor flush algorithm.
Keywords
distributed processing; formal specification; formal verification; IPC clients; automatic verifier; concurrent C code; cross-thread procedure call; data transfer; formal specification; interprocess communication; local procedure call; modular specification; multiprocessor flush algorithm; sequential function call semantics; verification; Context; Contracts; Instruction sets; Message systems; Nonvolatile memory; Protocols; Semantics;
fLanguage
English
Publisher
ieee
Conference_Titel
Formal Methods in Computer-Aided Design (FMCAD), 2010
Conference_Location
Lugano
Print_ISBN
978-1-4577-0734-6
Electronic_ISBN
978-0-9835678-0-6
Type
conf
Filename
5770946
Link To Document