Review assessment results

This document describes how to review the assessment of the discovered assets, and analyze the application source files using generative AI.

The assessment results provide you with details such as the lines of codes and number of calls found in the application, which help you plan your migration. Also, the analysis provides you with a summary of the program, which helps you understand the semantics of the program.

Before you begin

Review assessed applications

  1. To open the dashboard where you can review and analyze the assessed applications, on the Mainframe Assessment Tool Home page, click the reference ID of the application that you want to review. The Details page opens.
  2. Open the Discovery tab. The dashboard appears. This dashboard has multiple tabs that are explained in the following sections.

Inventory

The Inventory tab provides the following details:

  • Number of files per language
  • Number of code lines per file type
  • Code lines versus comment lines
  • Batch versus online programs

Module Types

The Module Types tab provides more information about COBOL and JCL. It tries to categorize COBOL programs into the following types:

  • Orphan: programs that are not called nor call another program.
  • Missing: programs that are called, but whose source code has not been provided.
  • Utility: system programs built by companies such as IBM and Microfocus.
  • Program: Programs of an unrecognized type, potentially due to missing parsing or their absence from the source code.
  • COBOL: application programs.

JCL calls (EXEC statements) are categorized into the following 3 types:

  • Program: the actual application programs.
  • Proc: set of statements inside a JCL grouped together to perform a particular function.
  • Utility: system programs built by companies such as IBM and Microfocus.

Complexity

The Complexity tab shows a table listing the complexity of every source in the uploaded application. The complexity uses McCabe as a metric which represents the number of execution paths or decision points in a source.

  • Simple: complexity < 100
  • Medium: 100 <= complexity < 500
  • Complex: 500 <= complexity < 1000
  • Very Complex: 1000 <= complexity

Call Dependency

The Call Dependency tab shows the call graph of all uploaded entities. The size of the icons is related to the number of incoming and outgoing calls.

Driver Modules

The Driver Modules tab shows modules that call many other modules. The size of the icons is related to the number of incoming and outgoing calls.

Data Lineage

The Data Lineage tab presents an overview of how files are used in JCL batch jobs. For every JCL step it shows the called program, the used files and the corresponding disposition.

CRUD

CRUD stands for Create, Read, Update, and Delete. The CRUD graph shows the CRUD operations performed on DB2 tables by COBOL programs.

Functional Group

The Functional Group tab displays the functional group specific details of each component. You can select a functional group and discover how many components and the types of components belong to a particular functional group.

A functional group is a subset of the entire mainframe application which contains components related to a specific features. For example, a banking application can have functional groups such as Reporting, Tax, Accounting, and Ledger.

The functional groups can only be inferred from the sub-directories present within the uploaded zip file.

Functional Group Clustering

The Functional Group Clustering tab shows the dependencies between functional groups. The purpose of this tab is to help in migration planning by finding common modules between different functional groups.

JCL Substitution Params

The JCL Substitution Params tab shows the resolved values of the JCL parameters.

CICS Calls

The CICS Calls tab shows the CICS calls made from each program, and their parameters. You can filter the results by command, program or parameter.

Parse Issues

The Parse Issues tab shows all the errors that the Mainframe Assessment Tool encountered during the parsing of the source code.

Missing Modules

The Missing Modules tab shows the modules that are used in the code, but that weren't found during the input analysis.

Use this tab to understand what was missing, and consider adding these modules before re-running the assessment.

Orphan Files

The Orphan Files tab shows all the entities that are neither called nor call another entity in the source code.

Analyze source files using generative AI

You can analyze the COBOL and JCL source files using Generative AI. This feature depends on Vertex AI. To use this feature, make sure AI Analysis was enabled on the Settings page before running the assessment.

To explore the results, on the Mainframe Assessment Tool Home page, follow these steps:

  1. On the Assessments page, in the table, click the reference ID of the application that you want to review. The Details page opens.
  2. Open the AI [Experimental] tab. A page appears that shows a list of files and a table. Each file has one of the following icons:

    • In Progress. The file has not yet been analyzed.
    • Completed. The AI analysis for the file completed successfully.
    • Failed. The AI analysis completed with an error.

    Select the file for which you want to see results to inspect AI-generated specification, test case and code samples.

  3. The Q&A [Experimental] tab is an experimental feature that provides you with a space to ask questions and receive AI-generated answers about the analyzed code. You can use the Q&A tab to do the following:

    • Ask questions about the business logic of the code.
    • Search for usage or mentions of specific function.
    • Explain data structures and summarize their usage.