Skip to main content
Weiter zur Homepage der Europäischen Kommission (öffnet in neuem Fenster)
Deutsch de
CORDIS - Forschungsergebnisse der EU
CORDIS

Learning to Find Software Bugs

Projektbeschreibung

Computern das Beseitigen von Softwarefehlern beibringen

Fehler, Schwachstellen, Ausfälle oder Störungen in Computerprogrammen oder -systemen, die zu falschen oder unerwarteten Ergebnissen führen, werden als Softwarefehler bezeichnet. Im Prozess der Fehlererkennung werden diese Fehler gefunden. Dabei sind üblicherweise formale Verfahren und Instrumente am Werk, mit denen nach Beweisen für Fehlermuster gesucht wird, die projekt- und anwendungsübergreifend auftreten. Das EU-finanzierte Projekt LearnBugs soll nun die Art der Erstellung von automatisierten Fehlererkennungsinstrumenten radikal verändern. Manuell geschriebene Programme werden durch angepasste Maschinenlernmodelle ersetzt. Fehler werden zukünftig in der Softwareentwicklung ganz anders gesucht und gefunden. Das Projekt wird die Zuverlässigkeit, Sicherheit und Effizienz komplexer Softwaresysteme erhöhen, die von Millionen Menschen genutzt werden.

Ziel

"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."

Wissenschaftliches Gebiet (EuroSciVoc)

Schlüsselbegriffe

Programm/Programme

Thema/Themen

Finanzierungsplan

ERC-STG - Starting Grant

Alle im Rahmen dieses Finanzierungsinstruments finanzierten Projekte anzeigen

Aufforderung zur Vorschlagseinreichung

(öffnet in neuem Fenster) ERC-2019-STG

Alle im Rahmen dieser Aufforderung zur Einreichung von Vorschlägen finanzierten Projekte anzeigen

Gastgebende Einrichtung

UNIVERSITY OF STUTTGART
Netto-EU-Beitrag
€ 1 458 375,00
Adresse
KEPLERSTRASSE 7
70174 Stuttgart
Deutschland
Region
Baden-Württemberg Stuttgart Stuttgart, Stadtkreis
Aktivitätstyp
Higher or Secondary Education Establishments
Links
Gesamtkosten
€ 1 458 375,00

Begünstigte (1)