Product Reviews

MKS Code Integrity

Got coding issues? This will find them for you

This product represents one half of the Code Integrity/Engineer Integrity set. Both products analyze your projects and source code but measure different factors. Code Integrity in particular aims to assist developers in mid to large projects measure the quality of their code through an objective series of tests and a mathematical model. The product supports integration with numerous tools and languages, including the ability to set up your own project structures from text files. For this review, I focused specifically on the Visual Studio integration.

Setup of the product was easy, and launching the product from within Visual Studio was a snap. The Source Analyzer window will either browse an existing model (the internal database representation of the analysis) or help you build a new model for the current project. Once the model is built, you can browse it through the MKS Source Browser. The browser allows you to navigate the model, search it and customize it A series of views can be applied to each object. The "Uses" view is a depth analysis of all objects referenced by the queried item. The "Calls" view allows you to see which objects are being called by, as well as which objects call the queried item. An "Inheritance" view allows you to see the Superclasses and Subclasses related to the queried item. All the views offer useful information about your code. Integration with VS allows you to jump to a particular symbol directly within the browser.

So far this is common functionality to both products. So what makes Code Integrity special?

The primary feature offered by Code Integrity is the analysis of your source files for common coding issues. The product comes with a slew of tests, examples of which include use of uninitialized variables, defaultless switch statements, and use of the break statement. You can view the results of the analysis in a browser style mode and even open the source to the particular issue identified. You can also print a report that summarizes the results of the analysis. This is useful to get a bird's eye view of the issues identified. Both of these views are available on the whole project or on any subset thereof. The folks at Code Integrity also offer a very interesting mathematical model for measuring the quality of the code. The net is that you get a percentage based metric for your code quality. Last but not least, the product offers a time based measurement of your code's quality, allowing you to (ideally) see the improvements in a project.

Net? The product is an interesting enhancement of the old 'lint' tool. The real value play happens on larger projects, where the integration of the analysis, browser and development environment make it easy to quickly address issues.

About the Author

Dan Frumin is the founder of Frumin Consulting group, a business and technology strategy consulting firm. Prior to that Dan spent several years running his own company and working at Microsoft in a variety of business and technical roles.


comments powered by Disqus

Subscribe on YouTube