La IA Generativa (GenAI) y los modelos de lenguaje de gran tamaño (LLMs) pueden ayudar a los desarrolladores a escribir código y entenderlo. Esta ayuda es especialmente útil en el caso de bases de código heredado con documentación deficiente, incompleta y/o desactualizada. Desde nuestra última actualización sobre este tema, las técnicas y herramientas sobre el usar GenAI para entender las bases de código heredado han evolucionado significativamente. Hemos utilizado con éxito algunas de estas técnicas en la práctica, especialmente para apoyar esfuerzos de ingeniería inversa en la modernización de mainframes. Una técnica especialmente prometedora que hemos utilizado es un enfoque de generación aumentada por recuperación(RAG), en el cual la recuperación de información se realiza a partir de un grafo de conocimiento del código. Este grafo puede conservar información estructural sobre la base de código que va más allá de lo que un modelo de lenguaje de gran tamaño (LLM) podría extraer únicamente del código textual. Esto resulta particularmente útil en bases de código heredado que son menos autodescriptivas y cohesivas. Además, hay una oportunidad adicional para mejorar la comprensión del código, ya que el grafo puede enriquecerse aún más con documentación existente y generada por IA, dependencias externas, conocimientos del dominio de negocio o cualquier otro recurso disponible que facilite el trabajo de la IA.
Las IA Generativas (GenAI) y modelos de lenguaje grandes (LLMs) pueden ayudar a los desarrolladores a escribir y entender código. Hasta ahora, en la aplicación práctica, esto ha sido limitado para extractos pequeños de código, pero más desarrollos de productos y tecnologías están emergiendo para usar GenAI para entender las bases de código heredado. Esto es particularmente útil en el caso de bases de código heredado que no están bien documentadas o donde la documentación está desactualizada o sea engañosa. Por ejemplo, Driver AI o bloop usan enfoques RAG que combinan inteligencia de lenguaje y búsqueda de código con LLMs para ayudar a los usuarios a encontrar su camino dentro de una base de código. Los modelos emergentes con ventanas de contexto cada vez más grandes también ayudan a hacer estas técnicas más viables para bases de código de tamaño considerable. Otra aplicación prometedora de GenAI para código heredado está en el espacio de la modernización de mainframes, allí los cuellos de botella comúnmente se dan en la ingeniería inversa, en donde está la necesidad de entender la base de código existente y convertir este entendimiento en requisitos para modernizar el proyecto. El uso de GenAI para asistir a los encargados del proceso de ingeniería inversa puede ayudarles a realizar su trabajo más rápidamente.