Jonathan Birkholz

Virtual Brown Bag Summary 8/6/09

Today’s Brown Bag was lots of fun.

Claudio was off educating the masses (I believe in Denver when I talked to him last). I gladly picked up the MC duties again. Although I love doing it, there is a good deal of stress preparing for the brown bag.

Will people show? Will I have to talk all by myself? What the hell am I going to say?!

But today went great. I read Matthew Podwysocki’s blog post Spec# and Boogie Released on CodePlex and decided I would do a brief demo of Spec#. I spent around 30-40 minutes just playing with the older version of Spec# I found at the Microsoft Research site in preparation for the BB.

I was surprised at how much I picked up. Granted I have played with CodeContracts before so I was familiar with some of the concepts. Design by Contract is definitely a new school of coding thought. Its taking some time for me to assimilate the termniology and intentions. I know I have barely begun the journey necessary to fully understand and leverage this coding methodology.

For the BB, I just opened a Spec# Console project and we just started to code the stuff I learned just 30 minutes ago. I think it went well. We played with the non-null ! … we set the reference types to default to non null. We setup some pre-conditions using ‘requires’ and tested some post conditions with ‘ensures’. We didn’t really use ‘modifies’ and our one attempt at invariant worked for a simple scenario but failed with another scenario.

I forgot to record the BB. So I plan on using the new 2009 release of Spec# and doing a screencast covering the same material. At least we can record the same material if not the exact BB.

Thanks to everyone who attended and especially those who asked questions! I hope to chat with you guys again next week. I always look forward to Brown Bag Thursdays!

VBB