CodeSonar´s world-leading static analysis engine provides defect detection as well as sophisticated visualization functionality. The visualization capability can be used as a stand-alone tool to comprehend the relationship between different elements of the code base, or in conjunction with CodeSonar´s vulnerability reporting to examine the contexts associated with specific warnings.
High Performance and Scalability
The visualization tool is able to handle large code bases with more than 10 millions lines of code. Usually projects in this size are difficult to manage, because they present both technical and cognitive challenges.
Figure 1. The visualization helps to reflect the structure imposed by the file system. Tapered edges indicate calls from functions contained in one node to functions contained in another, with tapering indicating the direction of the call. Information about selected elements is displayed in a dedicated panel.
- Zoom, pan, expand, collapse, and more, even as program sizes grow into the millions of lines of code.
- Layered data presentation:
A zoom function allows to show details and abstract your code. The "link bundling" prevents visual clutter of individual links in high-level views while preserving connectivity information.
- Display only the elements you are interested in:
To examine dedicated focus areas you can choose arbitary portions of the program. It is also possible to hide links and nodes that are not currently relevant.
FlexibilityCodeSonar visualize the data, in the layout you want to see it in.
Figure 2. The shown layout arranges the call graph with callers to the left of their callees. Here the user examines one of the possible call paths to a function associated with CodeSonar warning report. The info panel contains a link to side-by-side source listings, which in turn are highlighted to show the functions and call sites making to the selected call sequence.
- Multiple layout options:
Cluster, radial, flow, and more.
- Free navigation options in the chosen layout:
Top-down, bottom-up, outward from a specified point, or anything in between.
- Visualize custom data:
Apply the visualization infrastructure to other kinds of data. Nutzer können die Visualisierungs-Infrastruktur ohne weiteres auf andere Datenarten anwenden.
InteractivityFurther interactive features enhance the navigation through the visualized structure. Die Navigation durch die angezeigten Strukturen wird mittels weiterer interaktiver Features verbessert.
Figure 3. Visualization layouts and source code are closely coupled. When a node is selected in the visualization panel, the source code panel automatically updates to display the corresponding location in the relevant file.
- Search capability:
Find program components by name, add selected search results to the current view and zoom in on individual results.
The automatic update of the displayed source listing and summary information matches selections in the visualization panel.
Annotate any node in the visualization and share annotations with other users.
Use the visualization for multiple users thanks to CodeSonar´s hub-based architecture.