Topic
5 replies Latest Post - ‏2012-03-28T13:21:33Z by timhahn
PerformerJ
PerformerJ
1 Post
ACCEPTED ANSWER

Pinned topic Enterprise COBOL 4.2 for z/OS Tooling questions

‏2012-03-23T14:12:42Z |
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.
Updated on 2012-03-28T13:21:33Z at 2012-03-28T13:21:33Z by timhahn
  • rxross
    rxross
    5 Posts
    ACCEPTED ANSWER

    Re: Enterprise COBOL 4.2 for z/OS Tooling questions

    ‏2012-03-23T22:37:29Z  in response to PerformerJ
    CobolPro 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.

    Raymond
  • SystemAdmin
    SystemAdmin
    403 Posts
    ACCEPTED ANSWER

    Re: Enterprise COBOL 4.2 for z/OS Tooling questions

    ‏2012-03-26T23:18:56Z  in response to PerformerJ
    Is 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
    rxross
    5 Posts
    ACCEPTED ANSWER

    Re: Enterprise COBOL 4.2 for z/OS Tooling questions

    ‏2012-03-27T02:30:48Z  in response to PerformerJ
    For 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:

    1. Compile
    2. Link-Edit
    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)
    2. Compile
    3. Link-Edit
    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.

    Raymond
  • mazogi
    mazogi
    30 Posts
    ACCEPTED ANSWER

    Re: Enterprise COBOL 4.2 for z/OS Tooling questions

    ‏2012-03-27T19:28:12Z  in response to PerformerJ
    This 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

    Gary
    • timhahn
      timhahn
      16 Posts
      ACCEPTED ANSWER

      Re: Enterprise COBOL 4.2 for z/OS Tooling questions

      ‏2012-03-28T13:21:33Z  in response to mazogi
      In 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.