ASE2024
Experience Report on Applying Program Analysis Techniques for Mainframe Application Understanding
Shivali Agarwal, Hiroaki Nakamura, Rami Katan
摘要
Most of the enterprises running Mainframes applications written in COBOL and PL/I languages are on a journey of modernization of these applications to make them maintainable and amenable to the more modular service based programming paradigms. Such enterprises are looking for tools and techniques to help their developers understand the application faster and easier than what is possible through manual scanning of code. Towards this goal, we have developed a tool that automates a lot of the underlying analysis required to understand the mainframe applications in a manner that enables the users for modernization use cases of such applications. Notably, we have provided a novel mechanism to determine the conditional statements and paragraphs that are key functionality drivers in a program. We refer to these key statements and paragraphs as functional hotspot indicators (FHI). All the analysis in the tool works on static code analysis. We provide an experience report on how did we optimize the implementation of static analysis to scale and perform for real world applications that have hundreds of programs and millions of lines of code. We also cover real user case studies some of which have reported 2-5X productivity improvement through use of our tool in the modularization type refactoring use case.CCS Concepts• Software and its engineering → Integrated and visual development environments.