Customizing CPPDepend Reports Made Easy

Elevate Your Code Analysis with Customized CppDepend Reports

If you are new to CppDepend reporting, before digging into report customization, it is recommended to:

Getting Started Video

Report Sections

Report can be customized through the VisualCppDepend or VS addin > Project Properties > Report sub-panel. You can choose to activate many pre-defined sections like, Application and Projects metrics, some diagrams (dependencies, metrics, abstractness vs.instability…), CQLinq rules violation, and more.

Report Options

Go to top

Reporting Code Rules Violations

On the main page, the report contains a section titled Summary of CQLinq Rules violated.

Report Rules Summary

For each CQLinq rule you can choose whether you want to display violation in report (Active tickbox). In case of violation you can choose if you want to display list of items selected in report, statistics about this list of items, and a selection view of items selected. The fourth check button is related to making a CQLinq rule critical or not.

Query Tick Box

Here is what a CQLinq rule violated looks like in report:

CQLink Rule Violated

Go to top

Focusing on Recent Code Rules Violations

On a large legacy code base, CppDepend will likely report thousands of code violations. CppDepend proposes the possibility to focus only on recent code rules violations. Only violations that occur on code elements added or refactored since the baseline for comparison will be reported.

Hence this feature represents a way to prioritize the rules violations be reducing significantly the number of violations reported to focus only on recent ones. To activate this feature, both on rules violations reported in the interactive UI and in the report, just tick the box Recent Violations Only on the Dashboard. A baseline for comparison needs to be defined to get this feature working.

Recent Rules Violations

Go to top

Reporting groups of CQLinq Queries

Reporting the set of rules violated is useful, but it is also interesting to report some result sets of a few CQLinq queries. For example, you might want to write CQLinq queries to ask for methods and types added or refactored since the last release. And you might want to list these methods and types added or refactored in the report.

To do so, CppDepend make possible to append extra report sections that lists these CQLinq queries. In the CQLinq Query Explorer panel, a particular CQLinq group reported is bordered with an orange rectangle.

Group of CQLinq Queries

And here are the extra report sections:

Group of CQLinq Queries

Go to top

Avoiding too large report

It is recommended to de-activate the Type Metrics and Type Dependencies sections since they can become pretty large if you have more than a thousand types in your application. Typically, browsing type metrics and dependencies is a scenario better addressed through the interactive UI.

By default, CppDepend sets a few flags on Project Properties to avoid too large reports:

Too large Report

Go to top

Report Xml files

You can choose to build your own customized report by providing your own XSL sheet. It can be inspired from the one in $CppDepend Install Dir$/BuildProcessResources/ReportXsl/CppDependReport.xsl. Input information can be taken from the following XML files outputted by the analysis in the $AnalysisOutputDir$\XmlFilesUsedToBuildReport folder:

  • ApplicationMetrics.xml
  • Dashboard.xml
  • ProjectsBuildOrder.xml
  • ProjectsDependencies.xml
  • ProjectsMetrics.xml
  • NamespacesMetrics.xml
  • NamespacesDependencies.xml
  • TypesDependencies.xml
  • TypesMetrics.xml
  • InfoWarnings.xml
  • CodeRuleResult.xml
  • CodeRuleCriticalResult.xml
  • CodeQueryResult.xml

The tickbox VisualCppDepend or VS addin > Project Properties > Analysis > Keep XML files used to build reports and store warnings must be ticked, else these XML files get deleted by CppDepend after the report is built.

Go to top

CppDepend offers a wide range of features. It is often described as a Swiss Army Knife for C and C++ developers.

Start Free Trial