A IA generativa e os modelos de linguagem de grande porte (LLMs) podem auxiliar pessoas desenvolvedoras a escrever e entender código. O auxílio na compreensão de código é especialmente útil em caso de bases de código legadas com documentação escassa, desatualizada e errônea. Desde a última vez que escrevemos sobre isso, as técnicas e produtos para usar GenIA para entender bases de código legadas evoluiram ainda mais, e nós temos utilizado com sucesso algumas delas na prática, principalmente para auxiliar nos esforços de engenharia reversa para modernização de mainframes. Uma técnica particularmente promissora que temos utilizado é a geração aumentada por recuperação (RAG), uma abordagem onde a recuperação da informação é feita em um grafo de conhecimento da base de código. O grafo de conhecimento consegue preservar as informações estruturais sobre a base de código que vão além do que uma LLM pode extrair apenas do código textual. Isso é especialmente útil em bases de código legadas que são menos autodescritivas e coesas. Uma oportunidade adicional para melhorar a compreensão do código é que o grafo pode ser enriquecido com a documentação existente e gerada por IA, dependências externas, conhecimento do domínio do negócio ou qualquer outro recurso disponível que possa facilitar o trabalho da IA.
A IA Generativa (GenAI) e os modelos de linguagem de grande porte (LLMs) podem auxiliar pessoas desenvolvedoras tanto a escrever quanto a entender código. Na prática, a aplicação atual se limita principalmente a trechos de código menores, mas novos produtos e avanços tecnológicos estão surgindo para utilizar a IA Generativa no entendimento de código legado. Isso é particularmente útil para bases de código antigas mal documentadas ou cuja documentação esteja desatualizada ou imprecisa. Por exemplo, o Driver AI or bloop usam RAGs que combinam inteligência de linguagem e busca de código com LLMs para auxiliar as pessoas usuárias a navegarem em uma base de código. Modelos emergentes com janelas de contexto cada vez maiores também ajudarão a tornar essas técnicas mais viáveis para bases de código de grande porte. Outra aplicação promissora da IA Generativa para código legado está na modernização de mainframes, onde gargalos frequentemente se formam em torno de pessoas engenheiras reversas que precisam entender a base de código existente e transformar esse entendimento em requisitos para o projeto de modernização. O uso da IA Generativa para auxiliar essas pessoas engenheiras reversas pode acelerar a conclusão do seu trabalho.