A computer-implemented method for
software system modernization comprising utilizing a large
language model (LLM) to process one or more source files, wherein the
processing comprises, as one or separate steps, reading the one or more source files with the LLM to analyze the function of the one or more source files, utilizing the same or another LLM,
processing one or more source files to discover public definitions and declarations in the one or more source files, wherein said discovered definitions may be expressed with the declared identifiers and context of the
declaration, such as
namespace, and then semantically indexed, detect references to external identifiers made in the one or more source files, wherein said references may be expressed with the referenced identifiers and context of the reference, match a definition for each discovered reference, wherein a candidate definition expression is formed based on the reference, and a semantically indexed form for said matching is produced with an LLM from the candidate definition expression, for each matched definition, extract the
semantics of the reference from the context of the
source code having the reference
declaration, to a referenced functionality expression, process each source file into one or more components, wherein each component comprises one or more functionally inherent parts present in a source file, generate a design description for each component using the LLM to extract a design summary of the functionality present in the
source code for each component so that the summary includes the information, which information may enable redesigning the same functionality in different technology, providing a target design generation configuration and mapping configuration, and mapping components in reference to said target design generation configuration and mapping configuration, based on the mapping, linking the components into
system structures and the referenced functionality links across the components, arranging components in an optimal generation order within each
system structure so that the most isolated components are ordered first, and that the most dependent components are ordered last, utilizing the same or another LLM, in view of the target design generation configuration and mapping configuration, generate a
codebase from the system structures and components.