European Commission logo
italiano italiano
CORDIS - Risultati della ricerca dell’UE
CORDIS

Natural Program Repair

Descrizione del progetto

Una nuova metodologia per la correzione automatica dei bug

Negli ultimi anni, il campo dell’ingegneria del software ha suscitato molto interesse e guadagnato terreno grazie alla sua capacità di integrarsi per essere utilizzato da quasi tutti gli altri settori. Nonostante la sua popolarità, tuttavia, l’ingegneria del software ha dovuto affrontare grandi difficoltà sin dall’inizio. Ad esempio, possono ancora apparire bug, con esiti imprevisti per il software. Questo è il motivo per cui la correzione automatica dei bug è sempre stata oggetto di grande interesse per la comunità degli ingegneri del software. Tuttavia, i tentativi di fornire una soluzione hanno riscontrato problemi in relazione alla metodologia utilizzata. Il progetto NATURAL, finanziato dall’UE, mira a sviluppare un software in grado di sintetizzare il codice utilizzando una descrizione in linguaggio naturale di un problema che l’utente deve affrontare. La nuova soluzione è destinata a trasformare radicalmente l’ingegneria del software.

Obiettivo

Automatic bug fixing, i.e. the idea of having programs that fix other programs, is a long-standing dream that is increasingly embraced by the software engineering community. Indeed, despite the significant effort that humans put into reviewing code and running software test campaigns, programming mistakes slip by, with severe consequences. Fixing those mistakes automatically has recently been the focus of a number of potentially promising techniques. Proposed approaches are however recurrently criticized as being shallow (i.e. they mostly address unit test failures, which are often neither hard nor important problems).

Initial successes in automatic bug fixing are based on scenarios such as the following: when a bug is localized, patches are generated repetitively and automatically, through trial and error, until a valid patch is produced. The produced patch could then be later revised by developers. While the reported achievements are certainly worthwhile, they do not address what we believe is a more comprehensive challenge of software engineering: to systematically fix features of a software system based on end-user requirements.

The ambition of NATURAL is to develop a methodology for yielding an intelligent agent that is capable of receiving a natural language description of a problem that a user faces with a software feature, and then synthesizing code to address this problem so that it meets the user's expectations. Such a repair bot would be a trustworthy software contributor that is 1) first, targeting real bugs in production via exploiting bug reports, which remain largely under-explored, 2) second, aligning with the conversational needs of collaborative work via generating explanations for patch suggestions, 3) third, shifting the repair paradigm towards the design of self-improving systems via yielding novel algorithms that iteratively integrate feedback from humans. Ultimately, NATURAL will be transformative in the practice of software engineering.

Meccanismo di finanziamento

ERC-STG - Starting Grant

Istituzione ospitante

UNIVERSITE DU LUXEMBOURG
Contribution nette de l'UE
€ 1 495 988,00
Indirizzo
2 PLACE DE L'UNIVERSITE
4365 ESCH-SUR-ALZETTE
Lussemburgo

Mostra sulla mappa

Regione
Luxembourg Luxembourg Luxembourg
Tipo di attività
Higher or Secondary Education Establishments
Collegamenti
Costo totale
€ 1 495 988,00

Beneficiari (1)