Herman Venter - The Common Compiler Infrastruture goes Open Source

The Research in Software Engineering team (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.
thats really cool
ive been using pex for a while and its really quite amazing how complex tests it can create
put (x: ELEMENT; key: STRING) is -- Insert x so that it will be retrievable through key. require count <= capacity not key.empty do ... Some insertion algorithm ... ensure has (x) item (key) = x count = old count + 1 end
Also. I don't quite agree that ensurances should come first (contrary to Eiffel), but granted, using the embedded technique where ther contracts are blended in with the rest of the code, it may be a better technique for readability. Maybe.
It's also striking how much use of contracts can be devoted to the type constraint for reference types that nullness not be part of the domain. How nice it would be with a simple language extension, even if only interpreted as a contract
add (Point! x)
It's again the annoying wrong-default situation; as with of nullness over non-nullness there's also the variance over invariance (well, im/mutability if you will).
That Code contracts actually implements the old- and result-semantics is very nice.
Can we now expect .Net to be littered with Code Contracts all over for increased code correctness?
(oops, there goes the beautiful formatting heh)
Yes - Code Contracts is the contract feature of .net 4.0 and Pex can already handle .net 4.0 processes. Since the Contracts API is still evolving there might be a difference between the .net 4.0 CTP release and the latest Code Contracts download (which Pex
supports).
If you face any issues, don't hesitate to shoot emails in our forums at
https://social.msdn.microsoft.com/Forums/en-US/category/devlabs
It makes sense, in the context of .NET, that this tooling is designed to be language independent (just like .NET...). Why should every managed language have to provide the same internal semantics and language-appropriate syntax when a single shared library
and IDE toolset gives all CLS compliant languages the same functionality for free? I think you guys are doing the right thing here.
Keep on pushing the envelope (independent of language design).
C