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.

ConQAT
Developer(s)CQSE GmbH, Competence Center Software Maintenance (Technical University of Munich)
Stable release
Written inJava
Operating systemCross-platform
TypeSoftware Analytics quality
LicenseApache Licence 2.0[1]
Websitewww.conqat.org
A ConQAT analysis block that has been created using the graphical configuration language.

Architecture

edit

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

edit

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

edit

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.

End-of-life

edit

ConQAT is now a dead product. Its end-of-life has been announced in 2018.[6]

References

edit
  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.
  6. ^ "ConQAT end of life". www.cqse.eu. Retrieved 2020-07-14.
edit
  • Official website
  • Tool Support for Continuous Quality Control by F. Deissenboeck, E. Juergens, B. Hummel, S. Wagner, B. Mas y Parareda, M. Pizka, IEEE Computer Society, IEEE Software, Vol. 25, num. 5, 2008, Sept., pages 60 – 67, ISSN 0740-7459, IEEE Xplore Digital Library, DOI 10.1109/MS.2008.129
  • Comparison of Clone Detection Tools: CONQAT and SolidSDD by Prabhjot Kaur, Harpreet Kaur, Rupinder Kaur, International Journal of Advanced Research in Computer Science and Software Engineering, pdf, Volume 2, Issue 5, May 2012
  • Using clone detection to identify bugs in concurrent software by Jabier Martinez, Anil Kumar Thurimella, IEEE Explore, IEEE International Conference on Software Maintenance (ICSM), 2010, ISSN 1063-6773
  • Type 2 Clone Detection On ASCET Models by Francesco Gerardi, Jochen Quante, University Siegen Softwaretechnik-Trends, 2012, Springer
  • Using mutation analysis for a model-clone detector comparison framework by Matthew Stephan, Manar H. Alalfi, Andrew Stevenson, James R. Cordy, ACM Digital Library, Proceedings of the 2013 International Conference on Software Engineering, Pages 1261–1264, IEEE Press