Title :
Modular specification and verification of interprocess communication
Author :
Alkassar, Eyad ; Cohen, Emmanuel ; Hillebrand, Mark ; Pentchev, Hristo
Author_Institution :
Saarland Univ., Saarbrücken, Germany
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;
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