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

Learning to Find Software Bugs

Opis projektu

Jak nauczyć komputery debugowania oprogramowania?

Usterka czy wada programu lub systemu komputerowego, która skutkuje nieprawidłowym lub nieoczekiwanym rezultatem jest określana mianem błędu, a potocznie nazywa się bugiem. Tego rodzaju problemy są wyszukiwane w ramach procesu debugowania, czyli wykrywania błędów, często przy pomocy formalnych technik i narzędzi, które wyszukują przypadki występowania podobnych błędów powtarzających się w wielu projektach oraz różnorodnych aplikacjach. Celem finansowanego przez Unię Europejską projektu LearnBugs jest radykalna zmiana schematu, na którym opierają się automatyczne narzędzia do wykrywania błędów. Nowe rozwiązanie zastąpi ręcznie pisane programy modelami przeszkolonymi dzięki technikom uczenia maszynowego, co pomoże zmienić sposób, w jaki programiści wyszukują błędy w swoim kodzie. Opracowane rozwiązanie pomoże w zapewnieniu lepszej niezawodności oprogramowania, a także poprawi bezpieczeństwo i wydajność systemów wykorzystywanych każdego dnia przez miliony ludzi.

Cel

"Learning to Find Software Bugs

Software has become the cornerstone of modern society, economy, and life. Since software is created by humans, though, every non-trivial program contains various bugs, i.e. programming errors that may have disastrous consequences. Traditional approaches to find bugs include automated bug detection tools. Such tools search for instances of bug patterns that recur across projects and application domains. However, automated bug detection currently cannot unleash its full potential because each bug detector addresses one bug pattern and one programming language, while creating new bug detectors is feasible only for program analysis experts.

The objective of this proposal is to radically change the way automated bug detection tools are created. The core idea is to replace manually written program analyses with trained machine learning models. To this end, developers will train a bug detector for a particular bug pattern with examples of buggy and non-buggy code, which the model learns to distinguish. The project will realize this vision by developing a reusable framework that addresses several fundamental challenges at the intersection of software engineering, programming languages, and machine learning, e.g.: (i) How to support developers in creating large amounts of training data of buggy and non-buggy code examples? (ii) How to represent programs in a way suitable for advanced machine learning techniques?

The proposed project has the potential to revolutionize how software developers find bugs. To date, no other research has addressed the problem of automatically learning bug detection tools. If successful, the project will ""democratize"" bug detection by enabling all software developers, instead of a few program analysis experts, to create and share bug detection tools. Ultimately, the project will contribute to increasing the reliability, security, and efficiency of complex software systems used by millions of people."

Dziedzina nauki (EuroSciVoc)

Klasyfikacja projektów w serwisie CORDIS opiera się na wielojęzycznej taksonomii EuroSciVoc, obejmującej wszystkie dziedziny nauki, w oparciu o półautomatyczny proces bazujący na technikach przetwarzania języka naturalnego. Więcej informacji: Europejski Słownik Naukowy.

Aby użyć tej funkcji, musisz się zalogować lub zarejestrować

Słowa kluczowe

Słowa kluczowe dotyczące projektu wybrane przez koordynatora projektu. Nie należy mylić ich z pojęciami z taksonomii EuroSciVoc dotyczącymi dziedzin nauki.

Program(-y)

Wieloletnie programy finansowania, które określają priorytety Unii Europejskiej w obszarach badań naukowych i innowacji.

Temat(-y)

Zaproszenia do składania wniosków dzielą się na tematy. Każdy temat określa wybrany obszar lub wybrane zagadnienie, których powinny dotyczyć wnioski składane przez wnioskodawców. Opis tematu obejmuje jego szczegółowy zakres i oczekiwane oddziaływanie finansowanego projektu.

System finansowania

Program finansowania (lub „rodzaj działania”) realizowany w ramach programu o wspólnych cechach. Określa zakres finansowania, stawkę zwrotu kosztów, szczegółowe kryteria oceny kwalifikowalności kosztów w celu ich finansowania oraz stosowanie uproszczonych form rozliczania kosztów, takich jak rozliczanie ryczałtowe.

ERC-STG - Starting Grant

Wyświetl wszystkie projekty finansowane w ramach tego programu finansowania

Zaproszenie do składania wniosków

Procedura zapraszania wnioskodawców do składania wniosków projektowych w celu uzyskania finansowania ze środków Unii Europejskiej.

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

Wyświetl wszystkie projekty finansowane w ramach tego zaproszenia

Instytucja przyjmująca

UNIVERSITY OF STUTTGART
Wkład UE netto

Kwota netto dofinansowania ze środków Unii Europejskiej. Suma środków otrzymanych przez uczestnika, pomniejszona o kwotę unijnego dofinansowania przekazanego powiązanym podmiotom zewnętrznym. Uwzględnia podział unijnego dofinansowania pomiędzy bezpośrednich beneficjentów projektu i pozostałych uczestników, w tym podmioty zewnętrzne.

€ 1 458 375,00
Koszt całkowity

Ogół kosztów poniesionych przez organizację w związku z uczestnictwem w projekcie. Obejmuje koszty bezpośrednie i pośrednie. Kwota stanowi część całkowitego budżetu projektu.

€ 1 458 375,00

Beneficjenci (1)

Moja broszura 0 0