Spec# for Visual Studio .NET 2003

Nov 16, 2004 • One minute to read

From the research web site:

The Spec# programming system is a new attempt at a more cost effective way to develop and maintain high-quality software. The system consists of: * _A programming methodology, which includes a sound treatment of object invariants in object-oriented programs. _ * _The Spec# programming language, which is a superset of C# and adds things like non-null types, checked exceptions, method contracts (like pre- and postconditions), and object invariants. _ * _The Spec# compiler, which is integrated into the Microsoft Visual Studio development environment, statically enforces non-null types, emits run-time checks for method contracts and invariants, and records the specifications in metadata for consumption by the program verifier. _ * _The Spec# static program verifier, which translates programs into logical verification conditions, which are passed to an automatic theorem prover. _ * _An interface to the SpecExplorer tool for test generation and model-based testing. _

More info: http://research.microsoft.com/SpecSharp/

If you’ve ever read the Pragmatic Programmer or done contract-based programming before with tools like iContract, you’ll instantly see the value of pre- and post- conditions for code.


Music to Code By

Visual Studio 2005 Community Integration FAQ