Descrizione del progetto
Insegnare ai computer a eseguire il debug del software
Un errore, un difetto, un guasto o un’anomalia in un programma o in un sistema informatico che provoca un risultato errato o inaspettato viene chiamato bug del software. Il rilevamento dei bug è il processo di ricerca di questi bug e di solito coinvolge tecniche e strumenti formali che cercano modelli di bug che si ripetono in progetti e domini applicativi. Il progetto LearnBugs, finanziato dall’UE, sta cercando di cambiare radicalmente il modo in cui vengono creati gli strumenti di rilevamento automatico dei bug. Sostituirà i programmi scritti manualmente con modelli di apprendimento automatico addestrati, trasformando il modo in cui gli sviluppatori di software trovano i bug. Il progetto aumenterà l’affidabilità, la sicurezza e l’efficienza di sistemi software complessi utilizzati da milioni di persone.
Obiettivo
"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."
Campo scientifico (EuroSciVoc)
CORDIS classifica i progetti con EuroSciVoc, una tassonomia multilingue dei campi scientifici, attraverso un processo semi-automatico basato su tecniche NLP. Cfr.: https://op.europa.eu/en/web/eu-vocabularies/euroscivoc.
CORDIS classifica i progetti con EuroSciVoc, una tassonomia multilingue dei campi scientifici, attraverso un processo semi-automatico basato su tecniche NLP. Cfr.: https://op.europa.eu/en/web/eu-vocabularies/euroscivoc.
È necessario effettuare l’accesso o registrarsi per utilizzare questa funzione
Siamo spiacenti… si è verificato un errore inatteso durante l’esecuzione.
È necessario essere autenticati. La sessione potrebbe essere scaduta.
Grazie per il tuo feedback. Riceverai presto un'e-mail di conferma dell'invio. Se hai scelto di ricevere una notifica sullo stato della segnalazione, sarai contattato anche quando lo stato della segnalazione cambierà.
Parole chiave
Programma(i)
Argomento(i)
Invito a presentare proposte
(si apre in una nuova finestra) ERC-2019-STG
Vedi altri progetti per questo bandoMeccanismo di finanziamento
ERC-STG -Istituzione ospitante
70174 Stuttgart
Germania