El nuevo enfoque que mejora la reparación automática de ‘software’ es capaz de identificar el 62 % de los parches incorrectos.
Imagen ilustrativa
Investigadores del Instituto Madrileño de Estudios Avanzados, en España, presentaron en la Conferencia Internacional sobre Pruebas, Verificación y Validación de Software (ICST 2024), una novedosa herramienta denominada Fixcheck, que mejora la eficacia de la validación de parches informáticos y promueve una mayor adopción de métodos automatizados de reparación de programas defectuosos.
Selección de los parches correctos
Generar parches que resuelvan los defectos en el software es una tarea fundamental en el mantenimiento de los sistemas informáticos. Por lo general, los defectos de ‘software’ se reportan a través de casos de prueba, que revelan comportamientos no deseados. A partir de estos, los desarrolladores crean parches que deben someterse a una validación antes de ser enviados a la base de código, garantizando que la prueba proporcionada ya no expone el defecto.
Sin embargo, es posible que los parches propuestos no solucionen debidamente el fallo subyacente o introduzcan nuevos fallos, lo que da lugar a parches incorrectos. La detección puede repercutir de manera significativa en el tiempo y el esfuerzo dedicados a la corrección de fallos por los desarrolladores y en el mantenimiento general de los sistemas de ‘software’. La reparación automática de programas (APR, por sus siglas en inglés) proporciona a los desarrolladores herramientas capaces de generar automáticamente parches para programas defectuosos.
Características novedosas
En un primer momento, la herramienta genera pruebas aleatorias, obteniendo un amplio conjunto de casos de prueba. Luego emplea grandes modelos de lenguaje para generar automáticamente nuevos casos de prueba que detecten fallos en parches potencialmente incorrectos. Fixcheck incluye un mecanismo de selección y priorización que ejecuta los nuevos casos de prueba sobre el programa parcheado y, a continuación, descarta o clasifica estas pruebas en función de su probabilidad de revelar fallos en el parche.
«La eficacia de Fixcheck para generar casos de prueba que revelan fallos en parches incorrectos se evaluó en 160 parches, entre los que se incluyen tanto parches creados por desarrolladores como generados por herramientas de APR», expuso Facundo Molina, uno de los desarrolladores. Según los autores, Fixcheck pudo generar pruebas efectivas de detección de fallos para el 62 % de los parches incorrectos escritos por desarrolladores para solucionar los problemas que presentan los programas informáticos, con un alto grado de confianza.