Morphis Inspector receives as first argument a command type that indicates the kind of analysis to execute, namely:
The "extensibility" Inspector command is used to extract information of candidate application modules to be transformed using Morphis' Extensibility Model. The output of the tool consists of a .ZIP file containing:
a XML file with information on candidates modules to apply Morphis' Extensibility Model;
statistics per analysed module on the qualitative and quantitative differences between a baseline module and a candidate extension module.
The "metrics" Inspector command is used to extract "standard software metrics" information from the application modules. The collected metrics are grouped in categories such as:
Volume - Lines of Code (LoC), Number of Statements, Number of Routines, etc
Structure - Inheritance relations, GOTOs, Inner classes, Inner Routines, etc.
The output of the tool consists of a .ZIP file containing a XML file with metrics for each application module.
The "interfaces" Inspector command is used to extract "the signature of modules" in terms of their routines, parameters, global variables, and declared types or classes. The output of the tool consists of a .ZIP file containing a XML file for each application module with the signature of modules (APIs).
The "dependencies" Inspectorcommand is used to extract "the system dependencies between modules and datasources (e.g. database tables or procedures)" . Dependencies are classified in the following categories:
Flow - dependencies that are based on the code flow execution like a "call" (calling a routine in another module);
IO - dependencies that are based on datasources accesses like reading a file or an SQL query statement;
Structure - dependencies that are based on the code structure like inheritance relations between modules, type references, inner types or classes.
The output of the tool consists on a .ZIP file containing a XML file for each application module with the dependencies of this module to other application artefacts.
The "marks" Inspector command is used to extract "information about code patterns". The pattern rules are created using Morphis Rules Studio, organized in rule libraries and then supplied as input to the inspector tools to proceed with the pattern matching in the application code.
The output of the tool consists on a .ZIP file containing a XML file with all marks (pattern instances) identified in all application modules.