• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

A Precise Yet Efficient Memory Model For C (2008)

Cached

  • Download as a PDF

Download Links

  • [research.microsoft.com]
  • [research.microsoft.com]
  • [www.research.microsoft.com]
  • [research.microsoft.com]
  • [www.research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Ernie Cohen , Michał Moskal , Wolfram Schulte , Stephan Tobies
Citations:12 - 9 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Cohen08aprecise,
    author = {Ernie Cohen and Michał Moskal and Wolfram Schulte and Stephan Tobies},
    title = {A Precise Yet Efficient Memory Model For C},
    year = {2008}
}

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

Verification for OO programs typically starts from a strongly typed object model in which distinct objects/fields are guaranteed not to overlap. This model simplifies verification by eliminating all “uninteresting” aliasing and allowing the use of more efficient frame axioms. Unfortunately, this model is unsound and incomplete for languages like C, where “objects ” can overlap almost arbitrarily. Sound verification for C therefore typically starts from an untyped memory model, where memory is just an array of bytes). The untyped model, however, adds substantial annotation burden, and reasoning in the untyped model is computationally expensive. We propose a sound typed semantics for C that provides the annotational and computational advantages of the typed object model while remaining sound and complete for C. We maintain in ghost state a predicate identifying where the “valid ” objects are, and introduce invariants and proof obligations that guarantee that the valid objects are suitably antialiased, and that (almost) all objects appearing in the program are valid. We describe the implementation of this approach in VCC (a sound verifier for C being used to verify the Microsoft Hypervisor) and the resulting performance gains.

Citations

1310 A Discipline of Programming - Dijkstra - 1976
381 The Spec# programming system: An overview - Barnett, Leino, et al. - 2004
352 Simplification by cooperating decision procedures - Nelson, Oppen - 1979
186 Formal certification of a compiler back-end, or: programming a compiler with a proof assistant - Leroy - 2006
161 Boogie: A modular reusable verifier for object-oriented programs - Barnett, Chang, et al. - 2005
121 High integrity software: the Spark approach to safety and security - Barnes - 2003
74 Boogiepl: a typed procedural language for checking object-oriented programs - DeLine, Leino - 2005
56 Multi-prover verification of C programs - Filliâtre, Marché - 2004
45 M.: Types, bytes, and separation logic - Tuch, Klein, et al.
29 Verification of Sequential Imperative Programs in Isabelle/HOL - Schirmer - 2006
25 Unifying type checking and property checking for low-level code - Condit, Hackett, et al. - 2009
13 KeY-C: A tool for verification of C programs - Mürk, Larsson, et al. - 2007
11 A practical verification methodology for concurrent programs - Cohen, Schulte, et al. - 2009
7 Z3: An Efficient SMT - Moura, Bjrner - 2008
6 Vx86: x86 assembler simulated in c powered by automated theorem proving - Maus, Moskal, et al.
4 Verification of c programs using automated reasoning - Crocker, Carlton - 2007
4 Specification and verification of the windows card runtime environment using abstract state machines - Gurevich, Wallace - 1999
2 On the verification of a “baby” hypervisor for a RISC machine; draft 0, January 2008. http://www-wjp.cs.uni-sb.de/ lehre/vorlesung/rechnerarchitektur/ws0607/layouts/hypervisor. pdf - Alkassar, Paul
1 de Moura and Nikolaj Bjrner. Z3: An Efficient SMT Solver, volume 4963/2008 - Leonardo
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University