SlideShare a Scribd company logo
Code Debugging Tool to Help Teach Mainframe Programming Languages
1
Code Debugging Tool to Help Teach Mainframe
Programming Languages
MSc Claudio Gonçalves Bernardo
MBA Paulo Roberto C. Batuta Brasília - Brazil
Code Debugging Tool to Help Teach Mainframe Programming Languages
SUMMARY
I. Introduction
II. Software Test
III. Test Features
IV. Steps of Test
V. Unit Test and Debug Tool
VI. Debug Tool for z/OS
VII. Steps for using Debug Tool
VIII. Use of Testing Debugging Tool for Teaching in Mainframe
Environment
IX. Architecture Suggested for University Lab
X. Workstation RDT - RDZ Unit Test
XI. Conclusions
2
Code Debugging Tool to Help Teach Mainframe Programming Languages
Introduction
 10 errors can be found for every 1000 lines of code (1 error per KLoC -
Kilo Line of Code).
 Test software allows errors to be identified before being delivered to the
customer.
 Software quality must consider not only the occurrence of error but also
the software serves the purpose perfectly expected by the client.
 An appropriate test is one that discovers the greatest possible number
of faults in the software.
 When this software is designed to run Mainframe, becomes an even
greater difficulty.
 Mainframe is complex and the characteristics of each facility are
different.
3
Code Debugging Tool to Help Teach Mainframe Programming Languages
 Universities see this difficulty as a major obstacle to the teaching of
…. COBOL …. PL/I ….. Easytrieve …… Assembler
 A single system mainframe can deliver thousands of virtual Linux
platforms with a small fraction the dollar cost, power and space.
 The preparation of students for the global IT industry becomes very
difficult.
 It is necessary professional has complete mastery of the scenario where
the tests will be carried out.
 Should apply innovative uses of technology in the classroom.
 Reduce learning time with a closer view of the possible day-to-day
industry produces software for Mainframe environments.
4
Code Debugging Tool to Help Teach Mainframe Programming Languages 5
Software Test
 The need of Software Test is a notorious issue in all organizations that
develop IT solutions.
 In a research 50% of companies surveyed 25% or more of IT projects
are completed late, 57% of companies in each two IT initiatives, generated
only a positive business results.
 Companies that can accelerate the completion of projects and IT
services acquire a significant profit margin, while the others were not
capable of it are victims of ruthless competition.
 The activity of Software Testing performed in a controlled and
disciplined performance ensures superior to software product delivered,
due to the reduced number of errors when it enters the production phase.
Code Debugging Tool to Help Teach Mainframe Programming Languages 6
 Developer should use software agents for prioritizing test cases in order
to maximize the number of faults found during the time available for testing
with a particular order of priority.
 Manual tests are time consuming and are prone to many errors.
 Tests based searches can help in automating this process by reducing
the time and effort to automatically generate test cases and complex data
for relevant tests.
Defects - Errors - Failures
 Defect - An instruction or incorrect command within a source code.
 Error - Is a concrete manifestation of the defect when this happens in a
software artifact.
 Value obtained vs Expected value
Code Debugging Tool to Help Teach Mainframe Programming Languages
 Represents any intermediate state incorrect or unexpected result in the
execution of a program.
 Failure - Operational behavior of the software different than expected by
the user
(and it can be caused by several errors !)
 Some errors throughout the lifetime of a software solution, can never
cause failure.
 Errors generate faults, interpreted as unexpected behaviors in a
software that directly affect the end user of the application.
 Some factors such as incorrect understanding of user needs, the lack of
ability to deal with changing requirements and the discovery of serious
problems in the final stages of the project lead to failures in software
7
Code Debugging Tool to Help Teach Mainframe Programming Languages
 Faults can be considered as incorrect results regarding specification,
obtained by using the software.
The consequences of failure are faults inserted into software.
 Failures may also be the consequence of defects in deployed script
prepared for the tests.
 Students of computer programming courses at a university or even
training companies need to have the exact idea of ​​the importance of
testing for the software industry.
 Need to understand how IT industry suffers if requirements are
generated.
 Understand that inaccuracy directly affects the results that are expected
of program testing to be performed.
8
Code Debugging Tool to Help Teach Mainframe Programming Languages
Test Features
 Software Testing is an activity that should be handled only at the end of
the development process.
 Delay in detecting errors makes the delayed repair and costly.
 So spending on financial correction could be used for other project
activities.
 Test becomes of great importance in the development, as it allows the
hits are performed before implementation.
Steps of Test
 A good test is not redundant, it should be very simple or very complex.
 Each case must be run separately, to avoid masking of errors.
9
Code Debugging Tool to Help Teach Mainframe Programming Languages
These steps are necessary :
a) Planning
b) Execution
c) Results Evaluation
Results computed vs Expected Results and reports generated notes
A good test strategy should:
 Contain the activities to be completed to the test;
 Establish criteria for evaluating the software;
 Know the types of test to be applied;
 Have adequate data to generate results conference;
 Start from the most basic level, progressing to reach the software as a
whole, including integrations with other software;
 Have flexibility to allow creativity and customization;
 Allow monitoring and compliance test plans outlined.
10
Code Debugging Tool to Help Teach Mainframe Programming Languages
Unit Test and Debug Tool
 Some people still wonder why to write Unit Test.
 A unit test should be able to examine the behavior of the code under the
most varied conditions.
 Analyze by the content of the parameters passed
..………what performs and what returns
……….. if a condition is true or not
 Is necessary guarantee if were performed types of tests made by the
developer.
11
Code Debugging Tool to Help Teach Mainframe Programming Languages 12
Need for Completion Test Unit and Coverage Code
Every year lots of tools to aid in development are launched.
In Phase Test Software is no different.
Debug Tool for z/OS
 Tool designed to debug individual tests
 z/OS is the Operating System Mainframe environment.
 Debug Tool for z/OS allows examine, monitor and control the execution
of Programs COBOL , PL/I and ASSEMBLER among others
Code Debugging Tool to Help Teach Mainframe Programming Languages
An interactive tool for source-level debugging for applications compiled in
a variety of environments.
Supports batch and on-line processing stored procedures in the database
DB2, IMS, and UNIX System Services
Supports a seamless debugging of applications in languages ​​mixed in the
same session
Offers a set of commands that can be interpreted used to specify actions
to be performed
Offers the option of setting breakpoints in an application program,
monitoring changes to variables and noting exceptions and conditions
specified during program execution
Counts how many times a statement or verb was processed in an
application program.
13
Code Debugging Tool to Help Teach Mainframe Programming Languages 14
Interface with Debug Tool using a terminal
Code Debugging Tool to Help Teach Mainframe Programming Languages
Other features of the tool Debug Tool for z / OS are:
a. Level debugging code; f. Dynamic changes;
b. Multiple breakpoints; g. Modifications of variables;
c. Conditional; h. Entering commands;
d. Unconditional; i. Cover tested code.
e. Debugging step by step; j. Log of the commands used in
the debugging session;
15
Code Debugging Tool to Help Teach Mainframe Programming Languages
16
1. Compile the program
with support for the
debugger and create
a debug file
2. Set a trigger. For
example, code a
TEST option in the
JCL for batch, or use
CADP for CICS
3. Run the application.
Language
Environment will
receive the TEST
option and start the
debugger
Steps for using Debug Tool
Debug Tool
Program Source
Program
Load
Module
Compile LinkObject
z/OS
SYSDEBUG
File
LE
Enterprise COBOL TEST(…) compiler option
Add an LE TEST option to the
JCL that runs the program
Code Debugging Tool to Help Teach Mainframe Programming Languages
Interface with an Application
17
Code Debugging Tool to Help Teach Mainframe Programming Languages
How Debug for z/OS evidence Coverage Code
The code coverage is evident in a practical manner.
Percentage of code coverage = Number of Lines Tested
---------------------------------- x 100
Total Lines of a Program
Indicates which line of code was executed and how many times it was
executed.
The code coverage is evident when it terminates execution of white box
testing.
The tool executes a command and it makes the calculation and displays.
This enables the programmer to validate the quality and made ​​his test.
18
Code Debugging Tool to Help Teach Mainframe Programming Languages
Debug Tool and Code Coverage (Program Frequency Counting)
19
Code Debugging Tool to Help Teach Mainframe Programming Languages
Need Test of Code Source to Ensure Software Quality
An organization needs to create an Environment of Testing and
Certification
Needs meet ITIL recommendations and the requirements of Basel 2 .
Necessity exists for improvement of software quality and reducing
problems in production.
Intends to achieve this by improving the performance of existing
applications in production as well as prevent new applications are poorly
constructed.
Most of institutions create areas distributed in :
Process, Methodology, Infrastructure, Systems and Production.
20
Code Debugging Tool to Help Teach Mainframe Programming Languages
To meet objectives of these areas it is necessary to perform tests:
 Unit
 Functional
 Performance
Use of Testing Debugging Tool for Teaching in Mainframe Environment
Training courses in Brazilian universities of Information Technology do not
have computer labs in large scale - Mainframe machines.
Unable to train future professionals in this environment.
IT industry has a demand for professionals is not answered.
There is a deficiency that universities have and the low number of trained
professionals in their own organizations.
21
Code Debugging Tool to Help Teach Mainframe Programming Languages 22
Architecture Suggested for University Lab
Code Debugging Tool to Help Teach Mainframe Programming Languages
To attend a training scenario in the industry is necessary:
 Implement an architecture that allows access the tool via publishers that
comes in TSO - Time Share Option and Roscoe.
 The solution that is presented execute online programs - transactional
batch .
 To train students running tests in an environment similar to the
industries, the tool can be performed via workstation RDT - RDZ Unit Test.
 It is a development platform for System z running in a personal
computer capable of execute operating system z/OS.
 Provides flexibility to run a customized environment because facilitates
developers to easily prototype releasing new applications using mainframe
MIPS - Millions of Instructions per Second
23
Code Debugging Tool to Help Teach Mainframe Programming Languages 24
 This workstation reduces the dependencies because it is an individual
unit.
 A university that can not afford to buy a Mainframe machine is able to
buy this unit test, whose server can support about 60 or more clients.
Workstation RDT - RDZ Unit Test
Code Debugging Tool to Help Teach Mainframe Programming Languages 25
MVS Resources
• z/OS Datasets
• JES
• TSO
• CICS Region
• IMS Region
• SCM
• CLISTs/REXX
How RDT - Rational Developer for System z Unit Test functions?
RDz Listener
Started Task
Security/Authorization
RACF/ACF-2/Top Secret
RDz interacts with z/OS resources through a host-installed listener
… and interacts through JDBC drivers to data sources
RDz Client Software
Data Resources
• DB2 Data Objects
• IMS Databases
JDBC
Eclipse-based IDE that breaks the barriers of the green-screen platform
 Runs on Windows and Linux
 Integration point for z/OS Application Development tools
Code Debugging Tool to Help Teach Mainframe Programming Languages 26
Interface with Debug Tool using a graphical user interface
 It is software that can be installed on Student workstation
 The application running on the mainframe is controlled by the
same debugging engine that is used by the 3270 interface
 Debug Tool displays on Student workstation
z/OS
Debug Tool
TCP/IP
ApplicationDebug Tool
Code Debugging Tool to Help Teach Mainframe Programming Languages
Conclusion I
 Like all kinds of tests are complementary they are designed to make the
software into the hands of the customer with the fewest mistakes and less
time spent.
 The hard part is reaching the exact equation that is capable of delivering
quality products and meeting customer expectations.
 This tool can be appointed as a new application in software testing.
 Intends to deliver the final product with minimum possible error meeting
all the requirements generated by the end customer.
27
Code Debugging Tool to Help Teach Mainframe Programming Languages
Conclusion II
 This research presented a solution for debugging programs Mainframe
and use his suggestion in the activity of preparing students in learning
languages ​​for Mainframe environment.
 Its use in an educational facility programming language becomes
essential as it allows the student to know the procedures of preparation
and execution of testing in this environment, step by step.
 This activity will prepare graduates to join the industry in development
teams large applications.
 The innovative use of this technology in the classroom will meet
industries’ requirements.
28
Code Debugging Tool to Help Teach Mainframe Programming Languages
Conclusion III
 Can be concluded from this research that the tool assists the university
in teaching programming languages ​​for mainframe environment because it
reproduces the exact tests in the IT industry.
 When entering the labor market the newly graduated student will ease
in adapting to a development team or tests,.
 He/she will work with the tool he used in his graduation.
 Will work with the same profile presented by University.
29
Code Debugging Tool to Help Teach Mainframe Programming Languages 30
Acknowledgments
Authors of this paper would like to acknowledge:
1 – FAPDF – Fundo de Apoio à Pesquisa do Distrito Federal – A Brazilian
fund of government to support researches. It’s located in Brasília city,
Distrito Federal State
2 – UNIP – Universidade Paulista – Brasília, Brazil
Code Debugging Tool to Help Teach Mainframe Programming Languages 31
Thanks
claudiogbernardo@ig.com.br
pbatuta@hotmail.com
Ad

More Related Content

What's hot (16)

Test driven development
Test driven developmentTest driven development
Test driven development
Harry Potter
 
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICECODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
ijseajournal
 
PROBLEM SOLVING
PROBLEM SOLVINGPROBLEM SOLVING
PROBLEM SOLVING
shahzadebaujiti
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code Analysis
Checkmarx
 
Notacd071
Notacd071Notacd071
Notacd071
cikgushaharizan
 
Bhavani HS
Bhavani HSBhavani HS
Bhavani HS
Bhavani Nandan
 
Notacd081
Notacd081Notacd081
Notacd081
cikgushaharizan
 
Nota program development
Nota program developmentNota program development
Nota program development
Azmiah Mahmud
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
Hawkman Academy
 
Nishar_Resume
Nishar_ResumeNishar_Resume
Nishar_Resume
MD NISHAR
 
Coding principles
Coding principles Coding principles
Coding principles
DevAdnani
 
Sepm t1
Sepm t1Sepm t1
Sepm t1
sapariyapiyushluck
 
[EN] PLC programs development guidelines
[EN] PLC programs development guidelines[EN] PLC programs development guidelines
[EN] PLC programs development guidelines
Itris Automation Square
 
Ss debuggers
Ss debuggersSs debuggers
Ss debuggers
sweety enit
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
didev
 
A New Paradigm In Linux Debug From Viosoft
A New Paradigm In Linux Debug From ViosoftA New Paradigm In Linux Debug From Viosoft
A New Paradigm In Linux Debug From Viosoft
guestc28df4
 
Test driven development
Test driven developmentTest driven development
Test driven development
Harry Potter
 
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICECODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
ijseajournal
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code Analysis
Checkmarx
 
Nota program development
Nota program developmentNota program development
Nota program development
Azmiah Mahmud
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
Hawkman Academy
 
Nishar_Resume
Nishar_ResumeNishar_Resume
Nishar_Resume
MD NISHAR
 
Coding principles
Coding principles Coding principles
Coding principles
DevAdnani
 
[EN] PLC programs development guidelines
[EN] PLC programs development guidelines[EN] PLC programs development guidelines
[EN] PLC programs development guidelines
Itris Automation Square
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
didev
 
A New Paradigm In Linux Debug From Viosoft
A New Paradigm In Linux Debug From ViosoftA New Paradigm In Linux Debug From Viosoft
A New Paradigm In Linux Debug From Viosoft
guestc28df4
 

Similar to Qualidade de Software em zOS usando IBM Debug Tool e RDz (20)

Software development slides
Software development slidesSoftware development slides
Software development slides
iarthur
 
Programming C ppt for learning foundations
Programming C ppt for learning foundationsProgramming C ppt for learning foundations
Programming C ppt for learning foundations
ssuser65733f
 
Programming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesProgramming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key Differences
FredReynolds2
 
Programming Development LifeCycle11.pptx
Programming Development LifeCycle11.pptxProgramming Development LifeCycle11.pptx
Programming Development LifeCycle11.pptx
hassanbokhari14
 
Computer Programming
Computer Programming Computer Programming
Computer Programming
Newreborn Incarnation
 
Computer
ComputerComputer
Computer
Newreborn Incarnation
 
Program Development life Cycle Ppt first year
Program Development life Cycle Ppt first yearProgram Development life Cycle Ppt first year
Program Development life Cycle Ppt first year
thirdyspiderbruh
 
Embedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_finalEmbedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_final
TAMILMARAN C
 
Debug tool
Debug toolDebug tool
Debug tool
RADILSON RIPARDO DE FRETIAS
 
Why Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdfWhy Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdf
XDuce Corporation
 
grade 10 2023.pptx
grade 10 2023.pptxgrade 10 2023.pptx
grade 10 2023.pptx
RaymartHerera
 
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docxWeek 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
jessiehampson
 
Computer Programming 1 - Chapter- 1.pptx
Computer Programming 1 - Chapter- 1.pptxComputer Programming 1 - Chapter- 1.pptx
Computer Programming 1 - Chapter- 1.pptx
MaryGraceTolentino9
 
Required computer skills program devlopment
Required computer skills program devlopmentRequired computer skills program devlopment
Required computer skills program devlopment
Hubert Shanthan
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
rupeshchanchal
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
Srinivasan Hariharan
 
Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
nharsh2308
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
mrsmackenzie
 
test
testtest
test
swankydesert4614
 
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdfDEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
Srikrishna Thota
 
Software development slides
Software development slidesSoftware development slides
Software development slides
iarthur
 
Programming C ppt for learning foundations
Programming C ppt for learning foundationsProgramming C ppt for learning foundations
Programming C ppt for learning foundations
ssuser65733f
 
Programming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesProgramming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key Differences
FredReynolds2
 
Programming Development LifeCycle11.pptx
Programming Development LifeCycle11.pptxProgramming Development LifeCycle11.pptx
Programming Development LifeCycle11.pptx
hassanbokhari14
 
Program Development life Cycle Ppt first year
Program Development life Cycle Ppt first yearProgram Development life Cycle Ppt first year
Program Development life Cycle Ppt first year
thirdyspiderbruh
 
Embedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_finalEmbedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_final
TAMILMARAN C
 
Why Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdfWhy Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdf
XDuce Corporation
 
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docxWeek 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
jessiehampson
 
Computer Programming 1 - Chapter- 1.pptx
Computer Programming 1 - Chapter- 1.pptxComputer Programming 1 - Chapter- 1.pptx
Computer Programming 1 - Chapter- 1.pptx
MaryGraceTolentino9
 
Required computer skills program devlopment
Required computer skills program devlopmentRequired computer skills program devlopment
Required computer skills program devlopment
Hubert Shanthan
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
rupeshchanchal
 
Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
nharsh2308
 
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdfDEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
Srikrishna Thota
 
Ad

Recently uploaded (20)

AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient CareAn Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
Cyntexa
 
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
James Anderson
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
Ivano Malavolta
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
AI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamsonAI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamson
UXPA Boston
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Developing System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptxDeveloping System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptx
wondimagegndesta
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient CareAn Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
Cyntexa
 
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025Zilliz Cloud Monthly Technical Review: May 2025
Zilliz Cloud Monthly Technical Review: May 2025
Zilliz
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
James Anderson
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
Ivano Malavolta
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
AI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamsonAI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamson
UXPA Boston
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Developing System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptxDeveloping System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptx
wondimagegndesta
 
Ad

Qualidade de Software em zOS usando IBM Debug Tool e RDz

  • 1. Code Debugging Tool to Help Teach Mainframe Programming Languages 1 Code Debugging Tool to Help Teach Mainframe Programming Languages MSc Claudio Gonçalves Bernardo MBA Paulo Roberto C. Batuta Brasília - Brazil
  • 2. Code Debugging Tool to Help Teach Mainframe Programming Languages SUMMARY I. Introduction II. Software Test III. Test Features IV. Steps of Test V. Unit Test and Debug Tool VI. Debug Tool for z/OS VII. Steps for using Debug Tool VIII. Use of Testing Debugging Tool for Teaching in Mainframe Environment IX. Architecture Suggested for University Lab X. Workstation RDT - RDZ Unit Test XI. Conclusions 2
  • 3. Code Debugging Tool to Help Teach Mainframe Programming Languages Introduction  10 errors can be found for every 1000 lines of code (1 error per KLoC - Kilo Line of Code).  Test software allows errors to be identified before being delivered to the customer.  Software quality must consider not only the occurrence of error but also the software serves the purpose perfectly expected by the client.  An appropriate test is one that discovers the greatest possible number of faults in the software.  When this software is designed to run Mainframe, becomes an even greater difficulty.  Mainframe is complex and the characteristics of each facility are different. 3
  • 4. Code Debugging Tool to Help Teach Mainframe Programming Languages  Universities see this difficulty as a major obstacle to the teaching of …. COBOL …. PL/I ….. Easytrieve …… Assembler  A single system mainframe can deliver thousands of virtual Linux platforms with a small fraction the dollar cost, power and space.  The preparation of students for the global IT industry becomes very difficult.  It is necessary professional has complete mastery of the scenario where the tests will be carried out.  Should apply innovative uses of technology in the classroom.  Reduce learning time with a closer view of the possible day-to-day industry produces software for Mainframe environments. 4
  • 5. Code Debugging Tool to Help Teach Mainframe Programming Languages 5 Software Test  The need of Software Test is a notorious issue in all organizations that develop IT solutions.  In a research 50% of companies surveyed 25% or more of IT projects are completed late, 57% of companies in each two IT initiatives, generated only a positive business results.  Companies that can accelerate the completion of projects and IT services acquire a significant profit margin, while the others were not capable of it are victims of ruthless competition.  The activity of Software Testing performed in a controlled and disciplined performance ensures superior to software product delivered, due to the reduced number of errors when it enters the production phase.
  • 6. Code Debugging Tool to Help Teach Mainframe Programming Languages 6  Developer should use software agents for prioritizing test cases in order to maximize the number of faults found during the time available for testing with a particular order of priority.  Manual tests are time consuming and are prone to many errors.  Tests based searches can help in automating this process by reducing the time and effort to automatically generate test cases and complex data for relevant tests. Defects - Errors - Failures  Defect - An instruction or incorrect command within a source code.  Error - Is a concrete manifestation of the defect when this happens in a software artifact.  Value obtained vs Expected value
  • 7. Code Debugging Tool to Help Teach Mainframe Programming Languages  Represents any intermediate state incorrect or unexpected result in the execution of a program.  Failure - Operational behavior of the software different than expected by the user (and it can be caused by several errors !)  Some errors throughout the lifetime of a software solution, can never cause failure.  Errors generate faults, interpreted as unexpected behaviors in a software that directly affect the end user of the application.  Some factors such as incorrect understanding of user needs, the lack of ability to deal with changing requirements and the discovery of serious problems in the final stages of the project lead to failures in software 7
  • 8. Code Debugging Tool to Help Teach Mainframe Programming Languages  Faults can be considered as incorrect results regarding specification, obtained by using the software. The consequences of failure are faults inserted into software.  Failures may also be the consequence of defects in deployed script prepared for the tests.  Students of computer programming courses at a university or even training companies need to have the exact idea of ​​the importance of testing for the software industry.  Need to understand how IT industry suffers if requirements are generated.  Understand that inaccuracy directly affects the results that are expected of program testing to be performed. 8
  • 9. Code Debugging Tool to Help Teach Mainframe Programming Languages Test Features  Software Testing is an activity that should be handled only at the end of the development process.  Delay in detecting errors makes the delayed repair and costly.  So spending on financial correction could be used for other project activities.  Test becomes of great importance in the development, as it allows the hits are performed before implementation. Steps of Test  A good test is not redundant, it should be very simple or very complex.  Each case must be run separately, to avoid masking of errors. 9
  • 10. Code Debugging Tool to Help Teach Mainframe Programming Languages These steps are necessary : a) Planning b) Execution c) Results Evaluation Results computed vs Expected Results and reports generated notes A good test strategy should:  Contain the activities to be completed to the test;  Establish criteria for evaluating the software;  Know the types of test to be applied;  Have adequate data to generate results conference;  Start from the most basic level, progressing to reach the software as a whole, including integrations with other software;  Have flexibility to allow creativity and customization;  Allow monitoring and compliance test plans outlined. 10
  • 11. Code Debugging Tool to Help Teach Mainframe Programming Languages Unit Test and Debug Tool  Some people still wonder why to write Unit Test.  A unit test should be able to examine the behavior of the code under the most varied conditions.  Analyze by the content of the parameters passed ..………what performs and what returns ……….. if a condition is true or not  Is necessary guarantee if were performed types of tests made by the developer. 11
  • 12. Code Debugging Tool to Help Teach Mainframe Programming Languages 12 Need for Completion Test Unit and Coverage Code Every year lots of tools to aid in development are launched. In Phase Test Software is no different. Debug Tool for z/OS  Tool designed to debug individual tests  z/OS is the Operating System Mainframe environment.  Debug Tool for z/OS allows examine, monitor and control the execution of Programs COBOL , PL/I and ASSEMBLER among others
  • 13. Code Debugging Tool to Help Teach Mainframe Programming Languages An interactive tool for source-level debugging for applications compiled in a variety of environments. Supports batch and on-line processing stored procedures in the database DB2, IMS, and UNIX System Services Supports a seamless debugging of applications in languages ​​mixed in the same session Offers a set of commands that can be interpreted used to specify actions to be performed Offers the option of setting breakpoints in an application program, monitoring changes to variables and noting exceptions and conditions specified during program execution Counts how many times a statement or verb was processed in an application program. 13
  • 14. Code Debugging Tool to Help Teach Mainframe Programming Languages 14 Interface with Debug Tool using a terminal
  • 15. Code Debugging Tool to Help Teach Mainframe Programming Languages Other features of the tool Debug Tool for z / OS are: a. Level debugging code; f. Dynamic changes; b. Multiple breakpoints; g. Modifications of variables; c. Conditional; h. Entering commands; d. Unconditional; i. Cover tested code. e. Debugging step by step; j. Log of the commands used in the debugging session; 15
  • 16. Code Debugging Tool to Help Teach Mainframe Programming Languages 16 1. Compile the program with support for the debugger and create a debug file 2. Set a trigger. For example, code a TEST option in the JCL for batch, or use CADP for CICS 3. Run the application. Language Environment will receive the TEST option and start the debugger Steps for using Debug Tool Debug Tool Program Source Program Load Module Compile LinkObject z/OS SYSDEBUG File LE Enterprise COBOL TEST(…) compiler option Add an LE TEST option to the JCL that runs the program
  • 17. Code Debugging Tool to Help Teach Mainframe Programming Languages Interface with an Application 17
  • 18. Code Debugging Tool to Help Teach Mainframe Programming Languages How Debug for z/OS evidence Coverage Code The code coverage is evident in a practical manner. Percentage of code coverage = Number of Lines Tested ---------------------------------- x 100 Total Lines of a Program Indicates which line of code was executed and how many times it was executed. The code coverage is evident when it terminates execution of white box testing. The tool executes a command and it makes the calculation and displays. This enables the programmer to validate the quality and made ​​his test. 18
  • 19. Code Debugging Tool to Help Teach Mainframe Programming Languages Debug Tool and Code Coverage (Program Frequency Counting) 19
  • 20. Code Debugging Tool to Help Teach Mainframe Programming Languages Need Test of Code Source to Ensure Software Quality An organization needs to create an Environment of Testing and Certification Needs meet ITIL recommendations and the requirements of Basel 2 . Necessity exists for improvement of software quality and reducing problems in production. Intends to achieve this by improving the performance of existing applications in production as well as prevent new applications are poorly constructed. Most of institutions create areas distributed in : Process, Methodology, Infrastructure, Systems and Production. 20
  • 21. Code Debugging Tool to Help Teach Mainframe Programming Languages To meet objectives of these areas it is necessary to perform tests:  Unit  Functional  Performance Use of Testing Debugging Tool for Teaching in Mainframe Environment Training courses in Brazilian universities of Information Technology do not have computer labs in large scale - Mainframe machines. Unable to train future professionals in this environment. IT industry has a demand for professionals is not answered. There is a deficiency that universities have and the low number of trained professionals in their own organizations. 21
  • 22. Code Debugging Tool to Help Teach Mainframe Programming Languages 22 Architecture Suggested for University Lab
  • 23. Code Debugging Tool to Help Teach Mainframe Programming Languages To attend a training scenario in the industry is necessary:  Implement an architecture that allows access the tool via publishers that comes in TSO - Time Share Option and Roscoe.  The solution that is presented execute online programs - transactional batch .  To train students running tests in an environment similar to the industries, the tool can be performed via workstation RDT - RDZ Unit Test.  It is a development platform for System z running in a personal computer capable of execute operating system z/OS.  Provides flexibility to run a customized environment because facilitates developers to easily prototype releasing new applications using mainframe MIPS - Millions of Instructions per Second 23
  • 24. Code Debugging Tool to Help Teach Mainframe Programming Languages 24  This workstation reduces the dependencies because it is an individual unit.  A university that can not afford to buy a Mainframe machine is able to buy this unit test, whose server can support about 60 or more clients. Workstation RDT - RDZ Unit Test
  • 25. Code Debugging Tool to Help Teach Mainframe Programming Languages 25 MVS Resources • z/OS Datasets • JES • TSO • CICS Region • IMS Region • SCM • CLISTs/REXX How RDT - Rational Developer for System z Unit Test functions? RDz Listener Started Task Security/Authorization RACF/ACF-2/Top Secret RDz interacts with z/OS resources through a host-installed listener … and interacts through JDBC drivers to data sources RDz Client Software Data Resources • DB2 Data Objects • IMS Databases JDBC Eclipse-based IDE that breaks the barriers of the green-screen platform  Runs on Windows and Linux  Integration point for z/OS Application Development tools
  • 26. Code Debugging Tool to Help Teach Mainframe Programming Languages 26 Interface with Debug Tool using a graphical user interface  It is software that can be installed on Student workstation  The application running on the mainframe is controlled by the same debugging engine that is used by the 3270 interface  Debug Tool displays on Student workstation z/OS Debug Tool TCP/IP ApplicationDebug Tool
  • 27. Code Debugging Tool to Help Teach Mainframe Programming Languages Conclusion I  Like all kinds of tests are complementary they are designed to make the software into the hands of the customer with the fewest mistakes and less time spent.  The hard part is reaching the exact equation that is capable of delivering quality products and meeting customer expectations.  This tool can be appointed as a new application in software testing.  Intends to deliver the final product with minimum possible error meeting all the requirements generated by the end customer. 27
  • 28. Code Debugging Tool to Help Teach Mainframe Programming Languages Conclusion II  This research presented a solution for debugging programs Mainframe and use his suggestion in the activity of preparing students in learning languages ​​for Mainframe environment.  Its use in an educational facility programming language becomes essential as it allows the student to know the procedures of preparation and execution of testing in this environment, step by step.  This activity will prepare graduates to join the industry in development teams large applications.  The innovative use of this technology in the classroom will meet industries’ requirements. 28
  • 29. Code Debugging Tool to Help Teach Mainframe Programming Languages Conclusion III  Can be concluded from this research that the tool assists the university in teaching programming languages ​​for mainframe environment because it reproduces the exact tests in the IT industry.  When entering the labor market the newly graduated student will ease in adapting to a development team or tests,.  He/she will work with the tool he used in his graduation.  Will work with the same profile presented by University. 29
  • 30. Code Debugging Tool to Help Teach Mainframe Programming Languages 30 Acknowledgments Authors of this paper would like to acknowledge: 1 – FAPDF – Fundo de Apoio à Pesquisa do Distrito Federal – A Brazilian fund of government to support researches. It’s located in Brasília city, Distrito Federal State 2 – UNIP – Universidade Paulista – Brasília, Brazil
  • 31. Code Debugging Tool to Help Teach Mainframe Programming Languages 31 Thanks claudiogbernardo@ig.com.br pbatuta@hotmail.com
  翻译: