Validate integration with Helix QAC

Helix QAC is a Perforce static code analysis product with a main focus on functional safety and standards compliance.

You can import a Helix QAC project containing QAC analysis results into Validate 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 Validate 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.

Requirements and version compatibility
  • An installation of Helix QAC is required on the import machine, even if QAC analysis is done on a different machine.
  • 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 Validate and QAC licensing.
Integrating your workflow

A typical integrated workflow can be as follows:

  1. Set up and synchronize your Helix QAC project, and run QAC analysis using standard Helix QAC command line or GUI tools.
  2. Create a new project on the Validate server (using the portal or 'kwadmin create-project'). You will require the proper permissions in Validate to complete this step.
  3. In the Helix QAC tools (in the GUI or via the command line), specify a target project to upload results to.
  4. Load the resulting tables into Validate using the qagui or qacli tools (2022.4 or later).
Benefits of hybrid analysis

Note that the following section is only applicable if you are running both Klocwork and Helix QAC analysis in parallel.

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 Validate. 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.

Limitations

Validate supports integration with Helix QAC product under certain limitations:

  • Integration is supported with Helix QAC versions 2022.3 or newer.
  • Integration is supported between equivalent Validate and Helix QAC versions. For example, Validate 2023.2 is compatible with Helix QAC 2023.2.
  • Only single configuration Helix QAC projects are currently supported.
  • You can upload a rule configuration file (.rcf) and configure it via the Portal (2023.1 or newer).
  • You can synchronize your project settings and diagnostic statutes from the Portal (2023.1 or newer).
  • QAC metrics (with the exception of project metrics) are supported from 2023.2 or newer.
  • Custom user messages are supported from 2023.2 or newer.
  • Custom user help pages do not support external stylesheet or image resources.
  • To enable the full code browsing capabilities, a Klocwork analysis needs to be run.