scispace - formally typeset
Book ChapterDOI

VCC: A Practical System for Verifying Concurrent C

Reads0
Chats0
TLDR
This paper motivates VCC, describes the verification methodology, the architecture of VCC is described, and the experience using VCC to verify the Microsoft Hyper-V hypervisor is reported on.
Abstract
VCC is an industrial-strength verification environment for low-level concurrent system code written in C. VCC takes a program (annotated with function contracts, state assertions, and type invariants) and attempts to prove the correctness of these annotations. It includes tools for monitoring proof attempts and constructing partial counterexample executions for failed proofs. This paper motivates VCC, describes our verification methodology, describes the architecture of VCC, and reports on our experience using VCC to verify the Microsoft Hyper-V hypervisor.

read more

Content maybe subject to copyright    Report

Citations
More filters
Journal ArticleDOI

High-level memory model with low-level pointer cast support for Jessie intermediate language

TL;DR: The paper describes the approaches to translation of the original C code into the analyzable intermediate language and of the intermediate language into Why3ML i.e. the input language of the Why3 deductive verification platform.
DissertationDOI

Automated Usable Functional Verification of Object-Oriented Programs

TL;DR: This thesis has built a state-of-the-art automated verifier for object-oriented sequential programs with complex functional specifications, and built a high-level technique to combine multiple tools in an IDE to make verification of object- oriented programs more usable.
Book ChapterDOI

Store Buffer Reduction with MMUs

TL;DR: The Cohen-Schirmer reduction theorem is generalized to handle programs that edit their page tables and added conditions prevent the MMU of a thread from walking page table entries owned by other threads.
Book ChapterDOI

Adding Concurrency to a Sequential Refinement Tower.

TL;DR: This paper defines a concept and a verification methodology for adding concurrency to a sequential refinement tower of abstract state machines, that is based on data refinement and a component structure, and gives a verify methodology for such atomicity refinements.
Journal ArticleDOI

A survey on the use of access permission-based specifications for program verification

TL;DR: A comprehensive survey of existing access permission-based verification approaches based on permission usage, analysis performed, language and/or tool supported, and properties being verified is provided.
References
More filters
Book ChapterDOI

Z3: an efficient SMT solver

TL;DR: Z3 is a new and efficient SMT Solver freely available from Microsoft Research that is used in various software verification and analysis applications.
Book ChapterDOI

A Temporal Logic of Nested Calls and Returns

TL;DR: This work introduces a temporal logic of calls and returns (CaRet) for specification and algorithmic verification of correctness requirements of structured programs and presents a tableau construction that reduces the model checking problem to the emptiness problem for a Buchi pushdown system.
Proceedings ArticleDOI

Separation logic: a logic for shared mutable data structures

TL;DR: An extension of Hoare logic that permits reasoning about low-level imperative programs that use shared mutable data structure is developed, including extensions that permit unrestricted address arithmetic, dynamically allocated arrays, and recursive procedures.
Book ChapterDOI

Amortised Memory Analysis Using the Depth of Data Structures

TL;DR: A related system for bounding the stack space requirements is described which uses the depth of data structures, by expressing potential in terms of maxima as well as sums, by adding extra structure to typing contexts to describe the form of the bounds.