As I mentioned in my previous post, Conqat’s configuration mechanism is rather complex - the price of being as flexible as it is. The authors state the following (emphasis mine):

The downside of the tool’s design is a fairly complex configuration mechanism. Setting up a complete quality
assessment configuration results in a configuration file of about 300 lines
and requires thorough understanding of the processors involved. However, the aim was to develop a tool which is configured rather infrequently and run repeatedly with the same configuration (or a subset thereof). Besides that we expect the typical user to be an expert in the field and therefore don’t consider this issue a problematic one.

Granted, these types of tools are usually configured once and only fine-tuned thereafter. But a 300 line XML configuration to enable a thorough set of analyses? Definitely the kind of thing I’d expect to narrow down the potential user base of the application. And being an expert in quality analysis doesn’t make one an expert in configuring a analysis tool they happened to stumble upon.

Personally, I’d got about distributing the tool with sensible defaults, just requiring the user to set the source directory, and off you go. Now, just getting the LOC/Javadoc -ratio analysis (which is quite irrelevant IMHO, but that’s another blog post) and the clone detection working, I needed to browse thru the wiki for 15 minutes or so. In that sense, Conqat flunks the “five-minute-test”, thus scaring away some potential users. In its defense, Conqat *is* an academical project and not a polished commercial / open-source tool.

A higher-level configuration format / tool would definitely come in handy. Personally, I’d just like to click on some checkboxes to enable certain analyses. Or do the corresponding thing in a higher level configuration file. Hide the flexibility under the hood and only expose it as necessary. Like so:


analyses: loc, clone, pmd

Post a Comment

*
*