One description of the whole estate
COBOL, PL/I and assembler merge into one queryable fact graph. The description is a build output you re-run and compare, not a consulting document that drifts.
A modernisation programme depends on one question: do you actually know what the estate is? Most programmes answer it with workshops and spreadsheets. Cobra answers it with a machine-checked description, read from the code, that your architects can open in the tools they already use. A whole estate of nearly 4,000 programs exports and validates in about a minute.
COBOL, PL/I and assembler merge into one queryable fact graph. The description is a build output you re-run and compare, not a consulting document that drifts.
Each element is marked as read from source, derived from a stated assumption, or not determinable. Where the analysis cannot see, it says so and does not guess.
Nine conformance gates check every export. Each gate ships with a deliberately broken export that must fail it, so a passing build means something.
Each export is validated against its own schema at estate scale, not on a test fixture.
Most estates are decomposed by grouping the batch jobs that share a dataset. A system that runs one nightly job in stages returns one group holding everything. Cobra follows every call from every transaction program instead, and records the record types each one reads and writes.
The finding is consistent across the estates measured, and it is the one a programme most needs early. Sub-programs mostly belong to a single capability. Records do not: on one estate, 123 of 198 record types are written by two capabilities or more. A decomposition is a data-ownership problem before it is a code problem, and the analysis names the records that have to find an owner.
It also reads two kinds of dependency that a reading of the code alone cannot see: what the database configures, so that a capability that is switched off is not mistaken for one that is dead; and the estate’s own future-dated scheduling, where a write in one capability triggers a transaction in another on a later date.
Three tools turn the description into something a delivery team can act on.
Classifies every program in the estate, so the plan starts from a complete count and not a sample.
Says which serial batch loops are safe to run in parallel. It errs on the side of caution: where it cannot prove a loop safe, it refuses.
Extracts a proven unit behind a generated contract, with a map back to the original lines. The carved units are COBOL, compiled by the Rocket COBOL compiler, and each is run twice and compared byte for byte.
Bring the source for one system. We will export the description, open it in the tools your architects use, and show you what each division would have to cut.