Mutación de expresiones de navegación para Testing y Reparación

Autores
Gutiérrez Brida, Simón Emmanuel
Año de publicación
2019
Idioma
español castellano
Tipo de recurso
tesis doctoral
Estado
versión publicada
Colaborador/a o director/a de tesis
Aguirre, Nazareno Matias
Descripción
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.
Fil: Gutiérrez Brida, Simón Emmanuel. Universidad Nacional de Rio Cuarto. Facultad de Cs.exactas Fisicoquímicas y Naturales. Departamento de Computación. Grupo de Ingeniería de Software; Argentina
Materia
Ingenieria de Software
Reparacion de Programas
Testing de Mutacion
Testing de Software
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc/2.5/ar/
Repositorio
CONICET Digital (CONICET)
Institución
Consejo Nacional de Investigaciones Científicas y Técnicas
OAI Identificador
oai:ri.conicet.gov.ar:11336/79909

id CONICETDig_3d45ebe5fdc96b4ba23f879e9c8fddd6
oai_identifier_str oai:ri.conicet.gov.ar:11336/79909
network_acronym_str CONICETDig
repository_id_str 3498
network_name_str CONICET Digital (CONICET)
spelling Mutación de expresiones de navegación para Testing y ReparaciónGutiérrez Brida, Simón EmmanuelIngenieria de SoftwareReparacion de ProgramasTesting de MutacionTesting de Softwarehttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1Verificar 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.Fil: Gutiérrez Brida, Simón Emmanuel. Universidad Nacional de Rio Cuarto. Facultad de Cs.exactas Fisicoquímicas y Naturales. Departamento de Computación. Grupo de Ingeniería de Software; ArgentinaAguirre, Nazareno Matias2019-03-29info:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_db06info:ar-repo/semantics/tesisDoctoralapplication/pdfapplication/pdfhttp://hdl.handle.net/11336/79909Gutiérrez Brida, Simón Emmanuel; Aguirre, Nazareno Matias; Mutación de expresiones de navegación para Testing y Reparación; 29-3-2019CONICET DigitalCONICETspainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2025-09-03T09:43:35Zoai:ri.conicet.gov.ar:11336/79909instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982025-09-03 09:43:35.526CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse
dc.title.none.fl_str_mv Mutación de expresiones de navegación para Testing y Reparación
title Mutación de expresiones de navegación para Testing y Reparación
spellingShingle Mutación de expresiones de navegación para Testing y Reparación
Gutiérrez Brida, Simón Emmanuel
Ingenieria de Software
Reparacion de Programas
Testing de Mutacion
Testing de Software
title_short Mutación de expresiones de navegación para Testing y Reparación
title_full Mutación de expresiones de navegación para Testing y Reparación
title_fullStr Mutación de expresiones de navegación para Testing y Reparación
title_full_unstemmed Mutación de expresiones de navegación para Testing y Reparación
title_sort Mutación de expresiones de navegación para Testing y Reparación
dc.creator.none.fl_str_mv Gutiérrez Brida, Simón Emmanuel
author Gutiérrez Brida, Simón Emmanuel
author_facet Gutiérrez Brida, Simón Emmanuel
author_role author
dc.contributor.none.fl_str_mv Aguirre, Nazareno Matias
dc.subject.none.fl_str_mv Ingenieria de Software
Reparacion de Programas
Testing de Mutacion
Testing de Software
topic Ingenieria de Software
Reparacion de Programas
Testing de Mutacion
Testing de Software
purl_subject.fl_str_mv https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
dc.description.none.fl_txt_mv 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.
Fil: Gutiérrez Brida, Simón Emmanuel. Universidad Nacional de Rio Cuarto. Facultad de Cs.exactas Fisicoquímicas y Naturales. Departamento de Computación. Grupo de Ingeniería de Software; Argentina
description 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.
publishDate 2019
dc.date.none.fl_str_mv 2019-03-29
dc.type.none.fl_str_mv info:eu-repo/semantics/doctoralThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_db06
info:ar-repo/semantics/tesisDoctoral
format doctoralThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/11336/79909
Gutiérrez Brida, Simón Emmanuel; Aguirre, Nazareno Matias; Mutación de expresiones de navegación para Testing y Reparación; 29-3-2019
CONICET Digital
CONICET
url http://hdl.handle.net/11336/79909
identifier_str_mv Gutiérrez Brida, Simón Emmanuel; Aguirre, Nazareno Matias; Mutación de expresiones de navegación para Testing y Reparación; 29-3-2019
CONICET Digital
CONICET
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc/2.5/ar/
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc/2.5/ar/
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.source.none.fl_str_mv reponame:CONICET Digital (CONICET)
instname:Consejo Nacional de Investigaciones Científicas y Técnicas
reponame_str CONICET Digital (CONICET)
collection CONICET Digital (CONICET)
instname_str Consejo Nacional de Investigaciones Científicas y Técnicas
repository.name.fl_str_mv CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas
repository.mail.fl_str_mv dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar
_version_ 1842268611946741760
score 13.13397