JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.
If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.
If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.
| CodeSonar® 9.0p0 Hot Tips | CONFIDENTIAL | CodeSecure Inc |
Each point has edge sets listing neighbors in the CFG. There are two different CFG abstractions: interprocedural and intraprocedural.
Language Module Support: Internal representation for points is available for C/C++ and binary analyses only. For C# and Java analyses, plug-ins that rely on point (and thus CFG edge) properties and relationships will generally not produce useful information.
Each point (PDG_VERTEX) has edge sets listing neighbors in the CFG. There are two different CFG abstractions: interprocedural and intraprocedural.
| Interprocedural CFG | Intraprocedural CFG | |||
|---|---|---|---|---|
| Models: |
Control flow in the entire project.
(A single large graph.) |
Control flow within a single function.
(One graph per function.) |
||
| Edge kinds: | Both interprocedural edges (edges between functions) and intraprocedural edges (edges within functions). | Intraprocedural edges (edges within the function) only; each function call is treated as if it were an atomic operation. | ||
| Neighbors: | interprocedural edges | all edges | fine-grained view | coarse-grained view |
| edges to p | not available | not available | not available | not available |
| edges from p | cfg-inter-targets | not available | cfg-targets | not available |
For each point p, API functions provide access to:
| interprocedural CFG |
|
|---|---|
| intraprocedural CFG fine-grained view |
|
| intraprocedural CFG coarse-grained view |
|
By API implementation:
| Language | CFG Edge Functionality and Types Provided By | CFG Edge Type |
|---|---|---|
| C++ | class point | typedef cfg_edge |
| Python | class point | pair (point, edge_label) |
| C | Headers cs_pdg_vertex.h, cs_edge_label.h | typedef cs_cfg_edge |
See also: