AccentureAbout AccentureNewsroomCareers

The Code Quality Tool: Interesting...if You're the Right Kind of Person


Posted at Nov. 10, 2008 12:22 PM CST
 

This article is about systems integration (SI). SI articles are boring and incomprehensible to the uninitiated. If you're among the uninitiated and you don't believe me, I'll prove it to you: Accenture Technology Labs have developed the Code Quality Tool (CQT), an Eclipse (and other IDEs) plug-in designed to detect and remediate bad code. See? If you're not among the initiated, it's probably best just to skip to the next post.

So What?

 

You know about design patterns? Factory and Decorator and Singleton and so on? Well, it turns out that there are design "anti-patterns" too. These are commonly-occurring design errors that manifest themselves in code. (Within projects, people are actually surprisingly consistent in their design errors; there's less similarity across projects. Perhaps individual projects develop their own "culture" of bad design.) The CQT team analyzed several systems and identified many of these common anti-patterns. For each one, it built a recognizer that is turned loose on a target system's source code. When a recognizer detects a bad pattern, it flags it for human analysis.

 

CQT is essentially an automatic code reviewer. It won't catch everything a human being would; on the other hand, it also won't stay out until 3.00 am the night before the meeting. Further, it's a lot cheaper: A developer can run a program through CQT at no cost; remediate all the anti-patterns; and only then bring it to a human code reviewer, who can check for subtler problems.

 

CQT's anti-patterns fall into several categories: exception handling, logging, performance violations, architectural violations, null checks and hard coding. Adding new anti-patterns is straightforward--I think it'll be interesting to see whether and how the library grows; the CQT developers have a wiki with which they hope to "crowd-source" the identification of anti-patterns from project subject matter experts.

 

One other thing: The tool actually provides guidance in your remediation efforts once anti-patterns are found: It doesn't just tell you that you're incompetent and then leave you twisting slowly in the wind.

 

In any case. The Code Quality Tool is a provocative and potentially powerful pre-production plug-in (did you like that?) for any software project. To learn more, please get in touch with Accenture Technology Labs' own Anitha Chandran.

 
Comment on this post

Trackbacks/ Pingbacks
Collapse List

Trackbacks and Pingbacks are records of links made to accenture.com pages.
Pingback URL:  http://www.accenture.com/Accenture/PingBack.aspx

Comments

Print Article: This opens a new window
E-mail to a Colleague: This opens a new window
Contact Us
To discuss how we can help your organization, call us toll-free at 1 (877) 889-9009.
Outside the United States and Canada please dial 1 (312) 842-5012.
Send Us an E-mail
More Contact Information

How may we help you?
Your Content
Sign Out
Request for Services
Alerts & Newsletters
Send Site Feedback

Privacy Policy   Terms of Use   Site Map   ©1996-2009 Accenture All Rights Reserved