scitools.com

← Graph catalog

Butterfly is one of the interactive graphs Understand can draw of your code — call trees, dependencies, control flow, and more.

Butterfly

Languages: Ada, Any, Assembly, Basic, C#, C++, Fortran, Java, Jovial, Pascal, Python, Rust, VHDL, Web
Targets: Classes, Files, Functions, Generics, Modules, Objects, Packages, Subprograms, Types
Variants: Assigned To & Assignments (Cluster), Assigned To & Assignments (Compare), Assigned To & Assignments (Simplified), Calls & Called By (Cluster), Calls & Called By (Compare), Calls & Called By (Simplified), Child Lib Units & Parent Lib Unit (Cluster), Child Lib Units & Parent Lib Unit (Compare), Child Lib Units & Parent Lib Unit (Simplified), Classic, Compare (Classic), Data Flow Out & Data Flow In (Cluster), Data Flow Out & Data Flow In (Compare), Data Flow Out & Data Flow In (Simplified), Declaration Tree & Declared In (Cluster), Declaration Tree & Declared In (Compare), Declaration Tree & Declared In (Simplified), Dependencies, Dependencies (Compare), Derived Classes & Base Classes (Cluster), Derived Classes & Base Classes (Compare), Derived Classes & Base Classes (Simplified), Extended By & Extends (Cluster), Extended By & Extends (Compare), Extended By & Extends (Simplified), Imports & Imported By (Cluster), Imports & Imported By (Compare), Imports & Imported By (Simplified), Include & Includeby (Cluster), Include & Includeby (Compare), Include & Includeby (Simplified), Overriddenby & Overrides (Cluster), Overriddenby & Overrides (Compare), Overriddenby & Overrides (Simplified), Requires & Required By (Cluster), Requires & Required By (Compare), Requires & Required By (Simplified), Type Tree & Type Derived From (Cluster), Type Tree & Type Derived From (Compare), Type Tree & Type Derived From (Simplified), Uses & Used By (Cluster), Uses & Used By (Compare), Uses & Used By (Simplified), Uses Traits & Used By (Cluster), Uses Traits & Used By (Compare), Uses Traits & Used By (Simplified), With & Withby (Cluster), With & Withby (Compare), With & Withby (Simplified)

Butterfly - Assigned To & Assignments (Cluster)

Show both Assigned To and Assignments relationships

See Assigned To and Assignments graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Assigned To & Assignments (Compare)

Show both Assigned To and Assignments relationships

See Assigned To and Assignments graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Assigned To & Assignments (Simplified)

Show both Assigned To and Assignments relationships

See Assigned To and Assignments graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Calls & Called By (Cluster)

Show both Calls and Called By relationships

See Calls and Called By graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Calls & Called By (Compare)

Show both Calls and Called By relationships

See Calls and Called By graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Calls & Called By (Simplified)

Show both Calls and Called By relationships

See Calls and Called By graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Child Lib Units & Parent Lib Unit (Cluster)

Show both Child Lib Units and Parent Lib Unit relationships

See Child Lib Units and Parent Lib Unit graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Child Lib Units & Parent Lib Unit (Compare)

Show both Child Lib Units and Parent Lib Unit relationships

See Child Lib Units and Parent Lib Unit graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Child Lib Units & Parent Lib Unit (Simplified)

Show both Child Lib Units and Parent Lib Unit relationships

See Child Lib Units and Parent Lib Unit graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Classic

See a selected entity's full relationship neighborhood in one diagram: everything it depends on, and everything that depends on it, at once.

Which relationship is shown depends on what's selected: functions and subprograms show Calls and Called By; classes, structs, and interfaces show Base Classes and Derived Classes (or Extends and Extended By for Java and Pascal); Ada types show their derivation chain; files show Include and Includeby; VHDL entities show Use and Useby. That makes it useful for impact analysis — seeing at a glance what a change to the selected entity could affect both upstream and downstream — without opening two separate graphs.

See also the compare graph.


This variant is a plugin. It can be enabled/disabled from the Plugin Manager.

Back to Butterfly

Butterfly - Compare (Classic)

Compare a selected entity's full relationship neighborhood between two versions of the project, in one diagram: everything it depends on, and everything that depends on it, with entities and edges colored by whether they were added, removed, or changed.

Which relationship is compared depends on what's selected, the same as in the Classic variant: functions and subprograms compare Calls and Called By; classes, structs, and interfaces compare Base Classes and Derived Classes; and so on. That makes it useful for reviewing how a function's or class's full calling or inheritance context changed across a refactor or release — whether new callers appeared, old ones disappeared, or an override was added or removed — without diffing two separate graphs.

See also the classic graph.


This variant is a plugin. It can be enabled/disabled from the Plugin Manager.

Back to Butterfly

Butterfly - Data Flow Out & Data Flow In (Cluster)

Show both Data Flow Out and Data Flow In relationships

See Data Flow Out and Data Flow In graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Data Flow Out & Data Flow In (Compare)

Show both Data Flow Out and Data Flow In relationships

See Data Flow Out and Data Flow In graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Data Flow Out & Data Flow In (Simplified)

Show both Data Flow Out and Data Flow In relationships

See Data Flow Out and Data Flow In graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Declaration Tree & Declared In (Cluster)

Show both Declaration Tree and Declared In relationships

See Declaration Tree and Declared In graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Declaration Tree & Declared In (Compare)

Show both Declaration Tree and Declared In relationships

See Declaration Tree and Declared In graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Declaration Tree & Declared In (Simplified)

Show both Declaration Tree and Declared In relationships

See Declaration Tree and Declared In graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Dependencies

Show both Depends On and Depended On By relationships.

See Depends On and Depended On By graphs for details.

This variant shows each file/class once. In the GUI, the files/classes can be expanded to show the entities for each reference.


Back to Butterfly

Butterfly - Dependencies (Compare)

Show both Depends On and Depended On By relationships.

See Depends On and Depended On By graphs for details.

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Derived Classes & Base Classes (Cluster)

Show both Derived Classes and Base Classes relationships

See Derived Classes and Base Classes graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Derived Classes & Base Classes (Compare)

Show both Derived Classes and Base Classes relationships

See Derived Classes and Base Classes graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Derived Classes & Base Classes (Simplified)

Show both Derived Classes and Base Classes relationships

See Derived Classes and Base Classes graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Extended By & Extends (Cluster)

Show both Extended By and Extends relationships

See Extended By and Extends graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Extended By & Extends (Compare)

Show both Extended By and Extends relationships

See Extended By and Extends graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Extended By & Extends (Simplified)

Show both Extended By and Extends relationships

See Extended By and Extends graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Imports & Imported By (Cluster)

Show both Imports and Imported By relationships

See Imports and Imported By graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Imports & Imported By (Compare)

Show both Imports and Imported By relationships

See Imports and Imported By graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Imports & Imported By (Simplified)

Show both Imports and Imported By relationships

See Imports and Imported By graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Include & Includeby (Cluster)

Show both Include and Includeby relationships

See Include and Includeby graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Include & Includeby (Compare)

Show both Include and Includeby relationships

See Include and Includeby graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Include & Includeby (Simplified)

Show both Include and Includeby relationships

See Include and Includeby graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Overriddenby & Overrides (Cluster)

Show both Overriddenby and Overrides relationships

See Overriddenby and Overrides graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Overriddenby & Overrides (Compare)

Show both Overriddenby and Overrides relationships

See Overriddenby and Overrides graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Overriddenby & Overrides (Simplified)

Show both Overriddenby and Overrides relationships

See Overriddenby and Overrides graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Requires & Required By (Cluster)

Show both Requires and Required By relationships

See Requires and Required By graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Requires & Required By (Compare)

Show both Requires and Required By relationships

See Requires and Required By graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Requires & Required By (Simplified)

Show both Requires and Required By relationships

See Requires and Required By graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Type Tree & Type Derived From (Cluster)

Show both Type Tree and Type Derived From relationships

See Type Tree and Type Derived From graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Type Tree & Type Derived From (Compare)

Show both Type Tree and Type Derived From relationships

See Type Tree and Type Derived From graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Type Tree & Type Derived From (Simplified)

Show both Type Tree and Type Derived From relationships

See Type Tree and Type Derived From graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Uses & Used By (Cluster)

Show both Uses and Used By relationships

See Uses and Used By graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Uses & Used By (Compare)

Show both Uses and Used By relationships

See Uses and Used By graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Uses & Used By (Simplified)

Show both Uses and Used By relationships

See Uses and Used By graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - Uses Traits & Used By (Cluster)

Show both Uses Traits and Used By relationships

See Uses Traits and Used By graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - Uses Traits & Used By (Compare)

Show both Uses Traits and Used By relationships

See Uses Traits and Used By graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - Uses Traits & Used By (Simplified)

Show both Uses Traits and Used By relationships

See Uses Traits and Used By graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly

Butterfly - With & Withby (Cluster)

Show both With and Withby relationships

See With and Withby graphs for details

The Cluster variant groups entities by their containing class/file/architecture.


Back to Butterfly

Butterfly - With & Withby (Compare)

Show both With and Withby relationships

See With and Withby graphs for details

The Compare variant shows how the graph has changed relative to the project's comparison database.


Back to Butterfly

Butterfly - With & Withby (Simplified)

Show both With and Withby relationships

See With and Withby graphs for details

The Simplified variant shows all relationships in a simple tree (no clusters)


Back to Butterfly