miércoles, 28 de octubre de 2026
PortadaAplicacionesNoticia y análisis

Microsoft usa agentes para migrar código a gran escala: el cuello de botella ya es demostrar que no lo rompen

Microsoft describe migraciones de cientos de millones de líneas con agentes, análisis estático, pruebas y verificación formal. Aún no publica tasas de éxito.

Un puente de código antiguo C y C++ hacia módulos Rust, con compuertas de pruebas, análisis estático y verificación formal
Ilustración editorial generada con IA sobre modernización de código; no representa una migración real de Windows ni resultados medidos por Texploto.

Microsoft afirma que ya usa agentes para transformar grandes bases de código, desde adaptar unos 400 millones de líneas a Clang/LLVM hasta modernizar C y C++ en Rust. Su conclusión no es que revisar deje de importar, sino que la revisión línea por línea deja de escalar: el trabajo humano se desplaza a aprobar reglas, excepciones y pruebas.

El método empieza con una muestra de hallazgos. Los agentes proponen una base de conocimiento; un agente revisor puntúa corrección, minimalidad, coherencia con el archivo y mantenibilidad; especialistas aprueban esa base y después se aplica a familias de cambios. Las excepciones ambiguas vuelven a personas. Es una inversión del flujo: el agente planifica y llama a herramientas que le dicen si el cambio es válido.

Compilar es solo la primera barrera

Microsoft describe una progresión en traducción a Rust: en enero de 2025 el código generado ni compilaba; en junio compilaba pero fallaba al ejecutarse o al pasar pruebas; en septiembre alcanzó traducciones de unas 30.000 líneas con guía manual; desde febrero de 2026 declara modernización de bases grandes con automatización significativa.

La secuencia evita tratar «se ha convertido» como una medida única. Un cambio puede compilar, pasar la suite visible y aun romper compatibilidad binaria, condiciones de carrera o semántica en casos límite. Por eso el equipo combina análisis estático, pruebas y verificación formal. Cada capa responde a una pregunta distinta y ninguna sustituye por sí sola a las demás.

Capa Pregunta Fallo que aún puede escapar
Compilación ¿Es código aceptado? Comportamiento incorrecto
Pruebas ¿Pasa los casos codificados? Caso no cubierto
Análisis estático ¿Viola reglas conocidas? Semántica específica del sistema
Verificación formal ¿Cumple propiedades declaradas? Propiedad incompleta o mal especificada

La cifra de líneas no es una tasa de acierto

El artículo inaugura una serie y no publica cuántos cambios llegaron a producción, qué porcentaje requirió corrección humana ni cuántos defectos escaparon. Los 400 millones describen el tamaño de una base migrada a otra cadena de compilación, no 400 millones de líneas reescritas correctamente a Rust. Mantener esa distinción es esencial.

Para un equipo pequeño, la parte reutilizable es el orden: escoger una transformación repetible, muestrear, redactar reglas, aprobarlas, ejecutar por lotes y reservar revisión humana para novedades. La guía anterior sobre TileGym y conversión a Rust llega a la misma conclusión desde un experimento más acotado: el valor está en la prueba que acompaña al parche.

Transparencia: artículo elaborado con asistencia de IA a partir del relato técnico de Microsoft. Texploto no accedió a las bases de Windows o Azure ni ejecutó migraciones.