Aunque la inteligencia artificial ha logrado avances notables en la generación de fragmentos de código, un nuevo estudio del MIT revela barreras significativas para alcanzar una ingeniería de software verdaderamente autónoma.
La investigación, titulada "Desafíos y caminos hacia la IA para la ingeniería de software", fue realizada por un equipo liderado por el profesor del MIT Armando Solar-Lezama y el primer autor Alex Gu. Publicada el 16 de julio de 2025, el estudio será presentado en la Conferencia Internacional sobre Aprendizaje Automático (ICML 2025) en Vancouver.
"Todos hablan de que ya no necesitamos programadores y que ahora hay toda esta automatización disponible", comenta Solar-Lezama. "Por un lado, el campo ha avanzado enormemente. Tenemos herramientas mucho más poderosas que cualquier cosa que hayamos visto antes. Pero aún falta mucho para realmente alcanzar la promesa total de automatización que esperaríamos".
Los investigadores argumentan que los sistemas de IA actuales sobresalen en la generación de pequeñas funciones de código, pero tienen dificultades con tareas más amplias de ingeniería de software, como la refactorización a gran escala, la migración de código y la depuración de sistemas complejos. Métricas populares como SWE-Bench solo evalúan parches para problemas de GitHub que involucran unos cientos de líneas de código, sin reflejar escenarios reales donde millones de líneas podrían requerir optimización o migración desde sistemas heredados.
La comunicación entre humanos y máquinas representa otro desafío importante. Gu describe la interacción actual como "una línea de comunicación muy delgada", donde las herramientas de IA suelen producir archivos grandes y poco estructurados con pruebas superficiales, y carecen de la capacidad para utilizar eficazmente herramientas de depuración y analizadores estáticos en los que confían los desarrolladores humanos.
En lugar de proponer una única solución, los investigadores abogan por esfuerzos a escala comunitaria: desarrollar conjuntos de datos más ricos que reflejen cómo los desarrolladores escriben y refactorizan código a lo largo del tiempo; crear suites de evaluación compartidas que midan la calidad de la refactorización y la durabilidad de las correcciones de errores; y construir herramientas transparentes que expongan la incertidumbre de los modelos e inviten a la orientación humana.
"El software ya es la base de las finanzas, el transporte, la salud y muchos otros sistemas críticos", señala Solar-Lezama. El equipo de investigación imagina un futuro donde la IA se encargue de las tareas rutinarias de desarrollo, permitiendo que los ingenieros humanos se concentren en decisiones de diseño de alto nivel y en complejos compromisos que requieren juicio humano.