Klocwork integration with Helix QAC
Helix QAC is a Perforce static code analysis product with a main focus on functional safety and standards compliance.
As of Klocwork 21.2, you can import a Helix QAC project containing QAC analysis results into the Klocwork Portal with a similar level of administration and issue browsing capabilities. However, project configuration, build synchronization and analysis need to be managed using standard Helix QAC tools. You can use the Klocwork tools for viewing results, setting up email notifications, managing the web API, and generating reports, in collaboration with the existing tools from the Helix QAC tool chain.
- An installation of Helix QAC is required on the import machine, even if QAC analysis is done on a different machine.
- Klocwork 2021.2 only supports import of analysis results produced by Helix QAC v.2021.2.
- If you are upgrading from a pre-2021.2 version of Klocwork, you need an updated license.
- In order to perform QAC analysis and enable importing issues from QAC, you need an up to date QAC license. Please contact Perforce support for details on Klocwork and QAC licensing.
- QAC diagnostics import is only currently supported by a Server installation of Klocwork.
A typical integrated workflow can be as follows:
- Set up and synchronize your Helix QAC project, and run QAC analysis using standard Helix QAC command line or GUI tools.
- Add the QAC project into the Klocwork Portal using the kwqacimport tool OR import and merge the QAC project using kwbuildproject run in hybrid analysis mode, alongside the Klocwork analysis results produced.
- Load the resulting tables into the Klocwork Portal using kwadmin load.
Aside from defect reports, the Klocwork engine produces code browsing information and metrics, both of which can significantly improve your experience working with the projects loaded in the Klocwork Portal. Code browsing information allows you to jump between entity declarations and their definitions, function callers and callees. Metrics provide information about your source code like lines of codes, complexity and coupling.
While Helix QAC does support metrics and some entity relations, this information is not currently available in the portal from the QAC engine alone. If you are not interested in seeing Klocwork defects, but still want to use the auxiliary information from the Klocwork engine, simply disable all Klocwork checkers and use the --classic switch for kwbuildproject in hybrid mode. This will ensure a minimal performance impact of Klocwork native analysis.
- Currently only Klocwork server installation supports integration, on Windows and Linux operating systems.
- Klocwork 2021.2 is compatible with Helix QAC 2021.2. Previous versions of Helix QAC are not supported.
- Only single configuration Helix QAC projects are currently supported.
- You can view QAC defects configuration in the Klocwork Portal, but they are read only.
- Defect status changes (diagnostic suppressions) in portal cannot be applied back to the Helix QAC project.
- Metrics and code browsing information require Klocwork analysis to be run.