IMDEA Software lanza un nuevo enfoque que mejora la reparación automática de software
Instituto IMDEA Software de la Comunidad de Madrid |
· El enfoque de los investigadores de IMDEA Software revela fallos y previene la introducción de correcciones inadecuadas en el software
· La herramienta FIXCHECK ofrece una solución robusta y efectiva en el campo del mantenimiento de software
23 julio 2024.- Los investigadores de IMDEA Software Facundo Molina, Juan Manuel Copia y Alessandra Gorla presentan FIXCHECK, un enfoque novedoso para mejorar los análisis de corrección de parches que combina análisis estáticos, pruebas aleatorias y grandes modelos de lenguaje. Sus innovaciones, plasmadas en el artículo: “Improving Patch Correctness Analysis via Random Testing and Large Language Models” fueron presentadas en la Conferencia Internacional sobre Pruebas, Verificación y Validación de Software (ICST 2024).
Contexto
Generar parches que resuelvan los defectos en el software es una tarea crucial 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 en el software.
En respuesta a estos defectos, los desarrolladores crean parches que deben someterse a 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 no solucionen debidamente el fallo subyacente o introduzcan nuevos fallos, lo que da lugar a parches incorrectos.
La detección de estos parches incorrectos 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.
El estudio
La reparación automática de programas (APR por sus siglas en inglés), proporciona a los desarrolladores de software herramientas capaces de generar automáticamente parches para programas defectuosos. Sin embargo, su uso ha destapado numerosos errores en estos parches que no solventan los fallos de manera adecuada.
Para abordar este problema, los investigadores de IMDEA Software han creado FIXCHECK, un método innovador que combina pruebas aleatorias y grandes modelos lingüísticos para generar automáticamente nuevos casos con el objetivo de detectar fallos en parches potencialmente incorrectos. FIXCHECK emplea un proceso de dos pasos. El primero consiste en generar pruebas aleatorias, obteniendo un amplio conjunto de casos de prueba. El segundo paso se basa en el uso de grandes modelos de lenguaje, de los cuales se derivan oráculos significativos para cada caso de prueba.
Además, 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 incluían tanto parches creados por desarrolladores como generados por herramientas de APR” indica Facundo Molina, investigador postdoctoral del Instituto IMDEA Software.
Los resultados muestran que FIXCHECK puede generar eficazmente pruebas de detección de fallos para el 62% de los parches incorrectos escritos por desarrolladores, con un alto grado de confianza. Además, complementa técnicas existentes de evaluación de corrección de parches al proporcionar casos de prueba que revelan fallos para hasta el 50% de los parches incorrectos identificados por las técnicas más avanzadas.
FIXCHECK representa un avance significativo en el campo de la reparación y mantenimiento del software, ya que ofrece una solución robusta para automatizar la generación de pruebas y detectar fallos durante el mantenimiento del software. Este enfoque no sólo mejora la eficacia de la validación de parches, sino que también promueve una adopción más amplia de métodos automatizados de reparación de programas.
**Este trabajo ha sido financiado por el programa de la Comunidad de Madrid S2018/TCS-4339 (BLOQUES-CM) y por el Gobierno de España MCIN/AEI/10.13039/
Referencia bibliográfica:
Molina, F., Copia, J. M., & Gorla, A. (2024). Improving Patch Correctness Analysis via Random Testing and Large Language Models (Replication Package). Zenodo. https://doi.org/10.5281/
Sobre el Instituto IMDEA Software
IMDEA Software forma parte de una red de siete centros internacionales de investigación promovida por la Comunidad de Madrid. El Instituto asume el reto de mejorar las técnicas actuales de desarrollo de software con el fin de alcanzar el nivel adecuado de fiabilidad, seguridad y rendimiento, de una manera rentable. Para más información, visite: https://software.imdea.org.
COMENTARIOS