Working with object and link history

Available in ≥ 3.3.x-funcrel

Overview

Would you like to understand what the structure of the objects and links in your application looked like in a previous analysis? Look no further than the CAST Imaging “History” feature:

How can I access this feature?

The History feature is available in the header panel with specific object information displayed in the Characteristics section of the right-panel:

Are there any requirements?

  • the feature functions when working at Object level and Levels 1-5 throughout all scopes, including the Custom Aggregation feature.
    Available in ≥ 3.4.x-funcrel
  • the application needs to have been imported into CAST Imaging ≥ 3.3 whether via result import or via an analysis.
  • the application needs to have been imported twice or more into CAST Imaging whether via result import or via an analysis so that “history” can be generated for objects and links (this is actioned automatically). If there is only one “import” then no history will be available:

How does it work?

By default, CAST Imaging always displays the most recent information about the objects and links in the view. If History is available, it is then possible to “travel back in time” to a previous date (i.e. the date of a previous analysis/import) and CAST Imaging will display the state of the objects and links in the view at that time. Use the date selector to do so: in this example there are three “versions” of the application - on selecting a date, the screen will update to show the situation at that time:

Then selecting an object/node or a link in the view will show the history of that item over time in the Characteristics section of the right-panel:

History on nodes

Available in ≥ 3.4.0-funcrel

Clicking a node (i.e. a grouped item displayed in Levels 1-5), additional information is displayed about the history of the objects and links that form the node. Clicking the links highlighted in the image below will expand the node into its child objects, listing the Unchanged and/or Modified objects as appropriate:

A global context highlighter (in blue) is provided to ensure that it is easy to understand which version of the item is currently being displayed:

This context is persistent:

  • when a specific analysis date is selected in one tab, any new tab opened will retain that same date.
  • this selected date acts as a global context, staying consistent across tabs until it is changed.
  • all other open tabs are closed before switching to the history mode (a warning popup will be displayed).

Statuses of objects and links are based on a checksum generated during the original analysis of the source code:

Status Description
Added New since the previous analysis (this is also the status in the very first analysis of an application where multiple analyses exist).
Deleted Existed in a previous analysis, but has been deleted in the current displayed analysis. This status will only be displayed when you have selected a previous date with the date selector (an item cannot have the “deleted” status in the most recent analysis).
Modified Modified in the current displayed analysis and was also part of the previous analysis.
Unchanged Has not changed since the previous analysis.

How do I return to the current status?

If you have selected previous version data via the date selector, use the Reset button to return to the most recent state:

Current limitations

The History feature is not yet supported in the following views:

  • Start and End Points
  • Simplified Call Graph (Transaction view)
  • Communities view
  • App-to-App Dependency view
  • Saved Views
  • Advisor
  • Cypher search views
  • AI and Imaging Assistant features

The following is additionally not supported:

  • source code display in Compare mode