Spec#

E440617

Spec# is a formally specified, contract-based extension of the C# programming language designed to support program verification and static checking of code correctness.

Try in SPARQL Jump to: Surface forms Statements Referenced by

All labels observed (1)

Label Occurrences
Spec# canonical 2

Statements (50)

Predicate Object
instanceOf programming language extension
research project
verification-oriented programming language
basedOn C# NERFINISHED
developedAt Microsoft Research Redmond NERFINISHED
developedBy Microsoft Research NERFINISHED
developer K. Rustan M. Leino NERFINISHED
Mike Barnett NERFINISHED
Rustan Leino NERFINISHED
documentation Spec# Programming System: An Overview NERFINISHED
firstPublicationYear 2004
goal enable early detection of programming errors
improve software reliability
support formal reasoning about code
hasComponent Spec# Visual Studio integration NERFINISHED
Spec# compiler
Spec# language NERFINISHED
Spec# static program verifier NERFINISHED
hasFeature automatic verification condition generation
checked exceptions-like constructs
design-by-contract
frame conditions
integration with theorem provers
loop invariants
modifies clauses
non-null types
object invariants
ownership annotations
postconditions
preconditions
runtime contract checking
static contract checking
termination checks
hasProgrammingLanguage C# NERFINISHED
influenced Code Contracts for .NET NERFINISHED
Dafny programming language NERFINISHED
integratesWith Microsoft Visual Studio NERFINISHED
license Microsoft Research Shared Source license
paradigm contract-based programming
imperative
object-oriented
supports modular verification
object-oriented verification
program verification
separation of specification and implementation
static checking of code correctness
targetPlatform .NET NERFINISHED
uses Boogie intermediate verification language NERFINISHED
Z3 theorem prover NERFINISHED
website https://www.microsoft.com/en-us/research/project/spec/

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

Eiffel influenced Spec#