What is Spec# I've been hearing about?
Spec# is a formal language for API contracts (influenced by JML, AsmL, and Eiffel), which extends C# with constructs for non-null types, preconditions, postconditions, and object invariants. Spec# comes with a sound programming methodology that permits specification and reasoning about object invariants even in the presence of callbacks and multi-threading. Spec# is a research vehicle that has been used to explore specifications and the dynamic/static tools that make use of them.
More in Spec#
Check out Microsoft's site on the language http://research.microsoft.com/en-us/projects/specsharp/
Here is the Microsoft Research page outlining the project.
From the site:
The Spec# programming system is a new attempt at a more cost effective way to develop and maintain high-quality software.
It's been abandoned.
http://stackoverflow.com/questions/437383/is-spec-stable-enough-to-use
Spec# is a research language involving Design by Contract.
Note that Microsoft has chosen to integrate Code Contracts into the upcoming .NET Framework 4.0 Release. More info:
Spec# is programming language that is essential an extension to C#. It adds the ability to define contracts on methods. Contacts are conditions that must be true for the method to be valid. An example of a contact would be stating that a specific parameter must not be null when the method is run.
It includes a tool that can be run that attempts to prove if the conditions are guaranteed to be met.
It was a research project by Microsoft that has now been abandoned, but the work that was done forms the basis of the code contracts in .net 4.0.