VCC 2.3.10214.0

VccBuildServer in Development / Other

VCC screenshot

User Rating: 2.9 (31 votes)

VCC is a mechanical verifier for concurrent C programs. VCC takes a C program, annotated with function specifications, data invariants, loop invariants, and ghost code, and tries to prove these annotations correct. If it succeeds, VCC promises that your program actually meets its specifications.

VCC is sound -- if VCC verifies your program, it really is correct (modulo bugs in VCC itself).
VCC verification is modular -- VCC verifies your program one function/type definition at a time, using only the specifications of the functions it calls and the data structures it uses. This means that you can verify your code even if the functions you call haven't been written yet.
VCC supports concurrency -- you can use VCC to verify programs that use both coarse-grained and fine-grained concurrency. You can even use it to verify your concurrency control primitives.
VCC supports low-level C features (bitfields, unions, wrap-around arithmetic) -- we are verifying operating systems after all!

The work flow is illustrated in the figure below. You start by annotating your C code with contracts that describe both what your program is supposed to do and (certain aspects of) why you think that it works. Contracts are written using C preprocessor macros, so you can get rid of them using a single preprocessor switch and compile the code using your favorite C compiler. Annotated programs are translated to logical formulas using the Boogie tool, which passes them to an automated theorem prover (Z3) to check their validity. VCC is implemented primarily in F#, and supports a plugin model.

When VCC is run, several outcomes are possible:

VCC reports that the program is correct, in which the program is guaranteed to satisfy all of the annotations.
VCC reports that it is unable to verify the correctness of one or more of the annotations, in which case you can use the VCC Model Viewer to inspect how VCC thinks your program (or your description of why it works) might fail.
the theorem prover might diverge, in which case you can use use the VCC Inspector to monitor proof progress (to see which part of the program is causing the verifier to get stuck) or the Z3 Axiom Profiler to see how the prover is spending its time.

VCC is being developed primarily at the European Microsoft Innovation Center in Aachen, Germany and in the RiSE group at Microsoft Research in Redmond.

File Size: 9.5 MB License: Freeware Price: FREE
Platform: Windows XP, Windows Vista, Windows Vista x64, Windows 7, Windows 7 x64
Downloads: Total: 178 | This Month: 5 Released: 2013-09-10
VCC Similar Software

GUI Design Viewer Caretta Software Ltd.    

GUI Design Viewer is a companion product to GUI Design Studio ... a distribution can be set so that the Viewer automatically runs the prototype when the file is opened and, optionally, closes afterwards so that the project behaves almost like a real application Supports the same visual style and colour .... Free download of GUI Design Viewer

MS-Agent Properties Viewer 3.1 Abhisoft Technologies    

MS-Agent Properties Viewer is a small and easy to use Freeware that allows you to view detailed information & status about MS Agent 2.0, Characters, Installed TTS engines. You can view information like how many TTS Engines are installed, how many animation are there in a MS Agent Character, What .... Free download of MS-Agent Properties Viewer 3.1

dirtyJOE x64 1.7 (c529) ReWolf    

... Java Overall Editor is a complex editor and viewer for compiled java binaries (.class files). Grab it and give it a try to fully assess its capabilities! .... Free download of dirtyJOE x64 1.7 (c529)

software pick   

GdsViewer GB Research, LLC.    

... large capacity, fast, powerful, convenient and multifunctional GDSII viewer. * 64-bit file access * View both ASCII and binary GDSII files * High Resolution Printing * Export to ASCII and binary GDSII * Export to 3D vtk file * Export to JPEG, BMP, Clipboard * Compare cells (AND,OR,XOR,SUB) * .... Free download of GdsViewer

software pick   

dirtyJOE 1.7 (c529) ReWolf    

... Java Overall Editor is a complex editor and viewer for compiled java binaries (.class files). Grab it and give it a try to fully assess its capabilities! .... Free download of dirtyJOE 1.7 (c529)

Popular Software in Development / Other

USBDM Peter O'Donoghue    

A debugger hardware interface for a range of Freescale microcontrollers. Free download of USBDM

VisualGDB 5.0 R3 Sysprogs UG    

Visual Studio extension that seamlessly integrates GCC, GDB and GNU Make. Free download of VisualGDB 5.0 R3

Qt Creator 4.2.1 Nokia    

A cross-platform integrated development environment. Free download of Qt Creator 4.2.1

software pick   

JabRef 3.5 Morten Alver    

A graphical frontend to manage BibTeX databases. Free download of JabRef 3.5

Arduino 1.8.1 Arduino    

Easy to write code and upload it to the i/o board. Free download of Arduino 1.8.1