• DocumentCode
    2004744
  • Title

    VCC: Contract-based modular verification of concurrent C

  • Author

    Dahlweid, Markus ; Moskal, Michal ; Santen, Thomas ; Tobies, Stephan ; Schulte, Wolfram

  • Author_Institution
    Eur. Microsoft Innovation Center, Aachen
  • fYear
    2009
  • fDate
    16-24 May 2009
  • Firstpage
    429
  • Lastpage
    430
  • Abstract
    Most system level software is written in C and executed concurrently. Because such software is often critical for system reliability, it is an ideal target for formal verification. Annotated C and the Verified C Compiler (VCC) form the first modular sound verification methodology for concurrent C that scales to real-world production code. VCC is integrated in Microsoft Visual Studio and it comes with support for verification debugging: an explorer for counter-examples of failed proofs helps to find errors in code or specifications, and a prover log analyzer helps debugging proof attempts that exhaust available resources (memory, time). VCC is currently used to verify the core of Microsoft Hyper-V, consisting of 50,000 lines of system-level C code.
  • Keywords
    C language; formal verification; program compilers; program debugging; software reliability; Microsoft Hyper-V; Microsoft visual studio; annotated C; contract-based modular verification; formal verification; log analyzer; modular sound verification methodology; real-world production code; system level software; system reliability; system-level C code; verification debugging; verified C compiler; Concurrent computing; Contracts; Data structures; Debugging; Formal verification; Production; Reliability; Software systems; Technological innovation; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on
  • Conference_Location
    Vancouver, BC
  • Print_ISBN
    978-1-4244-3495-4
  • Type

    conf

  • DOI
    10.1109/ICSE-COMPANION.2009.5071046
  • Filename
    5071046