Skip to main content
Skip table of contents

Compare Application Programs

The AveriSource Platform™️ can be used to compare application programs, which is particularly useful when prioritizing applications to modernize.

  • The Inventory report → Received Files provides the size of each program in terms of lines of code. This does not include the expanded code—like length of the copybooks—referred to by the program. Lines of code are a rudimentary parameter to compare application programs and categorize them into simple, medium, and complex. The LOC data for all of the programs can be analyzed to get a range (lowest, highest, and average) and fed as input for effort estimations and resource allocation.

    • Example: 10% of the programs have high LOC and require senior analysts and/or more effort to analyze. 

  • The Connections report under Discover can be used to compare Entry Points and identify the number of dependencies they have, then categorize them as simple, medium, and complex. The total number of dependencies for a Job is an indicator of the effort required to analyze the job holistically—and to test the Job in case of a change or new request. 

  • The Connections report is generated for each Entry Point, like a Job, and captures all the application components that are directly—and indirectly—associated with that Entry Point. A Job could execute a Program (direct) which, in turn, may call another sub-program (indirect). Likewise, the Programs can refer to Copybooks, datasets, and other programs, all of which are captured in the Connections report. Users can also filter for components of interest and ignore dependencies that may not be important.

    • Example: Job A has 10 dependencies while Job B has 25 dependencies. Further, Job A impacts 2 datastores, while Job B impacts 10 datastores. Thus, Job B is more complex and requires more effort to analyze, maintain, and test when compared to Job A. 

  • The Complexity Analysis report utilizes standard Halstead and McCabe metrics to compute various metrics for each program in the Inventory, including Decision Points, Program Volume, Programming Difficulty, etc. When computed for a set of programs, these complexity metrics help to compare the programs relatively, which can be further used for effort estimates and resource allocations. In addition to the LOC metric—which is typically used to compare the programs based on size—these metrics can be used to quantitatively categorize and prioritize components.

    • Example: Programs with higher Decision Points, as well as Max Depth, are the most complex when it comes to testing since these metrics are an indicator of the number of conditional statements in a Program. So, the greater the number of conditions, the more testing effort is required since there are greater test cases and data. Likewise, Program Effort/Time metrics are an indicator of the number of commands and variables/literals (operators and operands) used in a Program. A Program with a high Program effort indicates a relatively higher time required to understand or change the Program. 

  • The Data Operations report helps to compare Programs based on the number of data operations they perform. This can be further analyzed based on the number of CREATE operations (WRITE/REWRITE/UPDATE statements in COBOL) versus other Data Operations since programs performing more CREATE operations are likely to take more effort to analyze (as they may involve more computations, logic, or conditionals while creating or updating data).

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.