DevOps: Build Process Integration
Integrate CppDepend into your build process and get highly detailed reports to prevent code quality degradation.
Learn More >Coding Standards
CppDepend supports out of the box the most popular C++ coding standards: MISRA, CERT, CWE, and Autosar
Learn More >Code Vizualisation
Because a picture is worth a thousand words, CppDepend proposes several unique ways to visualize your code.
Learn More >Code Rule & Code Query
Support for Code Query over LINQ (CQLinq) to easily write custom rules and query code.
Learn More >Technical Debt Estimation
For each issue, the cost to fix and the severity are estimated through customizable C# formulas.
Learn More >Quality Gate
Quality Gates are C# LINQ (CQLinq) queries that implement PASS/FAIL criteria to code quality.
Learn More >Hexagon uses CppDepend to identify the relationships that could be improved as well as understand the scope of modularization. CppDepend does a fantastic job showing where they can use more modern code patterns and solutions.
See Case StudyETAS GmbH uses CppDepend to track mainly the dependencies between their modules to be aware if there are forbidden dependencies introduced by code changes.
See Case StudyDashboards have been improved in the CppDepend UI in Visual Studio, in the generated reports section. It now contains technical debt estimations, quality gates, rules and issues data. For each data, a visual indicator shows the progression since baseline. Red and green coloured values are used to pinpoint progress or regression. Clicking any value generates a query that drills down through corresponding data, which can be a list of code elements, debt estimations, quality gates, rules or issues.
Trend charts are displayed on the CppDepend dashboard. Some trend charts are available per default to show:
CppDepend's DSM comes with numerous options to try:
A Quality Gate is a check on a code quality fact that must be enforced before releasing and eventually, before committing to source control. A Quality Gate can be seen as a PASS/FAIL criterion for software quality.
A dozen of default Quality Gates are proposed by CppDepend related to measures like technical debt amount, code coverage or amount of issues with particular severity.
Notice that special red / yellow / green losange icons shows Quality Gates status: fail / warn / pass.
CppDepend can analyze source code and C++ Projects through CppDepend.Console.exe. Each time it analyzes a code base, CppDepend yields a report that can inform you about the status of your development. You can customize sections shown in the report and you can even provide your own XSL sheet for full customization.
You can also build your own set of CQLinq constraints that will be checked at each analysis. The report will warn you each time a constraint is violated. This feature makes automatic design and quality regression test a reality.
CppDepend is the only Visual Studio extension that is able to tell the developer that over the past hour, the code just written has introduced debt that would cost for example about 30 minutes should it have to be repaid later. Knowing this, the developer can fix the code before even committing it to the source control.
With CppDepend code rules are C# LINQ queries that can be created and customized in a matter of seconds. These queries contain C# formulas to compute accurate technical debt estimations.
The default rule-set offers over a hundred code rules that detect a wide range of code smells including entangled code, dead-code, API breaking changes and bad OOP usage.
As a static analyzer, CppDepend will likely find hundreds or even thousands of issues affecting a real-world code base. Stopping work to attempt to fix all issues for weeks would be quite unproductive.
This is why CppDepend is the only tool that offers a baseline in Visual Studio. The tool estimates the Technical Debt progress since the baseline.
Recent code smells that should be fixed before committing any code to source control are highlighted in Visual Studio. They can then be fixed even before reaching the source server.
As a consequence the Code Quality remains under control with no major upfront investment.