guitarvydas
04/14/2026, 12:22 PMTL;DR — Old code is dying. The code isn't the problem. The business rules embedded in it are. LLMs can extract those rules into a factbase. A factbase can be rewritten into any target language. This is Design Recovery, and it is the right job for LLMs.LLMs as Design Recovery Engines
Konrad Hinsen
04/14/2026, 5:34 PMwtaysom
04/15/2026, 1:37 AMKonrad Hinsen
04/15/2026, 7:17 AMguitarvydas
04/15/2026, 12:32 PMrelation(subject, object). Say, something like inscope(“x”,”f”), type(“x”,int16), etc. A factbase of such facts doesn’t tell you much about the DI, but, someone might “see” a pattern in one place, then write a Prolog-like rule that says “if you find <a> followed by <b> then infer that this is a <c>” (it’s a lot like type checking, but deals with higher-level project-specific concepts). Repeat. After several iterations, more of the DI becomes clear(er). Discard or ignore the very low-level stuff (eg. delete <a>s and <b>s, leaving only <c>s), then see if the remaining high-level stuff can be converted into modern form.
No guarantee that this would work 100%, but, it’s better than nothing. I would find it easier to trust an LLM (or another human) to do this in little steps than blindly trusting that they did the whole conversion in an opaque manner. Can the result be trusted? Not without lots of testing…Konrad Hinsen
04/15/2026, 1:20 PMguitarvydas
04/15/2026, 1:47 PM