Skip to main content
Ir a la página de inicio de la Comisión Europea (se abrirá en una nueva ventana)
español es
CORDIS - Resultados de investigaciones de la UE
CORDIS

Learning to Find Software Bugs

Descripción del proyecto

Enseñar a los ordenadores a depurar software

Un error, un defecto o un fallo de software (también conocido por el inglés «bug») es un problema en un programa o sistema informático que desencadena un resultado incorrecto o inesperado. La detección es el proceso de búsqueda de estos errores y suele requerir herramientas y técnicas formales que busquen ejemplos de patrones de error que se repiten en diferentes proyectos y dominios de aplicación. El proyecto LearnBugs, financiado con fondos europeos, intenta cambiar drásticamente la forma en que se crean las herramientas automatizadas de detección de errores. Reemplazará los programas escritos de manera manual por modelos entrenados de aprendizaje automático. Esto transformará el modo en que los desarrolladores de programas buscan errores. El proyecto aumentará la fiabilidad, la seguridad y la eficacia de sistemas de software complejos utilizados por millones de personas.

Objetivo

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

Ámbito científico (EuroSciVoc)

Palabras clave

Programa(s)

Tema(s)

Régimen de financiación

ERC-STG - Starting Grant

Ver todos los proyectos financiados en el marco de este régimen de financiación

Convocatoria de propuestas

(se abrirá en una nueva ventana) ERC-2019-STG

Ver todos los proyectos financiados en el marco de esta convocatoria

Institución de acogida

UNIVERSITY OF STUTTGART
Aportación neta de la UEn
€ 1 458 375,00
Dirección
KEPLERSTRASSE 7
70174 Stuttgart
Alemania
Región
Baden-Württemberg Stuttgart Stuttgart, Stadtkreis
Tipo de actividad
Higher or Secondary Education Establishments
Enlaces
Coste total
€ 1 458 375,00

Beneficiarios (1)