We are evaluating some COBOL code that is very complex and not well-structured. I have a couple of questions on the tooling front.
(1) We would like to capture the number of times each external subroutine is called, ideally during a production run. Is something like the Debug Tool the best way to do that or is there a less invasive way to get that information.
(2) In ISPF I notice references to an older product called COBOL Structuring Facility which improve the structuring of code for better readability and maintainability. Is this product still current, and/or are there better ways of automating the restructuring the code in the Rational toolset?
Thanks in advance.
This topic has been locked.
5 replies Latest Post - 2012-03-28T13:21:33Z by timhahn
Pinned topic Enterprise COBOL 4.2 for z/OS Tooling questions
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2012-03-28T13:21:33Z at 2012-03-28T13:21:33Z by timhahn
rxross 100000GMJR5 PostsACCEPTED ANSWER
Re: Enterprise COBOL 4.2 for z/OS Tooling questions2012-03-23T22:37:29Z in response to PerformerJCobolPro for z/OS can provide run-time, statement-level counts in batch and CICS for all COBOL statements, including the CALL statement. Examining the run-time statement-level counts can help with evaluating and documenting your complex, un-structured COBOL code.
Please contact E-JCL Software via www.e-jcl.com if you'd like a CobolPro for z/OS free trial.
SystemAdmin 110000D4XK403 PostsACCEPTED ANSWER
Re: Enterprise COBOL 4.2 for z/OS Tooling questions2012-03-26T23:18:56Z in response to PerformerJIs your concern focused on a single COBOL program?
How much would you be able to benefit from static analysis before jumping into dynamic analysis?
A lot can be understood about a program using static analysis. If you use static tools to learn surrounding context, inventory of related software artifacts (databases, other subsystems like CICS or IMS transactions, batch job definitions, datastores and datasets accessed) you might be making better use of your available experts. Your have to decide, but that would be my first step.
I have had worked on dynamic analysis tools and my experience tells me: start with static analysis and go to low invasive dynamic analysis tools only when you know a very specific case you want o understand.
Please take look at IBM Rational Asset Analyzer, that is static software artifact analysis tool I am working on now, ask any question in RAA dW forum.
The dynamic analysis tools require... some runtime monitoring, just instrumenting the environment can be very invasive and sometimes it is hard to collected high value data on non production environment and instrumenting production system might be... simply out of the question. In some cases may benefit from low invasive tooling, for leveraging for example CICS exits.
rxross 100000GMJR5 PostsACCEPTED ANSWER
Re: Enterprise COBOL 4.2 for z/OS Tooling questions2012-03-27T02:30:48Z in response to PerformerJFor some run-time dynamic analysis tools, they:
- may require some runtime monitoring
- may be very invasive
- may require instrumenting the environment
- may be too hard to collect high value data in non-production environments
- may require CICS exits
However, CobolPro for z/OS has been designed with ease-of-use in mind and does not have any of these "features".
For example, a COBOL program(s) can be prepared for regular testing using the standard program preparation process:
3. Test (repeat as necessary)
When doing run-time statement level code coverage with CobolPro for z/OS, a COBOL program(s) can be prepared for testing using a slightly modified program preparation process:
1. Program Instrumentation (1 JCL procedure step)
4. Test (repeat as necessary)
5. Code Coverage Results (statement-level counts + reports) (1 JCL procedure step)
I hope this clarifies how CobolPro for z/OS implements run-time statement-level code coverage for COBOL programs. For more detailed information, please see http://www.e-jcl.com/cobolpro.html.
mazogi 0100003E8F30 PostsACCEPTED ANSWER
Re: Enterprise COBOL 4.2 for z/OS Tooling questions2012-03-27T19:28:12Z in response to PerformerJThis was just discussed on another thread here:
Rational Developer for System z (RDz) version 8.0.3 now provides a code coverage tool using IBM Debug Tool as a backend engine. There is no additional setup.
You can download a free trial of RDz at http://www.ibm.com/developerworks/downloads/r/rdzjava/index.html?S_CMP=rnav
timhahn 100000F0AC16 PostsACCEPTED ANSWER
Re: Enterprise COBOL 4.2 for z/OS Tooling questions2012-03-28T13:21:33Z in response to mazogiIn addition to the valuable capabilities noted in previous replies:
- static code analysis including data dependency and logic flow in Rational Asset Analyzer
- source code syntax checking and code coverage using Rational Developer for System z and IBM Debug Tool
there are several other features in the tools which can assist with changing code which has been identified as being too complex or in need of re-structuring:
- dead-code analysis and identification in Rational Asset Analyzer
- source code re-formatting in COBOL editor contained in Rational Developer for System z
- source code re-factoring (move code block) contained in Rational Developer for System z
The latter item is based on advanced source code refactoring algorithms developed by IBM Research.
The combination of these tools provides a comprehensive solution for addressing the need to analyze and modify existing COBOL applications.