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.