<?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 - Research: Contract Checking and Automated Test Generation with Pex</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Events/PDC/PDC08/TL51/rss"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/220/430795_220x165.jpg</url>
		<title>Channel 9 - Research: Contract Checking and Automated Test Generation with Pex</title>
		<link></link>
	</image>
	<description>In theory, Design by Contract and unit testing are excellent approaches to improve code quality. Learn how to use code contracts that express pre-conditions, post-conditions, and object invariants in any managed language that improve testability, enhance
 static analysis, and serve as checked API documentation. Contracts are leveraged for advanced static analysis and translated into runtime checks. See how automated program exploration (Pex) discovers boundary conditions in code that cause failures and generates
 traditional unit test suites with high code coverage. Contracts and Pex work together to target contract checks, runtime failures (null dereferences, index out of range, etc.), and any other kind of assertions. Use them to write higher quality software with
 less effort.


Nikolai Tillmann
Nikolai Tillmann has been with Microsoft Research for 6 years. He is currently leading the Pex project, building an automated test case generation tool for .NET based program analysis. Previously, he worked on Spec Explorer, a model-based
 testing tool.

Mike Barnett
Mike Barnett has been at Microsoft Research since 1995. He has spent the last several years working on the Spec# project, an advanced verification environment and language for .NET.

</description>
	<link></link>
	<language>en</language>
	<pubDate>Sun, 26 May 2013 02:51:36 GMT</pubDate>
	<lastBuildDate>Sun, 26 May 2013 02:51:36 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[Mike mentions that the current design by contract features are available for download under the research license. Where can I find that download?<p>posted by JohannesH</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633613084380000000</link>
		<pubDate>Mon, 03 Nov 2008 11:27:18 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633613084380000000</guid>
		<dc:creator>JohannesH</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[<a href="http://research.microsoft.com/research/downloads/details/4ed7dd5f-490b-489e-8ca8-109324279968/details.aspx">http://research.microsoft.com/research/downloads/details/4ed7dd5f-490b-489e-8ca8-109324279968/details.aspx</a><p>posted by simone_b</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633613431280000000</link>
		<pubDate>Mon, 03 Nov 2008 21:05:28 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633613431280000000</guid>
		<dc:creator>simone_b</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[
<p>Great stuff! <br>
<br>
I must admit I was saddened to hear Spec# wouldn't be integrated into C# 4. But this is the next best thing; I'm glad to see design-by-contract getting some attention in the .NET framework itself.<br>
<br>
If I may comment on the presentation, it feels like you both should have had your own presentations. It felt too rushed and too crammed.
<br>
<br>
Having&nbsp;Mike go deeper into&nbsp;the evolution of Spec# and why they&nbsp;chose a library&nbsp;instead of&nbsp;C# langauge integration would've been great. And Nikolai covering more real-world unit testing scenarios&nbsp;with Pex -&nbsp;for example, testing code with dependencies&nbsp;like the
 file system or UI using Pex, would have been&nbsp;a great presentation&nbsp;by itself.<br>
<br>
&nbsp;Also, the rehearsed Q&amp;A between Mike and Nikolai was cheesy.&nbsp;Too tongue-in-cheek!&nbsp;<img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><br>
<br>
Beyond that, great stuff guys! I'm really happy to see DbC getting some real attention, I believe it will help us write code that more clearly expresses our intent&nbsp;and contains fewer bugs. That's something every developer can get behind. Going to go download
 and play with the VS2008-integration...</p>
<p>posted by Judah</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633613541680000000</link>
		<pubDate>Tue, 04 Nov 2008 00:09:28 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633613541680000000</guid>
		<dc:creator>Judah</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[After playing with the library for awhile, I think this has a lot of potentials.<br>
<br>
I'd like to give you guys some feedback as I considered how we would integrate this stuff into our codebase (that is, once contracts are under a commercial-friendly license!).&nbsp;Where do we send feedback?<p>posted by Judah</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633614134880000000</link>
		<pubDate>Tue, 04 Nov 2008 16:38:08 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633614134880000000</guid>
		<dc:creator>Judah</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[Hi Judah, you can&nbsp;send feedback to&nbsp;bclpub@microsoft.com<br>
<br>
Cheers,<br>
<br>
Justin Van Patten<br>
Program Manager<br>
Common Language Runtime<p>posted by JustinVP</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633615582680000000</link>
		<pubDate>Thu, 06 Nov 2008 08:51:08 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633615582680000000</guid>
		<dc:creator>JustinVP</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[The presentation was great and I love Pex and the contract stuff, but when are we going to get a license on it so that I can use it in vs2008 for the projects I am developing commerically, instead of just and academic license?<br>
<p>posted by dosborn278</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633615764240000000</link>
		<pubDate>Thu, 06 Nov 2008 13:53:44 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633615764240000000</guid>
		<dc:creator>dosborn278</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[Agreed....Your Pex talk was one of the favorite I attended at PDC (despite the cheesy scripted dialogue - I didn't mind it&nbsp; <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />&nbsp;.&nbsp; You guys did great breaking it down for people new to Design by Contract such as myself.<br>
<br>
But until this stuff is released under a non-research license, I just can't feel like I can use it and invest any time into it<br>
<br>
But great talk, great work on the technology...these are the things that excite me about where Microsoft is going<p>posted by BradO</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633615824710000000</link>
		<pubDate>Thu, 06 Nov 2008 15:34:31 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633615824710000000</guid>
		<dc:creator>BradO</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[Thanks for all the great comments! I'm glad you pointed out our limitations as comedians: Nikolai and I had been just about to quit our day jobs and head back to LA to make our names in the comedy clubs there. I guess we'll just have to stay at MSR and
 work on Contracts and Pex!<br>
<br>
I just wanted to point out that we have a web site for the project: <a href="http://research.microsoft.com/contracts">
http://research.microsoft.com/contracts</a>. That page contains a link to an email alias we've set up: codconfb _at_ microsoft _dot_ com. You can use that to send specific comments about the tools and the many bugs I'm sure you'll find in our tools. The alias
 is unfortunately one-way. We can see the mail you send to it, but you can't join the alias. We are working on a separate forum for the Code Contracts project, but it isn't set up yet.<br>
<br>
Mike<p>posted by mbarnett</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633615985070000000</link>
		<pubDate>Thu, 06 Nov 2008 20:01:47 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633615985070000000</guid>
		<dc:creator>mbarnett</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[Mike,<br>
<br>
In the talk you mention that you do IL-weaving to inject the right code for the contracts. Is this IL reader/writer something that can be used separately from Contracts? I've been using Cecil (<a href="http://www.mono-project.com/cecil">http://www.mono-project.com/cecil</a>)
 for some R&amp;D stuff and it would be awesome if there was something like this somewhere from Microsoft <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />.<br>
<br>
Regards,<br>
Jason<p>posted by JasonBock</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633616018160000000</link>
		<pubDate>Thu, 06 Nov 2008 20:56:56 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633616018160000000</guid>
		<dc:creator>JasonBock</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[
<p>Pex is now available for Visual Studio 2008 under the pre-release license. Check it out at
<a href="http://research.microsoft.com/pex/downloads.aspx">http://research.microsoft.com/pex/downloads.aspx</a> .</p>
<p>posted by peli</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633675673460000000</link>
		<pubDate>Wed, 14 Jan 2009 22:02:26 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633675673460000000</guid>
		<dc:creator>peli</dc:creator>
	</item>
	<item>
		<title>Re: Research: Contract Checking and Automated Test Generation with Pex</title>
		<description>
			<![CDATA[CCI (the framework used to rewrite the assemblies) was released as open source on codeplex at
<a href="http://ccimetadata.codeplex.com">http://ccimetadata.codeplex.com</a>. <p>posted by peli</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633760635650000000</link>
		<pubDate>Thu, 23 Apr 2009 06:06:05 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/PDC/PDC08/TL51#c633760635650000000</guid>
		<dc:creator>peli</dc:creator>
	</item>
</channel>
</rss>