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
On the impossibility of effectively using likely-invariants for software attestation purposes
TL;DR: The results suggest that, although further studies and future results might increase its effectiveness and reduce the side effects, software attestation based on likely-invariants is not yet ready for the real world.
Dissertation
Techniques for developing verified concurrent programs based on monitors and semaphores
TL;DR: A general approach to monitors specification and verification code is developed which can be used for solving synchronization problems in an operating system.
Extending Safe C Support In Leon
TL;DR: The aim of this project is to augment Leon and GenC in order to support a larger fragment of Scala that includes inheritance, generic programming, additional numeric types, pattern matching and more, and closely analyse the MISRA Guidelines and shape the generated C code to work towards compliance with its rules.
Open Source Software for Train Control Applications and its Architectural Implications
TL;DR: The development of a graphical domain-specific language for modelling parts of the European Train Control System (ETCS) is presented, which is based on specialised data, control flow formalisms, and language elements derived from the specification document.
Journal ArticleDOI
Automatic Function Annotations for Hoare Logic
TL;DR: This work introduces a function annotation logic that extends Hoare logic in two important ways: (1) when proving that a function satisfies a Hoare triple, intermediate reasoning is automatically stored as function annotations, and (2) these function annotations can be exploited in futureHoare logic proofs.
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.