• 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