ConQAT

ConQAT
Developer(s) TU Munich CQSE
Stable release
2014.1 / January 31, 2014 (2014-01-31)
Development status Active
Written in Java
Operating system Cross-platform
Type Software Analytics quality
License Apache Licence 2.0[1]
Website www.conqat.org

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.

A ConQAT analysis block that has been created using the graphical configuration language.

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.[2][3][4][5] Since 2009, ConQAT has been maintained and developed in a partnership between TU Munich and CQSE GmbH as an open-source project.

References

  1. License
  2. Flexible Architecture Conformance Assessment with ConQAT. (PDF) by F. Deissenboeck, L. Heinemann, B. Hummel, E. Juergens: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (ICSE’10), 2010.
  3. The loss of architectural knowledge during system evolution: An industrial case study. (PDF) by M. Feilkas, D. Ratiu, E. Juergens: Proceedings of the 17th IEEE International Conference on Program Comprehension (ICPC’09), 2009
  4. A Workbench for Clone Detection Research (PDF; 359 kB) by E. Juergens, F. Deissenboeck, B. Hummel: Proceedings of the 31st International Conference on Software Engineering (ICSE’09), 2009.
  5. Do Code Clones Matter? (PDF; 263 kB) by E. Juergens, F. Deissenboeck, B. Hummel, S. Wagner: Proceedings of the 31st International Conference on Software Engineering (ICSE’09), 2009.

External links

This article is issued from Wikipedia - version of the 8/10/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.