Explanation of Dynamic Call-Tree Graphs
What is a Dynamic Class?
Dynamic Classes are classes sampled by the Agent as part of the Dynamic Analysis (Learning). The Agent is sampling all callstacks several hundreds times a second and, when the data is analyzed, all the calls are consolidated into a unified call-tree as seen in the diagram above.
Every node in the call-tree represent a method call of a dynamic class.
What is an Entry Point?
The nodes with Orange icons in the diagram above are Entry Points - method calls that trigger corresponding execution flows in the domain. The set of Entry Points of a Domain is also referred to as the Domain Boundary. Any method call in the call-tree can become an Entry Point and Entry Points can be deleted by the users or moved to a different domain.
Improving the Domain Partioning by Specifying Potential Entry Points
Users can improve the domain partitioning of the automatic / initial dynamic analysis by specifying Potential Entry Points in the Analysis Parameters. For example, if the code is using a convention to access business logic via classes with a Controller suffix, specifying the expression Controller. in the Potential Entry Points field in the Analysis Parameters will “hint” to the analysis to create entry points to such methods resulting in domains corresponding to these classes. Similarly, a user can specify expressions in the Non-EP Classes field to “hint” to the analysis to avoid creating entry points for methods belonging to certain classes. For example, a user may want to avoid creating domains for Respository classes.
What is a Common Class?
Nodes with red icons represent method calls of Common Classes - classes that are assigned to the common library, while nodes with blue icons represent Method Calls of classes that are part of a domain.
What is an Infrastructure Jar?
Grey nodes represent methods calls of classes that are part of the Infra/Third-Party Jars or of classes that are not in the scope of the analysis. These method calls are outside of the namespaces configured as “Classes to Include” (Analysis Parameters page that open by the action Configure Parameters).