Today I attended the Microsoft Research Group's Techfest.  It's like a giant science fair for the folk over in MS Research to strut their stuff and show us blue badges the latest and greatest in the world of technology.  Anyways, I can't say much other than I was VERY impressed. 

In particular, a lecture by Colin Campbell from the Foundations of Software Engineering group was particularly interesting.(http://research.microsoft.com/foundations/) One of the often forgotten areas of research is that of formal software testing practices.  I'm sure that everyone out there who's been through Electrical Engineering/Digital Electronics 101 courses knows about finite state machines and how you can model event driven scenarios as as set of transitions between various states.  In fact, I remember an interview question somewhere in which I was asked to model a Pop machine as an FSM in order to test it.  Anyways, the basis of using this model for testing comes from a language called ASML (Abstract State Machine Language).  The idea is that ASML provides a way to communicate a design non-ambiguosly, and that you can identify the behaviours of your component and generate tests from this specification.

Check out the free download: http://research.microsoft.com/fse/asml/   Cool stuff, eh?

This post is stated “as is” and confers no warrantees and guarantees no rights.