ChatPaper.aiChatPaper

Sfide e Percorsi Verso l'Intelligenza Artificiale per l'Ingegneria del Software

Challenges and Paths Towards AI for Software Engineering

March 28, 2025
Autori: Alex Gu, Naman Jain, Wen-Ding Li, Manish Shetty, Yijia Shao, Ziyang Li, Diyi Yang, Kevin Ellis, Koushik Sen, Armando Solar-Lezama
cs.AI

Abstract

L'IA per l'ingegneria del software ha compiuto progressi notevoli di recente, diventando un successo significativo all'interno dell'IA generativa. Nonostante ciò, ci sono ancora molte sfide da affrontare prima che l'ingegneria del software automatizzata raggiunga il suo pieno potenziale. Dovrebbe essere possibile raggiungere livelli elevati di automazione in cui gli esseri umani possano concentrarsi sulle decisioni critiche su cosa costruire e su come bilanciare compromessi difficili, mentre la maggior parte dello sforzo di sviluppo di routine viene automatizzato. Raggiungere questo livello di automazione richiederà notevoli sforzi di ricerca e ingegneria sia in ambito accademico che industriale. In questo articolo, miriamo a discutere i progressi verso questo obiettivo in tre modi. Innanzitutto, forniamo una tassonomia strutturata di compiti concreti nell'IA per l'ingegneria del software, evidenziando i molti altri compiti nell'ingegneria del software oltre alla generazione e al completamento del codice. In secondo luogo, delineiamo diversi colli di bottiglia chiave che limitano gli approcci attuali. Infine, forniamo una lista opinabile di direzioni di ricerca promettenti per progredire su questi colli di bottiglia, sperando di ispirare future ricerche in questo campo in rapida maturazione.
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

PDF42April 1, 2025