En pocas palabras
Utilizar IA generativa para explorar sistemas heredados, resumir lógica, localizar reglas del negocio y relacionar dependencias.
Qué problema resuelve
Incorporación lenta de desarrolladores y comprensión difícil de sistemas grandes o poco documentados.
Cuándo utilizarlo
Mantenimiento, investigación de incidentes y preparación de modernizaciones. Ejemplo: rastrear cómo se calcula una comisión, identificar sus llamadas y proponer pruebas que documenten el comportamiento.
De la idea a la práctica
Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.
Cómo funciona
La IA resume fragmentos relevantes y conecta funciones, llamadas y reglas del negocio. La recuperación por búsqueda y, en escenarios grandes, grafos de relaciones ayudan a seleccionar el código que necesita el análisis.
Ejemplo: comprender una regla de negocio
Una solicitud útil al asistente podría ser:
Rastrea el cálculo de comisión desde el endpoint hasta la persistencia.
Identifica condiciones, dependencias y efectos secundarios.
Cita archivos y funciones para cada conclusión.
Señala lo que no puedes confirmar y sugiere pruebas de caracterización.
Combinar análisis estático e IA
| Técnica | Aporta |
|---|---|
| Parsers y AST (tree-sitter, compiladores) | Estructura exacta: funciones, llamadas, tipos |
| Grafo de dependencias y llamadas | Qué invoca a qué, incluidos programas batch y procedimientos almacenados |
| Linaje de datos | Qué programas leen y escriben cada tabla o archivo |
| Búsqueda (texto y semántica) | Encontrar dónde se trata un concepto de negocio |
| LLM | Explicar en lenguaje natural, resumir, proponer hipótesis |
El grafo da los hechos verificables; el LLM los interpreta. Pedir al modelo que explique un sistema de un millón de líneas sin esa estructura produce resúmenes plausibles pero incompletos.
Flujo de comprensión
- Inventario: lenguajes (COBOL, PL/SQL, RPG, Java antiguo), programas, jobs, tablas, interfaces.
- Grafo: dependencias entre programas y datos.
- Explicación por capas: de cada módulo (qué hace), de cada flujo (cómo se procesa un pago), de cada regla (cómo se calcula la mora).
- Catálogo de reglas de negocio con referencia a archivo y líneas.
- Validación con expertos y con ejecución: pruebas de caracterización que fijan el comportamiento observado.
- Uso: documentación, decisión de modernización, diseño del sistema nuevo (strangler fig).
Ejemplo de entrada en el catálogo de reglas
## R-017 Cálculo de intereses de mora
- Origen: `COBMORA.cbl`, párrafo 3200-CALC-MORA (líneas 410–468)
- Regla: interés diario = saldo vencido × tasa de mora anual / 360, desde el día siguiente al vencimiento.
- Excepciones observadas: no se cobra mora si el atraso es ≤ 3 días (constante WS-GRACIA).
- Dudas: la tasa se lee de TBL-TASAS por producto; falta confirmar si aplica tope legal.
- Verificación: prueba de caracterización `MoraCaracterizacionTest` con 12 casos.
- Validado por: Operaciones de cartera, 2026-10-10.
Riesgos y controles
| Riesgo | Control |
|---|---|
| Explicaciones inventadas o incompletas | Exigir citas a archivo y línea; validar con expertos y pruebas |
| Comportamiento real distinto del código leído (configuración, datos, JCL) | Observar ejecuciones y datos reales |
| Código y datos sensibles enviados a terceros | Modelos con acuerdos adecuados o ejecución en infraestructura propia |
| Reproducir defectos históricos en el sistema nuevo | Distinguir «lo que hace» de «lo que debería hacer» con negocio |
Entregables útiles para la gerencia
Mapa del sistema con módulos críticos y su riesgo, catálogo de reglas validado, estimación de esfuerzo por módulo basada en tamaño y acoplamiento, y una propuesta de primeras piezas a modernizar. Para la ejecución de la migración, ver AI for code migrations.
Criterios de implementación
Comprueba las conclusiones contra código y ejecución. Antes de cambiar una regla, captura el comportamiento actual con pruebas de caracterización. Distingue la intención documentada del comportamiento observado y controla qué código puede salir del entorno autorizado.
Continúa en las fuentes
Documentación oficial para verificar detalles y explorar más.