scitools.com

← Report catalog

C Data Coupling is one of Understand's built-in reports — run it on your own code from the GUI, or headlessly with und report.

C Data Coupling

Languages: C
Targets: Project
Documents data coupling between C modules: every link where data written in one module is read in another.

Output is one row per writer → reader link. Each source file is a module, and only links that cross a module boundary are listed. Only C code is analyzed: .c files and the headers they include. C++ sources, and headers only C++ sources include, are skipped.

Mechanisms:

Coupling is tracked per whole object, not per struct field. Initializers are not run-time writes and are ignored. Requirement Ref and Test Ref are left blank for the analyst to fill in.

A write through a pointer is a write to the data it points to, not to the pointer: for a pointer global g, only g = ... writes g, while g->field = ... reads it.

Limitations: