# Wednesday, December 26, 2007
« It's a Small, Small World | Main | Updates to Microsoft Download Center »

I hope you all enjoyed Christmas and at least got to spend the day away from work. I came back in and was catching up on my e-mail this morning when I found 2 different messages with much the same theme. It is an important topic so I thought I would share with the rest of the world (or at least that small part of the world that reads my blog).

The first e-mail was on Pex. Pex stands for Program EXploration and is a research project at Microsoft. According to the web page explaining the project it is designed to look at code, automatically generate unit tests, and in some cases it will even suggest bug fixes. Now I know that a lot of the research projects never make it out of the lab and into our hands but if this were to become available in the next version of Visual Studio it would really raise the bar for productivity. It would also mean that a lot of menial tasks (writing simple unit test cases) could be automated and would free up the humans to do what they do best, figuring out new ways to solve business problems.

The second e-mail was from a web site. Burried in the details was an offer for a free paperback book on peer code reviews. I had to read that twice, it seems there are lots of free e-books to be had but a real live dead trees book shipped to me, well I had to click on the link. I got taken to this page where there are lots of nice things written about the book. It looks like you can trade some of your personal information for a copy of the book. I have to admit that the nice statements about the book make me think that it is a very long list of reasons why I should buy some software so I decided not to order the book. It isn't that I don't think peer reviews are a good idea but that I really don't want to buy software. When we were doing peer reviews I don't know that we found a lot of bugs but just knowing that you were going to have to give the code to someone else and then defend why you did things a certain way made you think a lot harder about commenting your code, making sure it was designed well, and that you weren't doing any "hacks" just because you could.