Using the Path Finder feature
Overview
Challenge
Debugging becomes significantly more complex when the relationships between code elements are unclear. Without visibility into how data flows through a system, developers often struggle to:
- Isolate the root cause of issues
- Understand interconnections between components
- Trace the impact of potential changes
- Identify opportunities for code reuse and optimization
This lack of clarity can extend debugging sessions and hinder efficient problem resolution.
Solution
The Path Finder feature addresses these challenges by providing developers with clear visualization of code relationships. It enables quick navigation through large codebases while revealing the connections between elements, allowing developers to:
- Evaluate the potential effects of their modifications
- Discover opportunities for code reuse and optimization
- Achieve faster debugging and more effective issue resolution
How it works
When activated in default mode, Path Finder automatically generates a comprehensive view showing either all possible paths or the shortest path (based on your selected options) from/to a chosen source object.
The feature provides complete coverage by including paths between:
- The source object and target object directly
- The source object’s child objects and the target object
- The source object and the target object’s child objects
- Child objects of both source and target objects
Path Finder is available at the Object level across all scopes, making it accessible wherever you need it in your development workflow.
How do I access the feature?
Your application needs to have the Ready to view status in the Landing page:

Click Ready to view, expand the Learn about application? section and select the Application Architectur tile to access the default view:

Drill down to object level, right-click your chosen source object, select Graph Navigation > Path Finder:

When the Path Finder option is clicked, the following dialog box is displayed enabling you to choose the from a list of potential path types for your selected object:

- Callees (default): objects identified as callees for the selected object (i.e. being called by it)
- Callers: objects identified as callers for the selected object (i.e. calling it)
- End Points: objects identified as end points for transactions involving the selected object
- Start Points: objects identified as entry points for transactions involving the selected object
A list of matching objects will be displayed for each type (none will be displayed if no objects match) allowing you to select the object you are interested in via the radio button:

When you have located the object you are interested in, select it and then click Load all paths or Load shortest path in the bottom right corner of the dialog and choose:
- Load all paths - discover and display all possible paths between the original selected object and the target
- Load shortest path - discover and display the shortest path between the original selected object and the target

Using the Set hops option
Hops are the maximum depth that CAST Imaging will search for target objects. The default value is set to 0, or infinite hops, in other words all paths between the two objects will be loaded when the Load All Paths option is used (available in the bottom right corner of the dialog):

Setting an alternative value will force only that number of “hops” to be investigated. This can improve performance when a large number of paths between two objects are present.
If more than 10 seconds elapses after the start of the path search (whatever the number of hops chosen), a dialog will be displayed providing the opportunity to change the hop value (i.e. reduce it) to ensure the results are displayed in a timely fashion:

A similar dialog will be displayed when no paths between two objects can be found: typically this occurs when the hop value has been set too low:

Example
Take the following example where the selected source object is a C# class and we want to find the shortest path between this object and another C# class calling the source object:

Select the Callers path type, the object you are interested in, then choose Load shortest path:

The path is then displayed from the calling object “myaccount” and the original selected object “Blogic”:
