Ayuda
Ir al contenido

Dialnet


Resumen de El Origen de los Errores en el Software: Un modelo para Identificar Cómo se Introducen Errores en el Software

Gema Rodríguez Pérez, Gregorio Robles, Alexander Serebrenik, Andy Zaidman, Daniel German, Jesús M. González Barahona

  • A la hora de identificar el origen de los errores en el software, muchos estudios asumen que +ACI-el error fue introducido en las líneas de código que se modificaron para solucionarlo+ACI. Sin embargo, esta suposición no siempre se cumple, ya que al menos en algunos casos esas líneas que se modificaron no fueron las causantes. As+AO0 pasa, por ejemplo, cuando el error es debido a un cambio en una API externa. La falta de evidencia empírica hace imposible evaluar la importancia de estos casos y, por lo tanto, en qu+AOk medida la suposición que comentábamos anteriormente es válida. Para avanzar en esta dirección y comprender mejor cómo nacen los errores, proponemos un modelo de definición de criterios para identificar cuándo un sistema de software en evolución presenta un error. Este modelo, basado en la idea de prueba perfecta, permite reconocer si se ha introducido un error al cambiar el software. Además, estudiamos los criterios del modelo analizando cuidadosamente cómo se introdujeron 116 errores en dos proyectos de software libre. El análisis manual ha ayudado a clasificar la causa de los errores y ha permitido crear manualmente dos conjuntos de datos con cambios que introducen errores y con errores que no fueron introducidos por ningún cambio en el código fuente. Finalmente, usamos estos conjuntos de datos para evaluar el rendimiento de cuatro algoritmos existentes basados en SZZ para detectar los cambios que introducen errores. Hemos descubierto que los algoritmos basados en SZZ no son muy precisos, especialmente cuando se encuentran múltiples confirmaciones+ADs el F-Score varía de 0,44 a 0,77, mientras que el porcentaje de verdaderos positivos no supera el 63+ACU. Nuestros resultados muestran evidencia empírica de que la suposición predominante, +AGAAYA-un error fue introducido por las líneas de código que se modificaron para solucionarlo'', es solo un caso de cómo se introducen errores en un sistema de software. Hemos podido comprobar que encontrar qu+AOk introdujo un error no es trivial: los desarrolladores pueden introducir errores en el código, pero también pueden aparecer errores independientemente del código. Por lo tanto, necesitamos seguir investigando para una mejor comprensión del origen de los errores en los proyectos de software que pueda ayudar a mejorar las pruebas de integración del diseño y a diseñar otros procedimientos que hagan que el desarrollo de software sea más robusto.


Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus