Adding reverse – a big step forward for the COBOL engineer

This blog looks at the new features in the latest release of Visual COBOL – particularly the recording and reverse-debugging offered by Undo’s Live Recorder.

COBOL remains a big part of our lives, both in the domestic and business sense. Stopping at traffic lights, shopping online – it’s all powered by COBOL. There are 200 more COBOL transactions than Google searches every day and COBOL still processes around 75% of business data and 90% of financial transactions.*

COBOL supports our largest corporations and our government departments. Some IRS systems date back to JFK’s time. This resilient – and almost invisible – language will be with us for some time to come, maintained by a receding pool of the original COBOL engineers. They ensure the continued health of mainframe computers, which often constitute large codebases interacting with ever-more complex business applications.


Click on this picture and check out our Academic Program infographic

The legacy in the landscape

These systems live in an ever-changing software landscape. To maintain control, COBOL engineers are continually enhancing this evergreen language by updating their tools and techniques. They must become more agile, increase speed to market, integrate with other systems, and improve the customer experience. Closing the delivery gap between what their tools and systems can deliver and what the market demands is key to modern software development, especially when it’s increasingly difficult to understand what exactly is happening when a program runs.

Take, for example, a system, probably running a healthy dose of legacy code, exhibiting unusual or unwanted behaviour. (You may well know exactly how that feels.) Clearly, the sooner you can isolate the source of the problem, the better for you and the product. But let’s make things harder: assume we have scant documentation and nobody knows where to start. The guy who set this stuff up retired months (or even years) ago. So, cue multiple logs and lots of debugging, which consumes a huge number of hours in any language and on any platform, especially on COBOL, whose s large, batch-oriented systems can increase debugging time enormously.

Visual COBOL 3.0 and Undo’s Live Recorder

The latest version of Visual COBOL addresses these issues, recognizing that engineers wish to take advantage of new software development practices in order to find and fix bugs faster, become more agile and deliver more reliable products. So Visual COBOL 3.0 introduces new technologies, bringing some to COBOL for the very first time including unit testing, continuous integration (CI) server integrations and cutting-edge debug technology from Undo.

Micro Focus has integrated Undo’s toolchain into Visual COBOL 3.0 as a technology preview. Undo is a start-up from Cambridge, UK – and its record, rewind and replay technology enables increased efficiency in finding and fixing bugs in both test and production. Undo’s Live Recorder records executions from any environment, handy when the bug is hard to reproduce, or on a remote server. Load recordings into Visual COBOL and replay them using the new reverse capability to see what happened, when, and why.

Undo uses an efficient combination of memory snapshots and records the external inputs into the program. This creates a perfect reproduction of the program’s state for an engineer to inspect, replay and understand, all within the Micro Focus development environment.

Reverse debugging in Visual COBOL 3.0

Replay is enabled by Undo’s reverse debugging engine. The engineer starts by either loading a recording generated by Live Recorder, or debugging the program straight from the Visual COBOL environment, running to the point where the problem manifests. Now, instead of setting a breakpoint earlier on in the program’s execution and re-running, the engineer can start from the end and work backwards, discovering what actually happened inside the application. They can take reverse steps, or even set a breakpoint and run backwards to the last time it happened to find the root cause, letting them fix the issue in a fraction of the time.


The Visual COBOL 3.0 interface showing Undo’s reverse functionality

These features replace many hours of re-running, brute-force testing, and brainstorming possible causes. The engineer can see what happened, instruction by instruction, byte by byte. Furthermore, developers can share recordings to collaborate when debugging the same issue.

Our partnership with Undo demonstrates our commitment to bringing new and exciting technology to COBOL. It gives engineers and testers a rare opportunity to increase productivity in the face of increasing expectations and demand on their systems.

Want to try out these new features? Recording and reverse debugging with Visual COBOL is available to users of Visual COBOL 3.0 on Red Hat Linux as a technology preview.

– Download a free trial of Visual COBOL 3.0 here
– Current user? Just upgrade here
– Want to check out the webinar first? Get it here
– Running code written in other native languages? Access Undo’s technology here

Best wishes, Callum Benson
Marketing & Commercial Exec @Undo_io

*Datamonitor. “COBOL: Continuing to Drive Value in the 21st Century.” Alan Roger, et al. November 2008
Share this post:

Leave a Reply

Your email address will not be published. Required fields are marked *