Проблемы и пути развития ИИ для программной инженерии
Challenges and Paths Towards AI for Software Engineering
March 28, 2025
Авторы: Alex Gu, Naman Jain, Wen-Ding Li, Manish Shetty, Yijia Shao, Ziyang Li, Diyi Yang, Kevin Ellis, Koushik Sen, Armando Solar-Lezama
cs.AI
Аннотация
Искусственный интеллект для разработки программного обеспечения добился значительных успехов в последнее время, став одним из заметных достижений в области генеративного ИИ. Тем не менее, перед тем как автоматизированная разработка ПО сможет полностью раскрыть свой потенциал, предстоит решить множество задач. В идеале можно достичь высокого уровня автоматизации, при котором люди смогут сосредоточиться на принятии ключевых решений о том, что создавать и как балансировать сложные компромиссы, в то время как большая часть рутинной разработки будет автоматизирована. Достижение такого уровня автоматизации потребует значительных исследовательских и инженерных усилий как в академической среде, так и в промышленности. В данной статье мы стремимся обсудить прогресс в этом направлении в трех аспектах. Во-первых, мы предлагаем структурированную таксономию конкретных задач в области ИИ для разработки ПО, подчеркивая множество других задач, помимо генерации и завершения кода. Во-вторых, мы выделяем несколько ключевых ограничений, которые сдерживают современные подходы. Наконец, мы представляем субъективный список перспективных направлений исследований, которые могут помочь преодолеть эти ограничения, надеясь вдохновить будущие исследования в этой быстро развивающейся области.
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