IBM OLIVER (CICS interactive test/debug)

From Wikipedia, the free encyclopedia

OLIVER (CICS interactive test/debug) was a proprietary testing and debugging toolkit for interactively testing programs designed to run on IBM's Customer Information Control System (CICS) on IBM's System/360/370/390 architecture.

It provided instruction step, conditional program breakpoint ("Pause") and storage alteration features for Assembler, COBOL and PL/I programs. High level language (HLL) users were able to see and modify variables directly at a breakpoint.

Oliver also provided fully automatic features to prevent application program errors such as Program Check, "Wild branch" (entirely software detected) , "illegal SVC" and "CICS AICA" Abends ("program loop"). It was possible to correct many errors and interactively alter the control flow of the executing application program. This permitted more errors to be detected for each compilation which, at the time, were often scheduled batch jobs with printed output, often requiring several hours "turnaround" before eventually re-loading the program (using CSMT/CEMT Newcopy) and retrying the failing transaction.

It additionally provided storage protection features to prevent rogue applications from overwriting storage ("storage violations") occupied by other applications, system tables and other kernel code.

Oliver was an Instruction Set Simulator which provided all functions through full simulation of the object code which was under total control of the OLIVER monitoring & execution engine including full instruction trace if required at machine code level. It was fully quasi-reentrant allowing application programs to be "paused" at different breakpoints by multiple users simultaneously and was entirely "non-invasive" to the targeted application's object code (did not modify the object code memory to provide breakpoints). This technique allowed later hardware protected CICS program's to be monitored with essentially no change to the kernal code - unlike many of its competitors - which had used invasive techniques which would no longer work for these programs because of the protection.

Screenshot of OLIVER - CICS Interactive debug. COBOL example
Screenshot of OLIVER - CICS Interactive debug. COBOL example

[edit] See also

[edit] External links