Défis et perspectives pour l'IA appliquée au génie logiciel
Challenges and Paths Towards AI for Software Engineering
March 28, 2025
Auteurs: Alex Gu, Naman Jain, Wen-Ding Li, Manish Shetty, Yijia Shao, Ziyang Li, Diyi Yang, Kevin Ellis, Koushik Sen, Armando Solar-Lezama
cs.AI
Résumé
L'IA pour l'ingénierie logicielle a récemment accompli des progrès remarquables, devenant un succès notable dans le domaine de l'IA générative. Malgré cela, de nombreux défis restent à relever avant que l'ingénierie logicielle automatisée n'atteigne son plein potentiel. Il devrait être possible d'atteindre des niveaux élevés d'automatisation où les humains pourront se concentrer sur les décisions critiques concernant ce qu'il faut construire et comment équilibrer des compromis difficiles, tandis que la plupart des efforts de développement routiniers seront automatisés. Atteindre ce niveau d'automatisation nécessitera des efforts substantiels de recherche et d'ingénierie à la fois dans le milieu académique et industriel. Dans cet article, nous visons à discuter des progrès dans ce domaine de manière tripartite. Premièrement, nous proposons une taxonomie structurée des tâches concrètes en IA pour l'ingénierie logicielle, en mettant l'accent sur les nombreuses autres tâches au-delà de la génération et de la complétion de code. Deuxièmement, nous identifions plusieurs goulots d'étranglement clés qui limitent les approches actuelles. Enfin, nous proposons une liste subjective de directions de recherche prometteuses pour progresser sur ces goulots d'étranglement, dans l'espoir d'inspirer de futures recherches dans ce domaine en pleine maturation.
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