1. Created By : Avikal
4GL code Analyzer,
Code to Flow chart
Function Linker
2. Problem
2
• Some of the mainframe critical business applications of are written in 4gl language. This
is very old programming language (90’s) and lacks the features of new OO programming
languages.
• As a part of modernization, legacy systems are being replaced by Microsoft technologies.
This effort many a times involves reverse engineering of 4gl code.
• Reverse engineering is very challenging considering complexity of the 4gl code and non
availability of any tool to parse it.
• Most common method is to go through Notepad and iterate through complex if-else-for-
while loops. Just imagine the nightmare faced by the person to derive business logic out
of 100s of 4gl files
3. Solution
3
• This utility can take 4gl files as an input and produce a very simplified and easy to
understand output.
• The tool can create syntax tree for the 4gl code and will have functionalities like
Snapshot of entire code in a single window (expand/collapse functions to hide
unnecessary details for high level view)
Code traversal
Flow diagram
Search functionality that can highlight particular code in entire code base and also
show all the parent functions through which it is called.
• Uses .Net stack of technologies to build this tool
4. Case Study 1 – How much time required to trace particular code?
4
• ACE 4gl code analysis to find 1 exception code and it’s parent function: 2 Hours
• The visually enhanced output allowed us to analyze within 10 minutes
Without this tool
With this tool
Effort reduction by 92%
5. Case Study 2 – Easier support and maintenance of old legacy code
5
This utility can be used to check old legacy code for maintenance purpose. Below is the 4gl
code snippet which is logically incorrect. Our utility makes it very easy to identify the issue.
6. Case Study 3 – Easier code analysis- Awesomely simplified depth traversal
6
• BA is using this utility to gather requirements
• Developers are using this utility to understand current flow
• Testers are using this utility to create test scenarios
7. Case Study 4 – How many hours can be saved?
7
• 4gl code analysis requires resources who spent x hours daily for complete year
• The total time spent on 4gl analysis by going through code to understand the systems
would be tremendously tedious, time burning and error prone
• This tool can be given to any user who has basic knowledge of pseudo code.
• Saves time
• No margin for error and analysis is through flow chart that can link function call to actual
definition
Let us take current 4gl project as a case study to find out effectiveness of this utility
Without this tool
With this tool
Effort reduction by 92%
8. What does this mean?
8
4gl &
power
point
code
analyser
This utility can be used across all phases
of software development lifecycle
9. Marketability of the tool
9
• Intended users of this tool:
Client teams that work on 4gl projects without functional code documentation
Business analyst / development teams that transform legacy mainframe 4gl
projects to any .net or java code
10. Method used by Business Analyst for 4gl code analysis
10
Conventionally Business analyst /developer have to go through tedious task to analyze 4gl
code
• Search any code grep “<keyword>” <path of source code folder>
• Open all files that contains this code vi <file_name>.4gl
• Check all the files which is tedious and error prone