Using Understand 6 with CMRI

Understand 6 is a beta feature of CodeMRI® and therefore may have unexpected bugs. Therefore, by default. Understand 5 is the default analysis engine for CodeMRI®. Currently, CodeMRI® does not allow for switching between analysis engines for the same system. To compare results between the two, you must create two identical systems and set one of them to use the Understand 6 engine.

Some of the Major Updates between Understand 5 & Understand 6 as they relate to use by CodeMRI® Software are:

  • Produced analytics are now directory based projects instead of stored within .udb files. In 6.0, all of the necessary information needed to create a project is located in one directory and is text based and small enough to easily be checked in for sharing and Version Control.

  • Several improvements to Graphing Capabilities

  • Better analytic capabilities and proper supports Javascript and Typescript support.

Configure CodeMRI® to use Understand 6

  1. Install CodeMRI® to your Operating System

  2. Currently CMRI is configured to expect Understand 5 to be ran as the original analysis engine in order to configure licensing with SciTools. As such, if you are running from a freshly installed CMRI then run the following commands first.

    • project add -n test adds the burner project for configuring a SciTools License.

    • system add -n test -v 1 -o "path/to/source/code" adds the burner system.

    • select --add test/test-1 selects the system for the following command to be ran.

    • job run produce_reports will generate a SciTools Understand License.

    • select --remove test/test-1 will remove the burner system from selection for the next steps.

  3. Now, setup a project and system for the code base you intend to analysis with Understand 6.

    • project add -n <project-name> creates the project we will configure to use Understand 6.

    • system add --selection <project-name -n <system-name> -v <version-number> -o "path/to/source/code" creates the system we will configure to use Understand 6.

    • select --add <project-name>/system-name>-<version-number> will select the just created system for further the next step.

  4. By default, CMRI is configured to use Understand 5 as the backend analysis engine. this can be verified and changed to Understand 6 with the following commands:

    • system config get analysis_engine which should return “understand”.

    • system config set analysis_engine understand6 will configure the system to use understand6 now.

    • system config get analysis_engine which should return “understand6”.

  5. CMRI should now be configured to use Understand 6 as the analysis engine for your product. Running job run produce_reports or a similar job will now produce results using Understand 6.

Systems that use Understand 6 and systems that use Understand 5 are not compatible with each other, so its best to keep them in separate projects to not confuse yourself. You can also set the analysis_engine at the project level, by substituting the system keyword for project .

Understand 6 Command Usage Cheatsheet

Below are some helpful commands directly associated with configuring CMRI to swap analysis engines. For a full list of commands, please refer to the following Confluence page: https://silverthread.atlassian.net/wiki/spaces/CKB/pages/2527789057

  • project config set analysis_engine <understand5|understand6> - Configures which analysis engine is used at the project level.

  • system config set analysis_engine <understand5|understand6> - Configures which analysis engine is used at the system level. Overrides project configuration for this system.

  • project config get analysis_engine - List the current analysis engine used by CMRI at the project level.

  • system config get analysis_engine - List the current analysis engine used by CMRI at the system level.