Catálogo de publicaciones - tesis
Título de Acceso Abierto
Mutación de expresiones de navegación para Testing y Reparación
Simón Emmanuel Gutiérrez Brida Nazareno Matias Aguirre
publishedVersion.
Resumen/Descripción – provisto por el repositorio digital
Verificar que un sistema de software realiza correctamente las tareas para las cuales fue desarrollado es una de las actividades de mayor importancia en Ingeniería de Software, y concentra un significativo esfuerzo de investigación en esta área. El testing, el cual consiste en ejecutar un programa a evaluar en un conjunto de escenarios particulares y contrastar el comportamiento esperado del programa con el efectivamente obtenido, es una de las técnicas más utilizadas como forma de comprobación del correcto comportamiento del software. Dada la inherente incompletitud de testing, resulta necesario realizar una selección adecuada de los escenarios bajos los cuales realizar la evaluación. Claramente, como esta evaluación es realizada va a afectar la confianza que genere el proceso de testing, cuando la ejecución real del software coincida con la esperada, y las chances de detectar defectos en el software durante este proceso. Concretamente, se espera que el conjunto de escenarios seleccionado para el proceso de testing sea un buen representante de todos los posibles escenarios de ejecución del software en cuestión. Los criterios de testing permiten medir la calidad de un conjunto de tests generando objetivos a ser cubiertos, y evaluando cuántos de estos son satisfechos (cubiertos) por los tests. Mutation testing es uno de estos criterios, y consiste en inyectar fallas artificiales en el software bajo evaluación, y evaluar la capacidad de detección, por parte de los tests, de estas fallas. Las fallas generadas por mutation testing se basan en operadores de mutación.Estos operadores deben ser buenos representantes de fallas reales, y tradicionalmente involucran cambios simples, tales como el reemplazo de operadores aritméticos y relacionales. Algunos estudios recientes muestran sin embargo que algunas clases de fallas no se ven representadas por los operadores de mutación tradicionales, motivando así la introducción de nuevos operadores.En esta tesis presentaremos un nuevo operador de mutación, que aplica a expresiones de navegación, un tipo de expresiones ampliamente utilizadas en programas orientados a objetos, y que no se ven afectadas por los operadores de mutación clásicos. Daremos una definición precisa del operador, y evaluaremos su aplicación tanto en el contexto de testing (mutation testing), como en el contexto de reparación de programas.Palabras clave – provistas por el repositorio digital
Ingenieria de Software; Reparacion de Programas; Testing de Mutacion; Testing de Software; Ciencias de la Computación; Ciencias de la Computación e Información; CIENCIAS NATURALES Y EXACTAS
Disponibilidad
Institución detectada | Año de publicación | Navegá | Descargá | Solicitá |
---|---|---|---|---|
No requiere | 2019 | Repositorio Digital Universitario (SNRD) | ||
No requiere | 2019 | CONICET Digital (SNRD) |
Información
Tipo de recurso:
tesis
Idiomas de la publicación
- español castellano
País de edición
Argentina
Fecha de publicación
2019-03-29
Información sobre licencias CC