What's new in CppDepend 6!

Integration with Visual Studio 2015

CppDepend v6 integrates into Visual Studio 2015, 2013, 2012 and 2010.

Rule Files Shareable amongst Projects

With CppDepend v6, Rule Files can be created and shared amongst CppDepend projects. This is useful to define company-level standard rules sets, and get them applied by all teams.

Advanced Integration with External Tools

CppDepend provides many interesting features to explore and treat the data extracted from the analysis phase, and it's very interesting to use these features to treat the analysis data from the other static analysis tools.

CppDepend supports out of the box CppCheck. However you can integrate another analysis tool to be executed by CppDepend and its results will be loaded to CppDepend. .

And to help developers develop their own plugins to integrate other static analysis tools, the source code of the Visual studio analyzer is provided in the install package at %CppDependInstallDir%/Plugins/VSPlugin

Support for high DPI resolution

The CppDepend UI now scales properly whatever the DPI settings, 100%, 125%, 150%, 200% and 250%. Notice that:

  • Dependency Matrix cell side zoomed can now scales up to 60 pixels.
  • Treemap drawing and refreshing processing is faster.
  • Many dialogs have been relifted.

Colored Code Metric View

The Metric View can now display a second metric by coloring the treemap elements. Hence two code metrics can be displayed at once.

For example by setting Size metric to number of lines of code vs. Color metric to percentage code coverage, we can get a global, yet accurate, view of where the code base is not enough covered by tests.

The screenshots below shows the CppDepend v6 code base, 160K Lines of Code 82% covered by tests. We know at a glance where we've been good and where more tests effort should be spent.

By choosing adequate pairs of metrics, many other insightful views can be obtained, relative to code quality, code flaws, code structure, code diff...

Coloring can be customized and custom code metrics, defined through CQLinq querying, can be displayed as well as size or color metric.

Default Rules Description and HowToFix

A detailled Description and HowToFix section has been added for each default code rule. You can choose both in the CppDepend UI and the CppDepend report, to view the rule description or source code.

It is now possible to insert tags and in code rules source code comment.

The latest Clang is used

With this latest version more diagnostics are available and the result is more reliable.

Harness Test Coverage Data

Writing automatic tests is a central practice to increase code correctness. Knowing which part of the code is covered by automatic tests helps improving tests and consequently, it helps increasing code correctness. CppDepend gathers code coverage data from Bullseye™, Cobertura and Visual Studio Team System™. From this data, CppDepend infers some metrics on methods, types, namespaces and projects : PercentageCoverage, NbLinesOfCodeCovered, NbLinesOfCodeNotCovered and BranchCoverage. These metrics can be used conjointly with others CppDepend features. For example you can know what code have been added or refactored since the last release and is not thoroughly covered by tests. You can write a CQLinq rule to continuously check that a set of classes is 100% covered. You can list which complex methods need more tests.

Enhanced Visual Studio Integration

CppDepend Windows location / size / docking status are now properly stored and restored accross Visual Studio executions.

CppDepend Visual Studio extension is now based on VS package API (VSIX), while it was based on VS Addin API. As a consequence the extension is faster to load and the overall extension stability is strengthened.

Full support of Visual Studio keyboard shortcut assign + easy way to set/reset default CppDepend shortcut. Enhanced CppDepend global menus.

When a code element right clicked in VS is yet unknown to CppDepend, a menu proposes to either add the parent assembly to the list of assemblies to analyze, or, if the parent assembly is already there, the menu proposes to refresh the analysis result by re-building the VS solution and then re-running the CppDepend analysis.

A CppDepend project can now be attached to a VS solution file (.sln) or to a VS solution user options file (.suo).

When attaching a CppDepend project to a VS solution file (.sln) the user is not prompted anymore to reload the solution. The VS solution file is written when closing the solution, or when requiring VS Save All.

With CppDepend, software quality can be measured using Code Metrics, visualized using Graphs and Treemaps, and enforced using standard and custom Rules.