<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/466345_100x75.jpg</url>
		<title>Channel 9 - Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<link></link>
	</image>
	<description>Manuel F&#228;hndrich and&amp;nbsp;Peli de Halleux sit down&amp;nbsp;for a quick coding session that shows how to use&amp;nbsp;Code
 Contracts&amp;nbsp;and 
Pex&amp;nbsp;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.


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&amp;nbsp;Research in Software Engineering team (RiSE) coordinates Microsoft&#39;s research in Software Engineering in Redmond, USA. 
</description>
	<link></link>
	<language>en</language>
	<pubDate>Sun, 19 May 2013 20:22:32 GMT</pubDate>
	<lastBuildDate>Sun, 19 May 2013 20:22:32 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<description>
			<![CDATA[I'm having problems downloading this (in that I cannot at the moment).<br>
<br>
&nbsp;Anyone else have any joy?<br>
<p>posted by vesuvius</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761138730000000</link>
		<pubDate>Thu, 23 Apr 2009 20:04:33 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761138730000000</guid>
		<dc:creator>vesuvius</dc:creator>
	</item>
	<item>
		<title>Re: Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<description>
			<![CDATA[
<p>thats really cool <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> <br>
ive been using pex for a while and its really quite amazing how complex tests it can create&nbsp; <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><br>
</p>
<p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761180930000000</link>
		<pubDate>Thu, 23 Apr 2009 21:14:53 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761180930000000</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<description>
			<![CDATA[Hi Vesuvius, there were some little errors in the URLs. Do you still have this problem?<p>posted by peli</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761246230000000</link>
		<pubDate>Thu, 23 Apr 2009 23:03:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761246230000000</guid>
		<dc:creator>peli</dc:creator>
	</item>
	<item>
		<title>Re: Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<description>
			<![CDATA[No, the problem is fixed now.<br>
<br>
Thank you.<br>
<p>posted by vesuvius</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761531230000000</link>
		<pubDate>Fri, 24 Apr 2009 06:58:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761531230000000</guid>
		<dc:creator>vesuvius</dc:creator>
	</item>
	<item>
		<title>Re: Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<description>
			<![CDATA[It's quite nice to see this for .Net, especially with the smart code injection.
<div><br>
</div>
<div>The embedded contract language is not as clean as in Eiffel, obviously</div>
<div><font class="Apple-style-span" face="Verdana">
<pre><i>     put </i>(<i>x</i>:<i> ELEMENT</i>;<i> key</i>:<i> STRING</i>)<i> </i><b><font color="#000080">is
</font></b><i>                     </i><font color="#FF0000">-- Insert</font> <i>x</i> <font color="#FF0000">so that it will be retrievable through</font> <i>key</i><font color="#FF0000">.
</font>             <b><font color="#000080">require
</font></b><i>                     count &lt;= capacity
                     </i><b><font color="#000080">not </font></b><i>key.empty
             </i><b><font color="#000080">do
</font></b><i>                     </i>... Some insertion algorithm ...
             <b><font color="#000080">ensure
</font></b><i>                     has </i>(<i>x</i>)
<i>                     item </i>(<i>key</i>)<i> = x
                     count = </i><b><font color="#000080">old </font></b><i>count &#43; 1
             </i><b><font color="#000080">end</font></b></pre>
<pre><font class="Apple-style-span" color="#000080"><b><font class="Apple-style-span" face="'Segoe UI'" color="#000000">Also. &nbsp;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.</font><br></b></font></pre>
<pre><font class="Apple-style-span" face="'Segoe UI'"><font class="Apple-style-span">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</font></font></pre>
<pre><font class="Apple-style-span" face="'Segoe UI'"><font class="Apple-style-span"><font class="Apple-style-span" face="Verdana"><pre><i>     add </i>(Point! x)</pre></font></font></font></pre>
<pre><font class="Apple-style-span" face="'Segoe UI'"><font class="Apple-style-span">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).</font></font></pre>
<pre><font class="Apple-style-span" face="'Segoe UI'"><font class="Apple-style-span">That Code contracts actually implements the old- and result-semantics is very nice.&nbsp;</font></font></pre>
<pre><font class="Apple-style-span" face="'Segoe UI'"><font class="Apple-style-span">Can we now expect .Net to be littered with Code Contracts all over for increased code correctness?</font></font></pre>
<pre><font class="Apple-style-span" face="'Segoe UI'"><span class="Apple-style-span">(oops, there goes the beautiful formatting heh)</span></font></pre>
</font></div>
<p>posted by exoteric</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761848640000000</link>
		<pubDate>Fri, 24 Apr 2009 15:47:44 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633761848640000000</guid>
		<dc:creator>exoteric</dc:creator>
	</item>
	<item>
		<title>Re: Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<description>
			<![CDATA[Sure, language syntax would be nice, but that's the language designers job. We've been there (Spec#), done that. We can only influence main stream languages so much. What we are doing now is providing mechanisms and tools without being language designers.
 Languages can then opt-in and provide whatever syntax they want.<br>
<br>
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.<p>posted by MaF</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633762039510000000</link>
		<pubDate>Fri, 24 Apr 2009 21:05:51 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633762039510000000</guid>
		<dc:creator>MaF</dc:creator>
	</item>
	<item>
		<title>Re: Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<description>
			<![CDATA[Does it work with the code contracts feature in .net 4.0?<p>posted by soum</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633762213760000000</link>
		<pubDate>Sat, 25 Apr 2009 01:56:16 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633762213760000000</guid>
		<dc:creator>soum</dc:creator>
	</item>
	<item>
		<title>Re: Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<description>
			<![CDATA[
<p>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).<br>
<br>
If you face any issues, don't hesitate to shoot emails in our forums at <a href="http://social.msdn.microsoft.com/Forums/en-US/category/devlabs">
http://social.msdn.microsoft.com/Forums/en-US/category/devlabs</a></p>
<p>posted by peli</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633762263650000000</link>
		<pubDate>Sat, 25 Apr 2009 03:19:25 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633762263650000000</guid>
		<dc:creator>peli</dc:creator>
	</item>
	<item>
		<title>Re: Manuel Fahndrich and Peli de Halleux - The Synergy of Code Contracts and Pex</title>
		<description>
			<![CDATA[
<p>It makes sense, in the context of .NET, that this tooling&nbsp;is designed&nbsp;to be&nbsp;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.
<br>
<br>
Keep on pushing the envelope (independent of language design).<br>
C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633764485510000000</link>
		<pubDate>Mon, 27 Apr 2009 17:02:31 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/The-Synergy-of-Code-Contracts-and-Pex#c633764485510000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
</channel>
</rss>