Wednesday, November 01, 2006


(Until I figure out a more intuitive way to lay it out, the title of this post is the link to the article.)

Wesner Moise is a former Microsoftian who is working on a group of super-top-secret apps using an AI engine he has developed and is still tweaking.

He's using the AI engine as the back-end to a code analysis tool that he's calling NStatic. (N for .Net, Static for static analysis, which is the technical term for what it does. I believe the term static is used to distinguish this approach versus profiling.)

Think FxCop with a brain behind it instead of a set of rules. It explores your code with all kinds of "what-if" scenarios and can show you where things might go wrong. Kind of like virtual profiling, if I understand correctly. It doesn't actually run your code, and you don't have to provide input. It just analyzes what your code might do.

The idea is that it would just be something running in the background, analyzing your code deeper and deeper the more time you give it, and popping up warnings about the things it finds as it finds them. Like much of AI, it's all about exploring nodes in a tree. I say that like I could just whip something like that up over the weekend.

I would envision using it as part of a Continuous Integration process, so that you could have a dedicated machine digging really deep. He seems to be putting his focus on immediate feedback during development, though. Hmm, think I'll pop him a note.

And he's big into usability, so his UI looks all whiz-bang. Check out the code markup he does to show execution flow. Definitely a toy I want to play with.