Los puntos clave no están disponibles para este artículo en este momento.
Los recientes avances en las técnicas de reparación de programas han suscitado la posibilidad de corregir errores automáticamente. Para que un parche generado automáticamente sea aceptado por los desarrolladores, no solo debe resolver el error, sino también satisfacer ciertos factores relacionados con los humanos, incluyendo la legibilidad y la comprensión. En este documento, nos enfocamos en la simplicidad de los parches (el tamaño de los cambios). Presentamos un nuevo método de reparación basado en la semántica que genera el parche más simple de tal manera que la estructura del programa con errores se conserva al máximo. Para tener en cuenta la simplicidad de las reparaciones de manera eficiente (es decir, sin enumerar explícitamente cada candidato a reparación para cada ubicación de falla), nuestro método fusiona la localización de fallos y la generación de reparaciones en un solo paso. Lo hacemos aprovechando la resolución de restricciones parciales de Max SAT y la síntesis de programas basada en componentes. Comparamos nuestra implementación prototipo, Direct Fix, con la herramienta de reparación basada en semántica de última generación Sem Fix, que realiza la localización de fallos antes de la generación de reparaciones. En nuestros experimentos con programas SIR y GNU Coreutils, Direct Fix genera reparaciones que son más simples que las generadas por Sem Fix. Dado que tanto Direct Fix como Sem Fix son herramientas de reparación dirigidas por pruebas, pueden introducir regresiones para otras pruebas que no impulsan la reparación. Encontramos que Direct Fix causa sustancialmente menos errores de regresión que Sem Fix.
Mechtaev et al. (Vie,) estudiaron esta cuestión.