Skip to main content
European Commission logo
español español
CORDIS - Resultados de investigaciones de la UE
CORDIS

Natural Program Repair

Descripción del proyecto

Una metodología innovadora para la corrección automática de errores de programación

En los últimos años, el campo de la ingeniería de «software» ha suscitado mucho interés y ha adquirido impulso gracias a su capacidad para poder emplearse en casi cualquier otro ámbito. Con todo, a pesar de su popularidad, la ingeniería de «software» se ha enfrentado a muchos problemas desde sus inicios. Por ejemplo, aún pueden surgir errores de programación, que pueden tener resultados impredecibles para el «software». Por ello, la corrección automática de errores de programación ha constituido desde siempre una cuestión de gran interés para la comunidad de ingenieros de «software». Así las cosas, los intentos para desarrollar una tecnología de estas características han chocado con problemas relacionados con la metodología empleada. El proyecto NATURAL, financiado con fondos europeos, se propone desarrollar un colaborador de «software» capaz de sintetizar código informático mediante el empleo de una descripción basada en el lenguaje natural de un problema al que se enfrenta el usuario. Se espera que la nueva tecnología transforme totalmente la ingeniería de «software».

Objetivo

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.

Régimen de financiación

ERC-STG - Starting Grant

Institución de acogida

UNIVERSITE DU LUXEMBOURG
Aportación neta de la UEn
€ 1 495 988,00
Dirección
2 PLACE DE L'UNIVERSITE
4365 ESCH-SUR-ALZETTE
Luxemburgo

Ver en el mapa

Región
Luxembourg Luxembourg Luxembourg
Tipo de actividad
Higher or Secondary Education Establishments
Enlaces
Coste total
€ 1 495 988,00

Beneficiarios (1)