All Topics  
Spec sharp

 

   Email Print
   Bookmark   Link

 

Spec sharp


 
 

Spec# is a programming languageProgramming language

A programming language is an artificial language that can be used to control the behavior of a machine, particularly a compu...
 with specification languageSpecification language

A specification language is a formal language used in computer science....
 features that extends the capabilities of the C# programming language with EiffelEiffel (programming language)

Eiffel is an ISO-standardized object-oriented programming language designed for extensibility, reusability, reliability and ...
-like contractsDesign by contract

Design by contract, DBC or Programming by contract is a methodology for designing computer software....
, including object invariantObject invariant

An object invariant, or representation invariant, is an object-oriented programming construct consisting of a set of i...
s, preconditions and post-conditions. Like ESC/JavaESC/Java

ESC/Java, the "Compaq Extended Static Checker for Java," is a programming tool that attempts to find common run-time errors ...
, it includes a static checking tool based on a theorem prover that is able to statically verify many of these invariants. It also includes a variety of other minor extensions to the language, such as non-null reference types.

Microsoft ResearchMicrosoft Research

Microsoft Research is a division of Microsoft created in 1991 for researching various computer science topics and issues....
 developed both Spec# and C#; in turn, Spec# serves as the foundation of the Sing#Sing sharp

Sing# is a concurrent programming language that is a superset of the Spec# programming language; in turn, Spec# is an extens...
 programming language, which Microsoft Research also developed.

Sources

  • Barnett, M., K. R. M. Leino, W. Schulte, "The Spec# Programming System: An Overview." Proceedings of Construction and Analysis of Safe, Secure and Interoperable Smart Devices (CASSIS), Marseilles. Springer-Verlag, 2004.

See also

  • EiffelEiffel (programming language)

    Eiffel is an ISO-standardized object-oriented programming language designed for extensibility, reusability, reliability and ...
  • SingularitySingularity (operating system)

    Singularity is a Microsoft Research project started in 2003 to build a highly-dependable operating system in which the kerne...
  • Sing#Sing sharp

    Sing# is a concurrent programming language that is a superset of the Spec# programming language; in turn, Spec# is an extens...
  • C#

External links

  • from Microsoft ResearchMicrosoft Research

    Microsoft Research is a division of Microsoft created in 1991 for researching various computer science topics and issues....