Code Digger is a free extension for VS 2012 that will automatically find "interesting" input values for your program - where interesting usually means "crash" or otherwise break your code.
I had a colleague with a remarkable talent. He could look at your program for a few minutes, go to the keyboard and enter something that would crash it. It was a valuable knack, but guess what, he was hated for it. Not a gift you would wish on anyone. Now you don't have to.
Code Digger is a lightweight Visual Studio extension that will examine your code and perform the same trick. It makes use of the Pex engine and Microsoft' Research's Z3 constraint solver to analyze all branches in the code in an attempt to generate a test suite that runs the code though all possibilities. The input values needed to exercise your code in this way are the "interesting" values that your code either copes with or dies on.
Code Digger takes the code and makes a list of the interesting input values along with their outputs and shows you if any make your program crash along with the error message:
At the moment there are some limitations. In particular it only works with a Portable Class Library. The reason for this is that it cannot cope with platform specific dependencies.
Code Digger is essentially an easier to use form of Pex which does performs a more configurable analysis. If you want to try Pex there is a website where it will analyze your code interactively. It also has a set of programming puzzles where you try to write code the matches the Pex analysis of a hidden function. It's fun and it emphasizes the idea that a program is well defined by a small number of input output relationships.
Mozilla Removes Firefox OS Code From Gecko
Firefox OS is a lesson in over-reaching. Mozilla thought that open source, real open source not the approximation that Google serves up with Android, could take over the mobile world. It didn't and th [ ... ]
New Microsoft AI and Research Group
The newly formed group brings together Microsoft Research, its AI-focused product groups, the Information Platform Group, Bing and Cortana product groups, and the Ambient Computing and Robotics t [ ... ]