{"id":169833,"date":"2004-06-11T11:30:47","date_gmt":"2004-06-11T11:30:47","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/spec\/"},"modified":"2017-06-19T09:32:43","modified_gmt":"2017-06-19T16:32:43","slug":"spec","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/spec\/","title":{"rendered":"Spec#"},"content":{"rendered":"

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.<\/p>\n\t

\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t