Plugins Download


Imagix 4D functionality can be extended through the use of plugins. As provided by Imagix or defined/modified by users, these can access project data, perform analysis and calculations, show results within Imagix 4D data display mechanisms, and import or export data from the tool in definable formats.

A set of plugins are packaged in the Imagix 4D download. These reside in the ./imagix/user/plugins directory, and are installed by simply changing their .tc_ suffix to .tcl. Those plugins along with some additional plugins can be downloaded from here.

Beyond these, we have an extensive collection of plugins that are less generally applicable, or require more instruction or some customization, but might be of significant help to you. And we always welcome the opportunity to create new plugins or to work with you to customize plugins for your applications. So if you wish that Imagix 4D performed an additional analysis, had an integration with a specific tool, could import or export data in a particular format, etc, please contact us.

CKMetricsDetail For each class in your project, Imagix 4D reports the six Chidamber-Kemerer object oriented metrics. This plugin adds a report that shows the details behind each of the six metrics for a given class. For example, for Lack of Cohesion in Methods (LCOM), the report lists the pairs of methods that do not use the same variable, and then the pairs of methods that do use the same variable (added 9.1.1).
CodePages Provides support for working with source files that use character sets beyond standard ascii, such as Chinese, Korean, Central European or even Greek. This plugin supports the ability to read and display the sources in a way that non-ascii characters are legible, and to write any files using the native code page of your environment (added 9.1.1).
DangerSpot Defines a function-level metric indicating the danger of an associated error, based on the function's complexity, variable access, and breadth of use. This plugin is an example of a user defined metric generated by combining other metrics, and can be used as a template for creating other metrics (added 8.0.0).
DeltaCTC Extends the integration of Imagix 4D's Delta Analysis feature with the Testwell CTC++ test coverage tool. Using the results of CTC++ test runs, the plugin calculates four metrics for each function in your project. 'Coverage of Branches' indicates the percentage of a function's branches that were executed. 'Revision Coverage of Branches' shows the percentage of a function's branches that were executed in revision. 'Coverage of Changed Branches' displays the percentage of a function's branches containing changed code that were executed. 'Accumulated Branch Coverage' calculates the percentage of a function's branches that were executed in either the current or revision project, meaning that they were exercised at some point in your testing (added 9.1.0).
ExportArchitecture Outputs a text-based hierarchical table of the structure of the architecture you currently have defined in Imagix 4D. Data is exported as a formatted ascii file that you can process further in your environment. For each function, information is included about the variables set or read by that function, including the size of those variables. As a result, this plugin requires that the StackSize plugin also be installed (added 9.1.1).
ExportCallGraphXML Outputs an XML-formatted file describing each of the symbols and relationships in a Functions Call graph. This plugin provides a useful example of how apply the XML export functionality described in user_plugins.txt (added 8.0.0, updated 9.1.1).
FunctionDiffs Imagix 4D's Delta Analysis operates mainly at a structural level to compare revisions of source code (although its diff tool does show source code differences specific to a given file). This plugin adds a metric for every function in your project indicating whether that function's source code has changed in any way between the current version and the revision you are comparing to. The plugin also adds metrics at the file and subsystem level indicating the number and percentage of functions where such changes occured (added 9.1.1).
GraphMacros Automates specific graph manipulation command sequences. This plugin is an example of an automated action, and can be used as a template for automating other commonly used graph sequences (added 9.1.1).
GraphSymbolUsage Reports on functions and variables selected in the current graph window. The report provides additional information to that viewable in the graph, mostly by indicating if and how many dependencies exist beyond those currently displayed in the graph (added in 9.1.1).
HiddenGlobals Reports all instances where a local variable shares its name with a global or static variable, and therefore might hide that global variable. This plugin is an example of a user defined check report, and can be used as a template for creating other checks (added 8.0.0, updated 9.1.1).
Notebooks Adds the ability to use notebooks internal to Imagix 4D to describe aspects of your software through ordered / annotated notes, accompanied by graph bookmarks. For each project, you're able to create a set of notebooks, of whatever names are meaningful to how you're organizing your work. As you graphically analyze your software, you can easily add notebook entries, annotating a given graph with meaningful comments. These notebook entries are automatically stored between sessions, and are easily updated and shared between users (added 9.1.1).
PointerArrayAccess Reports all pointer and array uses within functions. This plugin is useful as an example of how apply the basic report functionality described in user_plugins.txt (added 8.0.0, updated 9.1.1).
StackSize Includes tools for measuring and analyzing memory requirements of your software. Two metrics are calculated for every function in the project. 'Function Stack Size' indicates the memory required for the function's local variables. 'Aggregate Stack Size' displays the function's overall memory requirement, which includes the full memory requirement of the most memory intensive path of functions called from within the function. To customize this plugin for your environment, you can specify the memory size for predefined types in your software.

The plugin also includes two reports. 'Stack Size Deepest Path' displays the particular path in a function's calling hierarchy that uses the most memory. 'Variable Size' details the memory requirement for each member and submember of a variable, useful for understanding the memory usage of complex structs (added 9.1.0, updated 9.1.1).
TaskAnalysis Contains a set of reports providing general insight about the tasks as you have defined them for your project. 'Task Calling Hierarchy' shows the calling hierarchy of the functions within each task that has been defined. 'Function By Task' lists the functions within your software, and how they are used within each task. 'Variables By Task' provides information about the variables in your code, along with information about they are used within each task. Because this plugin deals with tasks, it is useful only with the Advanced edition of Imagix 4D (added 9.1.1).
VarReads Defines a variable-level metric indicating the the number of statements where the variable is read, similar to Imagix 4D's built-in 'Number of Variable Sets' metric. This plugin is an example of a user defined metric generated from control flow data in the project database, and can be used as a template for creating other metrics (added 9.1.1).