Differences between Code Contract and Spe #

I want to implement DBC in C #. I came across a SpeC # contract and Code for it.
What is the difference between SpeC # and Code Contract?

+4
source share
1 answer

These are from Microsoft Research Code Contract FAQs :

Does the Contract code contain anything with SpeC #?

Code contracts are a by-product of the Spe # project. Research center Spe # understand the meaning of object invariants in the presence of inheritance, callback, smoothing and multithreading. SpeC # is a superset of C # v2.0 and uses a rewriting source to weave contracts into code. It uses the generation of verification conditions and the proof of the theorem for static verification of Spe # code. But it is reasonable to cope with all the complex problems around the support object for invariants: the check becomes non-trivial. This is why Spe # also needs a discipline of ownership in order to know which objects can or cannot be aliases of each other.

Spe#, . Spe#, Code Contracts , .NET, VB # F #. MSIL , , . , , ; , .

, , Code Contracts "" .

+4

All Articles