闲云

一张白纸,总想写上点什么...
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

【SpeC#】-C#的又一同胞兄弟

Posted on 2006-06-14 08:47  闲云  阅读(290)  评论(0编辑  收藏  举报
        前天偶逛微软的http://research.microsoft.com/,发现.NET中又添新丁了,
不过尚处实验室中。
        http://research.microsoft.com/specsharp/【官方站点】    
  • Spec# 1.0.5030 for Microsoft Visual Studio .NET 2003 - Download, Release Notes
  • Spec# 1.0.6003 for Microsoft Visual Studio .NET 2005 (RTM) - Download, Release Notes

------------------------------------------------------------------------------------------------------------------------

Overview

The Spec# programming system is a new attempt at a more cost effective way to develop and maintain high-quality software.  Spec# is pronounced "Spec sharp" and can be written (and searched for) as the "specsharp" or "Spec# programming system".  The Spec# system consists of:

  • The Spec# programming language.  Spec# is an extension of the object-oriented language C#.  It extends the type system to include non-null types and checked exceptions.  It provides method contracts in the form of pre- and postconditions as well as object invariants.
  • The Spec# compiler.  Integrated into the Microsoft Visual Studio development environment for the .NET platform, the compiler statically enforces non-null types, emits run-time checks for method contracts and invariants, and records the contracts as metadata for consumption by downstream tools.
  • The Spec# static program verifier.  This component (codenamed Boogie) generates logical verification conditions from a Spec# program.  Internally, it uses an automatic theorem prover that analyzes the verification conditions to prove the correctness of the program or find errors in it.

 -----------------------------------------------------------------------------------------------------------------------------