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.
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.