Thursday, October 07, 2010

 

Pex - Automated White Box Testing Tool for .NET

Haven't updated this blog in ages it seems. Its not that I haven't been working on interesting stuff all this time ... it's just that once you get out of your habit of keeping up with your blog, its hard to get back to it. I will try and be more regular and post all the cool and techy stuff I get to do, not to mention all the stuff I learn about on the web.

So first off is Pex (now called Pex and Moles) is a product of Microsoft Researchers Peli de Halleux and Nikolai Tillman. Pex is an automated white-box testing tool that will generate unit tests for your code with a pretty high code coverage. It uses symbolic execution to accomplish this. There's a significant body of research that has gone into automated test generation over the past decade or so, and concolic testing is one such area that has enjoyed a great deal of attention. Now, as a result, we can see the testing field evolving to incorporate these newly-developed techniques. You can read more about Pex here, or try it out for yourself at: pexforfun.com.

I took a course last fall (yes, it took me this long to blog about it!) where we had to use Pex on an open source project and present our results. It was an exercise in test generalization (using parameterized unit testing). We chose xUnit.net as our target program and employed Pex with Code Contracts on it. The result was a slight increase in code coverage (coverage was already pretty high), but we thought using class invariants and code contracts, in general, made the code more testable.

Labels: , ,


Friday, October 23, 2009

 

Windows 7 Upgrade

Also posted on my personal blog, Waking Life.

As I mentioned in one of my posts earlier, I recently upgraded to Windows 7 Professional. Unlike the installation of Windows Vista which warned me that several of my software are not going to be compatible with it (most importantly, my anti-virus at that time), Windows 7 did not come up with anything of that sort. By setting device installation settings to Automatic, Windows 7 was able to locate the drivers for all plug-n-play devices (my camera, wireless mouse and most importantly, my legacy HP deskjet 3653 printer). It was a pain to get that same printer to work on Vista and I had to install drivers manually for the wireless mouse and keyboard.

As far as UI is concerned, the look-and-feel of the OS is pretty much like Vista except for the taskbar where you can now "pin down" your most frequently used programs. And by hovering the mouse over any open programs that are pinned to the taskbar, you can see a live thumbnail of the window courtesy of a functionality called AeroPeek. Another cool feature connected to the taskbar are Jump Lists, which allow you to access commonly-used features in a program by right-clicking on its icon in the taskbar. They are essentially a replacement of context menus for the taskbar and make your life a lot easier. For example, I can right-click on Windows Live Messenger on the taskbar and change my status. You can drag-and-drop other items on a program's jump list depending on what you access the most.

Besides being noticeably faster (in terms of general use, booting, shutting down and hibernating), one of the things I'm really glad they got rid of are those annoying UAC pop-ups that popped up every second asking your permission to run one thing or the other. Windows 7 also conserves more battery power for your laptop. It dims the display after 2mins of idle time. If you specifically increase the brightness of your display when running on battery, Windows 7 remembers that every time you disconnect the power chord (Vista didn't).

In other changes, Wordpad, Paint, and Calculator look completely different with ribbon bars and WordPad has the added functionality of opening .docx files now, so need to install Office 2007 compatibility packs for opening Word documents anymore. Several more usability features have been added in Windows 7 that allow you to snap windows to size instantly or clear the desktop of all windows by a quick back and forth motion by grabbing the top of a window. See these awesome ads for a demo of these features and more.

There's an automatic desktop wallpaper changer built-in allowing you to set your chosen desktop backgrounds at specified time intervals (default is 30 minutes). You can also finally change the background of your logon screen. Last but certainly not the least are libraries for arranging documents, pictures, videos etc. No longer are you restricted to put all your stuff in specific folders on the C drive. Libraries are the aggregation of your chosen files from all across the storage media in use. Gone is the hassle of remembering file and folder locations since you can access them at anytime through the libraries. The libraries also appear on Open/Save dialogs of all programs which makes file-management a piece of cake!

Ok thats all I could think of for now. In short, Windows 7 refines a lot of the things we saw in Vista while improving on its basic functionality. Boot times, resuming from hibernation etc. are noticeably quicker and everything works just fine. There's no reason NOT to like it. I'm certainly loving it!

Labels:


Saturday, April 18, 2009

 

Visual Studio 2008 Installer Problems

If you're having issues modifying/uninstalling Visual Studio 2008 Standard, Professional or Team Editions, and your setup is continuously failing giving the following message:

A problem has encountered while loading the setup components. Canceling setup.
No need to despair. This occurs due to a VS2008 hotfix - KB952241. Go to Control Panel > Add / Remove Programs; Click on View Installed Updates in the left pane and type 'KB952241' in the top-left search box. Double-click to uninstall it. Now, the Visual Studio 2008 installation should proceed without failing.

The alternate option of uninstalling and re-installing the whole VS2008 package is way too time consuming. Hope this helped save you some precious time!

Labels:


Saturday, March 28, 2009

 

Opening large text files in Windows

If you were ever to run across the problem of opening large text files (upwards of 300-400MB), and Notepad comes up short for you, worry not for you have EditPad Lite. I had been using Notepad++ for a while but it simply refused to open one of my datasets (size:450MB) for a course project. Browsing for alternatives, I found this little gem which is free for non-commercial use. Sweet!

Labels:


Wednesday, March 04, 2009

 

Microsoft Recite

Another cool new technology preview from Microsoft. This time it's in the realm of voice recognition, aptly named Microsoft Recite.

From Nick's blog:

How it works -- geeked-out version

Microsoft Recite analyses speech features using an ensemble of supervised and unsupervised classifiers and employs a noise robust approximate indexing and scoring of generic symbol streams for matching.

To Install Microsoft Recite

Microsoft Recite is a free download for Windows Mobile devices (version 6.0 and higher). Simply direct the browser of your Windows Mobile device to http://recite.microsoft.com/download. Standard carrier rates apply to the data sessions and download time on your mobile device. Those fees are dependent on your data plan with your carrier.

Watch the demo here.

Labels: ,


Monday, March 02, 2009

 

Office 2019

Microsoft's vision for the future - 2019 to be precise. Impressive if you ask me.

While the technological progress in the last decade alone has been nothing short of astounding, we are still far from that point where all the technologies work together, interoperate with each other at one place. That's what Microsoft envisions for the next decade, and such is the pace of technological advancement nowadays that this may just become a reality in 10 years time!


<a href="http://video.msn.com/?mkt=en-GB&playlist=videoByUuids:uuids:a517b260-bb6b-48b9-87ac-8e2743a28ec5&showPlaylist=true&from=shared" target="_new" title="Future Vision Montage">Video: Future Vision Montage</a>

Labels: , ,


Friday, February 13, 2009

 

Siftables - Smart Blocks


Check out this cool demo by David Merril entitled Siftables.They're like minicomputers, that can work together and do fascinating things.



Labels: