Herausforderungen und Wege zu KI für Software Engineering
Challenges and Paths Towards AI for Software Engineering
March 28, 2025
Autoren: Alex Gu, Naman Jain, Wen-Ding Li, Manish Shetty, Yijia Shao, Ziyang Li, Diyi Yang, Kevin Ellis, Koushik Sen, Armando Solar-Lezama
cs.AI
Zusammenfassung
KI für Softwareentwicklung hat in letzter Zeit bemerkenswerte Fortschritte gemacht und sich zu einem beachtlichen Erfolg innerhalb der generativen KI entwickelt. Dennoch gibt es noch viele Herausforderungen, die bewältigt werden müssen, bevor die automatisierte Softwareentwicklung ihr volles Potenzial erreicht. Es sollte möglich sein, ein hohes Maß an Automatisierung zu erreichen, bei dem sich Menschen auf die kritischen Entscheidungen darüber konzentrieren können, was gebaut werden soll und wie schwierige Abwägungen ausbalanciert werden können, während der größte Teil der routinemäßigen Entwicklungsarbeit automatisiert wird. Das Erreichen dieses Automatisierungsniveaus wird erhebliche Forschungs- und Entwicklungsanstrengungen sowohl in der Wissenschaft als auch in der Industrie erfordern. In diesem Artikel streben wir an, den Fortschritt in dieser Hinsicht dreifach zu diskutieren. Zunächst bieten wir eine strukturierte Taxonomie konkreter Aufgaben in der KI für Softwareentwicklung, wobei wir die vielen anderen Aufgaben in der Softwareentwicklung jenseits der Codegenerierung und -vervollständigung betonen. Zweitens skizzieren wir mehrere Schlüsselengpässe, die aktuelle Ansätze begrenzen. Schließlich stellen wir eine subjektive Liste vielversprechender Forschungsrichtungen vor, um Fortschritte bei diesen Engpässen zu erzielen, in der Hoffnung, zukünftige Forschungen in diesem sich schnell entwickelnden Bereich zu inspirieren.
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