Geeks With Blogs
Caffeinated Coder A Grande, Triple Shot, Non-Fat Core Dump by Russell Ball

I spent some time last week working with Vil, a free code analysis tool that can be used to locate potential quality issues and high risk areas in your code. While working on it, I learned all about various code metrics such as cyclomatic complexity, eCouplings, and LCOM (Lack of Cohesion in Methods) and experimented with setting appropriate thresholds for each.

I also incorporated all the required command line switches into our Nant script and even dusted off my XSLT skills in order to create a custom stylesheet to summarize the results and display them nicely on our main Cruise Control report. To my surprise several of the other developers at work seemed genuinely interested in the potential feedback we could get from this tool (people can only get so excited about cyclomatic complexity).

There was one major problem. All the fun I was having was restricted to one small dll. This is because Vil has a built-in limit so that a license key is required when you try to analyze a dll that has more than 100 types in it. The website indicates that all you need to do to attain this license is to send them an email. I did that. Twice. That was two weeks ago and I still haven't heard anything back yet.

Vil is free, so one could argue that I am just getting what I paid for. I guess I figured that since Vil was incorporated into the WebDashboard for CruiseControl, it was established enough to be a safe bet. I was wrong. The last update on the website was two years ago and it was only a vague promise of a new version that would support the 2.0 framework. The new version never appeared and the current version seems to be from mid 2004.

I'm not even sure why the creator of Vil decided to include a built-in limit since the license to unlock it is supposedly still free. Perhaps he had some intention of eventually making it a commercial product or maybe he just wanted to keep statistics on larger customers. If it was an open source project and the source code were available, then I wouldn't mind digging through the code to remove this restriction myself. But there is no source code to be found.

A Plea to the Project Owner: I understand there are plenty of good reasons to abandon a project that you weren't making any money on. However, if you are calling it quits, could you please make one last altruistic gesture and either release the source code or else publish one last version without this restriction? It seems like a lot of work to have spent on an otherwise decent tool only to let it fall into oblivion because of this license issue.

Recommendation to Potential Vil Users: Don't bother investigating this tool unless you already have one of the fabled golden license keys. I'm migrating back to NDepend instead. I've already worked with NDepend and think that it is a far better tool, but I gave Vil a try because it seemed like it would be a lot easier to integrate into Cruise Control due to the built-in support.

Request To CruiseControl Developers: Please remove Vil plugins and stylesheets from the next version of Cruise Control. It's aggravating to spend time getting it to work only to later have to abandon it because it only works with trivially small projects.

OK, Rant complete. I feel better now.

Side Note: Apparently the phrase "Dead as a Doornail" is a very old expression and can even be found in a few of Shakespeare's plays like Henry IV. Based on a quick google search, it appears that nobody really knows why doornails are any more dead than all the other inanimate objects (for example house nails). I saw a few weak guesses, but no explanations that were really compelling. I guess language is as uncontrollable and mysterious as the internet.

Posted on Thursday, December 20, 2007 11:49 PM Musings, Rants, and Humor , Tools | Back to top

Comments on this post: Vil: Dead as in Doornail?

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Russell Ball | Powered by: