Book ChapterDOI
VCC: A Practical System for Verifying Concurrent C
Ernie Cohen,Markus Dahlweid,Mark Hillebrand,Dirk Leinenbach,Michal Moskal,Thomas Santen,Wolfram Schulte,Stephan Tobies +7 more
- Vol. 5674, pp 23-42
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
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.