Rahul Sharma (Editor)

ConQAT

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
TU Munich CQSE

Written in
  
Java

Development status
  
Active

Operating system
  
Cross-platform

ConQAT

Stable release
  
2014.1 / January 31, 2014; 3 years ago (2014-01-31)

Type
  
Software Analytics quality

The Continuous Quality Assessment Toolkit (ConQAT) is a configurable software quality analysis engine. ConQAT is based on a pipes and filters architecture that enables flexible complex analysis configurations using a graphical configuration language. This architecture differs from other analysis tools that usually have a fixed data model and hard-wired analysis logics.

Contents

Architecture

ConQAT's underlying pipes and filters architecture manifests in its analysis configuration, so called ConQAT-blocks. These blocks contain a network of ConQAT processors or additional blocks. This allows configuring analyses that can be adapted to the context of the system to be analyzed with a high degree of flexibility. For example, different kinds of source code (manual written code, generated code, test code) could be treated in different ways. Furthermore, this architecture enables the reuse of blocks and processors in different contexts. For example, graph metrics can be calculated using the same blocks for dependency or control-flow graph of a program or a revision graph from a version management system.

Functionality

ConQAT analyses are usually executed on a command line in batch mode. Beside the application in software quality audits it is also often used integrated into a nightly build of a system. ConQAT implements processors (so called Scopes) to read data from different sources, such as source code or binary code files as well as from issue trackers or version management systems. For languages such as Java, C#, C/C++, and ABAP, Lexer processors and other preprocessing operations are available. ConQAT implements algorithms for detecting redundancy and architecture analysis in processors/blocks. Furthermore, it integrates established tools, like FindBugs, FxCop etc. using processors that read their output formats. Although ConQAT supports different output formats (e.g. XML), usually generated HTML files are used to present the analysis results. Visualizations include various diagrams and treemaps.

Background

ConQAT was developed in 2007 at the Technische Universität München and has received acclaim due to several scientific publications on its architecture as well as analysis techniques for detecting redundancy (clone detection) or architecture conformance analyses. Since 2009, ConQAT has been maintained and developed in a partnership between TU Munich and CQSE GmbH as an open-source project.

References

ConQAT Wikipedia