Los investigadores investigaron la fiabilidad del uso de modelos de lenguaje de gran tamaño (LLM) para actualizar software analizando su capacidad para transicionar código PHP heredado a la versión 8.3. El estudio se centró en un escenario de 'atajo fácil': tomar un solo archivo de WordPress 4.0 —un proyecto con una huella heredada significativa— y solicitar a un LLM que "modernice esto" mientras preserva su comportamiento original. Para garantizar una base objetiva, los investigadores evaluaron cinco LLM diferentes frente a dos puntos de referencia: los archivos originales sin tocar y los resultados producidos por Rector, una herramienta de modernización dedicada basada en reglas.
Los hallazgos sugieren que los LLM actuales degradan con frecuencia el código funcional en lugar de mejorarlo. Mientras que 83 de los 100 archivos de prueba pasaron todas las comprobaciones de comportamiento en su estado original, el LLM con mejor rendimiento dejó solo 59 archivos funcionales tras el intento de modernización. En contraste, cada modelo rompió entre 32 y 51 archivos que funcionaban previamente, mientras que reparó como máximo 10. Cuando se comparan con la herramienta basada en reglas Rector, que solo rompió 7 archivos y reparó 6, la brecha en la fiabilidad se vuelve evidente. Lo más notable es que, para los archivos que no requerían cambios reales para ser compatibles con PHP 8.3, los LLM introdujeron regresiones disruptivas en el 36% al 60% de los casos, mientras que Rector causó tales errores en solo el 8% de esas instancias.
Una causa principal de estos fallos es la introducción de errores de sintaxis básicos que el propio motor de PHP rechaza, específicamente en relación con las declaraciones de tipo. Debido a que el estudio utilizó una configuración de archivo único donde la IA ve la estructura interna pero carece de contexto del proyecto o dependencias externas, los modelos tuvieron dificultades para hacer suposiciones seguras sobre cómo interactúan las variables en el sistema más amplio. Los investigadores concluyen que las evaluaciones de la modernización basada en LLM deben distinguir entre una 'modernización' exitosa (nuevas funciones/sintaxis) y la 'preservación del comportamiento'. Sin retroalimentación de ejecución o un flujo de trabajo agéntico —donde una IA pueda iterar sobre sus propios errores—, la modernización de un solo prompt sigue siendo propensa a introducir daños innecesarios en sistemas heredados estables.
