Locksmith Loop validerer KI-migrert COBOL mot originalen som kjører
Foreslår en agentisk metode som validerer KI-migrert COBOL-kode mot et deterministisk orakel i stedet for å stole på at modellen oversatte riktig.
91,90 prosent grendekning på et produksjonslikt internt COBOL-program er hovedtallet i en artikkel levert til arXiv 30. juli. Metoden heter «Locksmith Loop», og angriper problemet som gjør migrering fra COBOL til Java dyr: du mangler testdata, og du klarer ikke å validere alle grensetilfellene.
Framgangsmåten består av tre trinn:
- Både COBOL-kilden og den genererte Java-koden instrumenteres med mocks og kjøres utenfor stormaskinen, på helt vanlig maskinvare.
- En agentisk løkke leter etter inndata. Forfatterne kaller det Witness Search, en iterativ søking over mock-inndata for å trenge inn i programgrenene, etterfulgt av paritetsbevarende mutasjoner.
- Treffer løkka en rutinggrense, identifiserer en analysator en «Locked Paragraph», altså betingelsen som hindrer dypere utforskning.
Datagrunnlaget er lite og bør leses deretter. Tre case-studier, to åpne programmer og ett internt produksjonslikt, på mellom 430 og 4 114 kodelinjer. På de to åpne programmene nådde metoden nesten fullstendig dekning, og løkka forbedret dekningen forbi platået der ren inndatasøking stoppet opp. I alle aksepterte testtilfeller stemte den genererte Java-koden overens med COBOL-referansen under deterministiske paritetssjekker.
Det siste punktet peker utover stormaskin-verdenen. Forfatterne beskriver bidraget som validering av agentisk kodeoutput mot et deterministisk orakel, og der ligger den generelle lærdommen: har du en fungerende referanseimplementasjon, trenger du ikke å bedømme om KI-en skrev pen kode. Du kan kjøre begge og sammenligne oppførselen mekanisk. Vanskeligheten flyttes fra å vurdere koden til å finne inndataene som faktisk treffer alle grenene, og nettopp den jobben automatiserer løkka.
Merk at artikkelen ennå ikke er fagfellevurdert, og at dekningstallene gjelder tre programmer, ikke en portefølje. For deg som bygger med kodegenererende agenter er poenget likevel overførbart: har du en gammel implementasjon som fortsatt kjører, er den et orakel, ikke bare teknisk gjeld.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.