Desafíos y Caminos hacia la IA para la Ingeniería de Software
Challenges and Paths Towards AI for Software Engineering
March 28, 2025
Autores: Alex Gu, Naman Jain, Wen-Ding Li, Manish Shetty, Yijia Shao, Ziyang Li, Diyi Yang, Kevin Ellis, Koushik Sen, Armando Solar-Lezama
cs.AI
Resumen
La IA para la ingeniería de software ha logrado avances notables recientemente, convirtiéndose en un éxito destacado dentro de la IA generativa. A pesar de esto, aún existen muchos desafíos que deben abordarse antes de que la ingeniería de software automatizada alcance su máximo potencial. Debería ser posible alcanzar altos niveles de automatización donde los humanos puedan centrarse en las decisiones críticas sobre qué construir y cómo equilibrar compensaciones difíciles, mientras que la mayor parte del esfuerzo de desarrollo rutinario se automatice. Alcanzar este nivel de automatización requerirá esfuerzos sustanciales de investigación e ingeniería tanto en la academia como en la industria. En este artículo, nuestro objetivo es discutir el progreso hacia este objetivo de tres maneras. Primero, proporcionamos una taxonomía estructurada de tareas concretas en IA para ingeniería de software, enfatizando las muchas otras tareas en ingeniería de software más allá de la generación y completado de código. Segundo, delineamos varios cuellos de botella clave que limitan los enfoques actuales. Finalmente, ofrecemos una lista opinada de direcciones de investigación prometedoras para avanzar en estos cuellos de botella, con la esperanza de inspirar futuras investigaciones en este campo que madura rápidamente.
English
AI for software engineering has made remarkable progress recently, becoming a
notable success within generative AI. Despite this, there are still many
challenges that need to be addressed before automated software engineering
reaches its full potential. It should be possible to reach high levels of
automation where humans can focus on the critical decisions of what to build
and how to balance difficult tradeoffs while most routine development effort is
automated away. Reaching this level of automation will require substantial
research and engineering efforts across academia and industry. In this paper,
we aim to discuss progress towards this in a threefold manner. First, we
provide a structured taxonomy of concrete tasks in AI for software engineering,
emphasizing the many other tasks in software engineering beyond code generation
and completion. Second, we outline several key bottlenecks that limit current
approaches. Finally, we provide an opinionated list of promising research
directions toward making progress on these bottlenecks, hoping to inspire
future research in this rapidly maturing field.Summary
AI-Generated Summary