Cppdepend

CppDepend
DeveloperCppDepend
Stable release
2025.1.0 / March 3, 2025; 15 months ago (2025-03-03)[1]
Operating systemMultiplatform
TypeSoftware quality
LicenseCommercial Proprietary
Websitewww.cppdepend.com

CppDepend is a static analysis tool for C/C++ code. This tool supports a large number of code metrics, allows for visualization of dependencies using directed graphs and dependency matrix. The tools also performs code base snapshots comparison, and validation of architectural and quality rules. User-defined rules can be written using LINQ queries. This possibility is named CQLinq. The tool also comes with a large number of predefined CQLinq code rules.

Features

The main features of CppDepend are:

  • Support for Coding Standards: Misra C++, Misra C, Cert C, Cert C++, CWE, Autosar
  • Support for C++23, C++20, C++17
  • Declarative code rule over LINQ query (CQLinq)
  • Dependency Visualization (using dependency graphs, and dependency matrix)
  • Software metrics (CppDepend currently supports 82 code metrics: Cyclomatic complexity; Afferent and Efferent Coupling; Relational Cohesion; Percentage of code covered by tests, etc.)
  • CppDepend can tell you what has been changed between 2 builds

New features in v2025.1

  • MISRA C++:2023 Compliance Support
  • Updated Clang and Clang-Tidy Integration
  • New Summary View for Code Elements

Code Rule through LINQ Query (CQLinq)

CQLinq editor and query result displayed

The tool proposes live code query and code rule through LINQ query. This is one of the innovations of CppDepend. For example:

- Classes inherit from a particular class:

// <Name>classes inherit from a particular class</Name>
from t in Types
where t.IsClass && t.DeriveFrom ("CBase")
select t

- The 10 most complex methods (Source Code Cyclomatic complexity)

// <Name>The 10 most complex methods</Name>
(from m in Methods
orderby m.CyclomaticComplexity
select new { m, m.CyclomaticComplexity }).Take(10)

In addition, the tool proposes a live CQLinq query editor with code completion and embedded documentation.

See also

References

  1. ^ "CppDepend - Release Notes". cppdepend.com. Retrieved 2025-03-03.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.