En los ¨²ltimos meses, el uso de GenAI para comprender bases de c¨®digo legado ha generado verdaderos progresos. Herramientas populares como GitHub Copilot se est¨¢n promocionando como . Herramientas como de Sourcegraph facilitan a los desarrolladores la navegaci¨®n y comprensi¨®n de bases de c¨®digo completas. Estas herramientas utilizan multitud de t¨¦cnicas de GenAI para proporcionar ayuda contextual, simplificando el trabajo con sistemas legados complejos. Adem¨¢s, frameworks especializados como est¨¢n mostrando c¨®mo los modelos de lenguaje extensos (LLMs) pueden manejar software cient¨ªfico de gran escala -como los escritos en Fortran o Pascal- llevando la comprensi¨®n mejorada por GenAI a bases de c¨®digo fuera de la TI empresarial tradicional. Creemos que esta t¨¦cnica continuar¨¢ ganando terreno dada la enorme cantidad de software legacy en el mundo.
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 . 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, o 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.

