Strust

Open methodology / Strust v1

Differential verification,COBOL to Java.

Strust v1 describes running a COBOL reference and Java candidate under an explicit test contract, comparing their observable behavior, and retaining evidence needed to challenge the verdict.

METHOD SHEET
Fixed before execution
  • Workload and source revisions
  • Runtime settings and fixtures
  • Observations and comparison policy
ReferenceCOBOL
CandidateJAVA
Returned after comparisonVerdict, first difference, replay evidence

The question

Did the candidate preserve the behavior that matters?

VERIFICATION METHOD

Compilation success and source similarity cannot answer that question. A migration can still change a rounding boundary, fixed-width field, collation order, error path, output artifact, or persistent side effect.

The method fixes the workload, source revisions, runtime settings, fixtures, adapters, normalization policy, comparator, resource limits, and observation scope before executing either system. It returns MATCH, DIVERGE, or INCONCLUSIVE instead of forcing every run into a misleading pass/fail result.

Inputs
Same declared workload
Observations
Only contract-relevant behavior
Output
Reviewable evidence, not a score alone

Evidence boundary

What the current evidence does and does not show.

The declared ledger can be inspected, but the original execution artifacts are unavailable. This is not an independently reproduced benchmark run.

EVIDENCE BOUNDARY

Supported by the paper

  • The verification contract is specified.
  • The declared ledger arithmetic can be checked.
  • Verdicts preserve an inconclusive state.

Not established by the paper

  • The original executions cannot be independently replayed.
  • The historical artifacts are not available for audit.
  • The ledger is not a current product benchmark.
CONTACT

Have a software change Strust should verify?

Tell us what you are changing and what behavior must stay the same.