What is Spec# I've been hearing about?

343 views Asked by At

What is Spec# I've been hearing about?

6

There are 6 answers

2
Jonathan On

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#

0
Miyagi Coder On

Check out Microsoft's site on the language http://research.microsoft.com/en-us/projects/specsharp/

0
Matthew Vines On

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.

1
Spencer Ruport On

It's been abandoned.

Is Spec# stable enough to use?

0
Robert Harvey On

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:

http://weblogs.asp.net/podwysocki/archive/2008/11/08/code-contracts-for-net-4-0-spec-comes-alive.aspx

0
Simon P Stevens On

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.

Spec# on wikipedia