Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex
- Posted: Apr 23, 2009 at 11:59 AM
- 39,097 Views
- 9 Comments
Download
How do I download the videos?
- To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Why should I download videos from Channel9?
- It's an easy way to save the videos you like locally.
- You can save the videos in order to watch them offline.
- If all you want is to hear the audio, you can download the MP3!
Which version should I choose?
- If you want to view the video on your PC, Xbox or Media Center, download the High Quality WMV file (this is the highest quality version we have available).
- If you'd like a lower bitrate version, to reduce the download time or cost, then choose the Medium Quality WMV file.
- If you have a Zune, WP7, iPhone, iPad, or iPod device, choose the low or medium MP4 file.
- If you just want to hear the audio of the video, choose the MP3 file.
Right click “Save as…”
- High Quality WMV (PC, Xbox, MCE)
- MP3 (Audio only)
- MP4 (iPod, Zune HD)
- Mid Quality WMV (Lo-band, Mobile)
Manuel Fähndrich and Peli de Halleux sit down for a quick coding session that shows how to use Code
Contracts and
Pex together. Code Contracts can be used to specify what your code should do, they get turned into runtime checks which Pex can analyse and try to find counter-examples for. This was a fun session with Manuel and really shows the synergy of the two tools/approaches.
Both tools can be downloaded from Devlabs or our academic project pages.
Both tools can be downloaded from Devlabs or our academic project pages.
- Try it live at http://www.pexforfun.com
- Code Contracts: http://research.microsoft.com/contracts
- Pex: http://research.microsoft.com/pex
- See this video in French!
The Research in Software Engineering team (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.
Comments Closed
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Anyone else have any joy?
thats really cool

ive been using pex for a while and its really quite amazing how complex tests it can create
Thank you.
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(oops, there goes the beautiful formatting heh)The advantage to the programmer of course is that in the meantime, until language designers make up their mind, they can already work with this technology.
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 http://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
Remove this comment
Remove this thread
close