Uitdagingen en wegen naar AI voor software-engineering
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
Samenvatting
AI voor software engineering heeft recentelijk opmerkelijke vooruitgang geboekt en is uitgegroeid tot een opvallend succes binnen generatieve AI. Desondanks zijn er nog steeds veel uitdagingen die moeten worden aangepakt voordat geautomatiseerde software engineering zijn volledige potentieel bereikt. Het zou mogelijk moeten zijn om hoge niveaus van automatisering te bereiken waarbij mensen zich kunnen concentreren op de kritieke beslissingen over wat te bouwen en hoe moeilijke afwegingen in balans te brengen, terwijl het meeste routinematige ontwikkelingswerk wordt geautomatiseerd. Het bereiken van dit niveau van automatisering zal aanzienlijke onderzoeks- en technische inspanningen vereisen, zowel in de academische wereld als in de industrie. In dit artikel streven we ernaar om de voortgang hiernaar op drie manieren te bespreken. Ten eerste bieden we een gestructureerde taxonomie van concrete taken binnen AI voor software engineering, waarbij we de nadruk leggen op de vele andere taken in software engineering naast codegeneratie en -completering. Ten tweede schetsen we enkele belangrijke knelpunten die de huidige benaderingen beperken. Tot slot geven we een beargumenteerde lijst van veelbelovende onderzoeksrichtingen om vooruitgang te boeken op deze knelpunten, in de hoop toekomstig onderzoek in dit snel volwassen wordende veld te inspireren.
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.