Skip to main content
Przejdź do strony domowej Komisji Europejskiej (odnośnik otworzy się w nowym oknie)
polski pl
CORDIS - Wyniki badań wspieranych przez UE
CORDIS

Natural Program Repair

Opis projektu

Nowatorska metodologia automatycznego usuwania błędów

W ostatnich latach inżynieria oprogramowania cieszy się coraz większym zainteresowaniem i zyskuje sobie rzeszę nowych zwolenników, a wszystko to dzięki możliwościom szerokiego jej stosowania w niemal każdej innej dziedzinie. Sama popularność nie gwarantuje jednak unikania pewnych istotnych problemów, które są poważna bolączką inżynierii oprogramowania od początku jej rozwoju. Przykładem takich problemów są błędy kodu, które nadal potrafią pojawiać się w najmniej oczekiwanych momentach i powodować nieprzewidziane wyniki działania. Dlatego też koncepcja automatycznego poprawiania błędów od zawsze cieszyła się dużym zainteresowaniem społeczności skupionej wokół inżynierii oprogramowania, jednak próby przygotowania odpowiedniego rozwiązania rozbijały się o problemy związane ze stosowaną metodologią. W ramach finansowanego przez UE projektu NATURAL ma powstać narzędzie ułatwiające programowanie, które będzie potrafiło na podstawie opisu problemu w języku naturalnym podanego przez użytkownika zsyntetyzować odpowiedni kod rozwiązania. Nowe narzędzie ma drastycznie odmienić oblicze inżynierii oprogramowania.

Cel

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.

Dziedzina nauki (EuroSciVoc)

Słowa kluczowe

Program(-y)

Temat(-y)

System finansowania

ERC-STG - Starting Grant

Wyświetl wszystkie projekty finansowane w ramach tego programu finansowania

Zaproszenie do składania wniosków

(odnośnik otworzy się w nowym oknie) ERC-2020-STG

Wyświetl wszystkie projekty finansowane w ramach tego zaproszenia

Instytucja przyjmująca

UNIVERSITE DU LUXEMBOURG
Wkład UE netto
€ 1 495 988,00
Koszt całkowity
€ 1 495 988,00

Beneficjenci (1)