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 review and analyze the assessed applications, on the Mainframe Assessment Tool Assessments page, click the Reference Id of the application that you want to review. The Discovery page opens and 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 categorizes modules called from 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 Files Data Lineage tab shows how JCL batch jobs and COBOL programs use files. It identifies the programs that read from and write to files.

The Databases Lineage tab shows how DB2 tables are used in JCL batch jobs and COBOL programs. For each JCL job that executes a COBOL program that accesses a DB2 table, the tab identifies the called program, the accessed table,and the corresponding usage.

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 programs

The Orphan Programs Tab lists all programs that neither call another entity nor are called by another entity in the source code.

Databases

The Databases tab lists the DB2 tables used in the assessment. The page details each table's columns and properties.

Datasets

The Datasets tab displays an overview of the datasets used in the assessment. For each dataset, the page details all the fields and properties of each field.

JCL Job Connections

The JCL Job Connections tab displays dependencies between JCL jobs. The Mainframe Assessment Tool analyzes dependencies in three ways:

  • Connected jobs based on a shared data source: This chart connects two jobs if they use the same data source; one job writes to the source, and the other reads from it.
  • Connected jobs based on a shared data source (tabular view): This table details the connections between the jobs. It presents the writer job, reader job, shared data source, and its type.
  • Job dependencies from writers to readers: This tree chart displays the writer job, the writer program, the data source, the reader program, and the reader job.

Analyze source files using generative AI

You can analyze the application 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.
  2. Open the AI Insights tab. A page appears that shows a list of files and a table. Each file has one of the following icons:

    • Pending. The file has not yet been analyzed.
    • In Progress. The file is being analyzed.
    • Completed. The AI analysis for the file completed successfully.
    • Failed. The AI analysis completed with an error.
    • Warning. AI analysis completed with a warning.

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

  3. The Q&A tab 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.