HT-2021-000363 - [2025] EWHC 532 (TCC)
Technology and Construction Court

HT-2021-000363 - [2025] EWHC 532 (TCC)

Fecha: 10-Mar-2025

Item 18: SLIP Traps and COBOL (Paragraph 28.6 of the Technical Particulars)

Item 18: SLIP Traps and COBOL (Paragraph 28.6 of the Technical Particulars)

597.

IBM’s case is that Winsopia used SLIP traps to reverse engineer COBOL data structures.

598.

On 2 July 2014, LzLabs opened DR-0127, requesting Winsopia to compile and link-edit four test programs, and to identify register values and COBOL structures at the point at which one of the modules calls another during program linkage.

599.

Mr Lynch (or another employee of Winsopia) carried out the requested task by running the test programs, setting up a SLIP trap to produce a dump at the entry point to the module. Analysis of the memory content disclosed by the dump enabled him to identify the register values as initialised by the COBOL runtime environment on entry to the program. This information, together with compiler listings and redacted load modules were sent to LzLabs.

600.

The issues in dispute are:

i)

whether Winsopia’s analysis of the SLIP trap dump concerned an ICA Program for the purpose of the ICA;

ii)

whether Winsopia’s use of the SLIP trap constituted reverse engineering in breach of clause 4.1.3(a) of the ICA;

iii)

whether Winsopia’s actions fell within permitted observation, study and testing pursuant to Article 5(3) of the Software Directive.

601.

The pleaded case invited the court to draw an adverse inference that load modules were sent unscrubbed to LzLabs based on heavy redactions to the DR response. The redacted parts of the DR response are subject to a claim for privilege which has not been challenged. In those circumstances, it would not be appropriate for the court to draw such an inference. Further, in his second report, Mr Stephens examined the file that was attached to the DR response (with the assistance of Professor Donaldson and Mr Wilkinson). From that examination, he was able to confirm that the file sent to LzLabs had been scrubbed.

602.

IBM’s case is that Winsopia’s analysis involved Enterprise COBOL v4 and its associated runtime, an ICA Program. Mr Swanson’s evidence is that the focus of Winsopia’s analysis was how the IBM COBOL runtime provides support for COBOL CALL statements, used to request services from another COBOL application. The defendants’ case is that the analysis was carried out in respect of test programs which are not ICA Programs. It is clear that Winsopia was not asked to investigate the test programs; it was asked to use the test programs to analyse the way in which control is passed from one COBOL program to another in the Language Environment. This involved analysis of Enterprise COBOL v4 and its runtime, an ICA Program.

603.

Winsopia used a SLIP trap to produce a dump during execution of a test program so that it could inspect the registers and memory as initialised by the COBOL runtime environment. Mr Stephens agreed in cross-examination that the purpose of this examination was to understand the mechanism selected by the designer of Enterprise COBOL and the Language Environment for passing certain values from one program to another. This amounted to reverse engineering. Although the general role of the registers is documented publicly, that does not include the specific values used to populate the registers.

604.

The defendants submit that Winsopia’s activities fell within Article 5(3) of the Software Directive on the ground that the purpose was to identify interface information comprising the parameter values stored in memory registers and passed to the test program. I reject that argument. The investigation went beyond mere observation, study or testing the input and output of the program. It entailed a detailed examination as to how the Language Environment COBOL runtime passed control between COBOL programs. That concerned expression of the program, rather than its function.

605.

In summary on this issue:

i)

Winsopia’s analysis of the SLIP trap dump concerned an ICA Program for the purpose of the ICA.

ii)

Winsopia’s use of the SLIP trap constituted reverse engineering in breach of clause 4.1.3(a) of the ICA.

iii)

Winsopia’s actions did not fall within permitted observation, study and testing pursuant to Article 5(3) of the Software Directive.