SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
WODEL-TEST:
A MODEL-BASED FRAMEWORK
FOR LANGUAGE-INDEPENDENT
MUTATION TESTING
P. Gómez-Abajo , E. Guerra, J. de Lara
Modelling&Software Engineering Research Group
http://miso.es
Universidad Autónoma de Madrid (Spain)
JISBD, Septiembre 2021
Mercedes G. Merayo
Design and Testing of Reliable Systems Research Group
http://antares.sip.ucm.es/testing
Universidad Complutense de Madrid (Spain)
MOTIVACIÓN
• Las herramientas de pruebas de mutación son
• específicas para un lenguaje
• se desarrollan manualmente
• tienen un alto coste de mantenimiento
2
Se propone el entorno Wodel-Test - extensión a Wodel
para la generación de herramientas
de pruebas de mutación
Se implementan dos herramientas de pruebas de mutación
Wodel-Test para Java y Wodel-Test para ATL
¿QUÉ SON LAS PRUEBAS
DE MUTACIÓN?
• Enfoque de pruebas de
software para evaluar la
calidad de los conjuntos de
pruebas
• Introducción de cambios
sintácticos en un programa
mediante operadores de
mutación
• Las mutaciones introducidas
emulan fallos comunes de
programación
• Facilita mejorar la calidad de
los conjuntos de pruebas
3
PROCESO DE WODEL-TEST
4
HERRAMIENTA DE PRUEBAS DE
MUTACIÓN PARA JAVA
5
HERRAMIENTA DE PRUEBAS DE
MUTACIÓN GENERADA
1. Explorador de proyectos
2. Ejemplo de programa mutante
3. Conjunto de pruebas
4. Resultados globales del
proceso de pruebas de
mutación
6
EVALUACIÓN
7
RQ1
¿Permite Wodel-Test crear herramientas de pruebas de
mutación con capacidades similares a las herramientas de
pruebas de mutación creadas manualmente?
• Comparativa de Wodel-Test para Java con herramientas existentes de
pruebas de mutación para Java
•
• Implementación de Wodel-Test para ATL con los operadores de mutación
introducidos en Troya et al.[1]
[1] Troya, J., Bergmayr, A., Burgueño, L. y Wimmer, M.: Towards systematic mutations for and with ATL model
transformations. En International conference on software testing, verification and validation workshops (ICSTW),
págs. 1–10, 2015
RQ2
¿Wodel-Test es efectivo para especificar herramientas de
pruebas de mutación?
EVALUACIÓN RQ1
8
Major Javalanche PITest LittleDarwin muJava Wodel-Test/Java
N. de operadores 30 (por
defecto)
19 40 28 47 77 (por defecto)
Extensibilidad de
ops.
Sí (DSL) No API No No Sí (DSL)
Artefacto mutado Bytecode Bytecode Bytecode AST Bytecode Modelo
Código del
mutante
No No Sí Sí Sí Sí
Detección
equivalentes
No Sí (invariantes
dinámicas)
No No No Sí (TCE)
Tipo de informe CSV HTML HTML HTML GUI Vistas interactivas
Número de
mutantes
Mutation score
Mutantes
muertos/vivos
Número Número Número Número Número, lista Número, lista
Cobertura de
operadores
Número Número Número Número, lista Número, lista
Mutantes por clase
Mutantes por
prueba
Pruebas por
mutante
✓ ✓ ✓ ✓
✓ ✓ ✓ ✓

  
   
✓
   
✓
✓
✓
✓
✓
✓
✓
✓
✓

RQ1
Capacidades similares?
• Aplicación del proceso de pruebas de mutación sobre el proyecto functional-
matrix1:
• 1https://github.com/soursop/functional-matrix-operator
Herramienta Mutantes
(muertos/vivos)
Mutation
score (%)
Tiempo
ejecución
Tiempo por
mutante (s)
Major 1638 (331/864) 20,21 13 h 42 m 40s 30,14
PITest 918 (321/597) 34,97 1 h 11 m 20 s 4,66
LittleDarwin 439 (130/309) 29,61 3 h 30 m 39 s 28,79
muJava 2589 (557/2032) 21,51 5 h 30 m 10 s 7,65
Wodel-
Test/Java
4756 (985/3771) 20,71 3 h 24 m 23 s 2,58
9
EVALUACIÓN RQ1
RQ1
Capacidades similares?
• Aplicación del proceso de pruebas de mutación sobre el proyecto functional-
matrix1:
• 1https://github.com/soursop/functional-matrix-operator
Herramienta Mutantes
(muertos/vivos)
Mutation
score (%)
Tiempo
ejecución
Tiempo por
mutante (s)
Major 1638 (331/864) 20,21 13 h 42 m 40s 30,14
PITest 918 (321/597) 34,97 1 h 11 m 20 s 4,66
LittleDarwin 439 (130/309) 29,61 3 h 30 m 39 s 28,79
muJava 2589 (557/2032) 21,51 5 h 30 m 10 s 7,65
Wodel-
Test/Java
4756 (985/3771) 20,71 3 h 24 m 23 s 2,58
10
EVALUACIÓN RQ1
RQ1
Capacidades similares?
RQ1: Sí, Wodel-Test genera herramientas
de MT con capacidades similares
EVALUACIÓN RQ2
• Wodel-Test para ATL con los operadores de mutación
introducidos en el trabajo de Troya et al.
• El prototipo de Troya et al. es un generador de mutantes
• Wodel-Test para ATL proporciona la funcionalidad completa de
una herramienta de pruebas de mutación para este lenguaje
11
RQ2
Es efectivo?
EVALUACIÓN RQ2
• Operadores de mutación para ATL
Concepto Operador de
mutación
LOC en Wodel LOC en ATL
Regla Creación
Borrado
Cambio de nombre
1
1
1
-
-
-
Elemento de patrón de entrada Creación
Borrado
Cambio de tipo
Cambio de nombre
6
1
4
1
14
-
-
-
Filtro de regla Creación
Borrado
Cambio de condición
10
1
4
-
-
-
Elemento de patrón de salida Creación
Borrado
Cambio de tipo
Cambio de nombre
6
1
4
1
-
6
-
-
Binding Creación
Borrado
Cambio de valor
Cambio de propiedad
6
1
2
6
-
3
-
-
12
RQ2
Es efectivo?
EVALUACIÓN RQ2
• Operadores de mutación para ATL
Concepto Operador de
mutación
LOC en Wodel LOC en ATL
Regla Creación
Borrado
Cambio de nombre
1
1
1
-
-
-
Elemento de patrón de entrada Creación
Borrado
Cambio de tipo
Cambio de nombre
6
1
4
1
14
-
-
-
Filtro de regla Creación
Borrado
Cambio de condición
10
1
4
-
-
-
Elemento de patrón de salida Creación
Borrado
Cambio de tipo
Cambio de nombre
6
1
4
1
-
6
-
-
Binding Creación
Borrado
Cambio de valor
Cambio de propiedad
6
1
2
6
-
3
-
-
13
RQ2
Es efectivo?
RQ2: Sí, Wodel-Test es efectivo
CONCLUSIONES
14
• Wodel-Test proporciona una funcionalidad comparable a la de las
herramientas de pruebas de mutación existentes para Java
• Wodel-Test puede ser una mejor opción:
• Acceso al código fuente de los mutantes
• Razonar sobre qué mutantes reducen el mutation score y por qué
• Experimentar con nuevos operadores de mutación
• Las herramientas de pruebas de mutación existentes requieren dos
órdenes de magnitud más de código que la especificación de un entorno
similar utilizando Wodel-Test
• Trabajo futuro
• Abordar programas más grandes
• Optimizaciones del proceso de pruebas de mutación
• Estudio con usuarios para analizar la usabilidad
15
Sitios web de Wodel & Wodel-Test:
http://gomezabajo.github.io/Wodel/
http://gomezabajo.github.io/Wodel/Wodel-Test/
16
ARQUITECTURA DE WODEL-TEST
motor de
WODEL
equivalencia
sintáctica
WODEL-TEST
postProc
2
1
LanguageService
Provider
projectToModel()
modelToProject()
annotateMutation()
compile()
run()
3
equivalencia
semántica
ESPEC MT DEL
LENGUAJE
equivalencia
EMFCompare
«interfaz»
«requiere»
«utiliza»
4
Trivial
compiler
equivalence
«utiliza»
registro
de mutación
programas WODEL
(meta-modelo + ops. mutación)
«incluye»

Más contenido relacionado

La actualidad más candente

Validacion Y Verificacion
Validacion Y VerificacionValidacion Y Verificacion
Validacion Y Verificacionjose haar
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetseusonlito
 
Proyecto de sistemas de información luis castellanos (prueba)
Proyecto de sistemas de información   luis castellanos (prueba)Proyecto de sistemas de información   luis castellanos (prueba)
Proyecto de sistemas de información luis castellanos (prueba)Luis R Castellanos
 
Programacion logica y funcional ejer1
Programacion logica y funcional ejer1Programacion logica y funcional ejer1
Programacion logica y funcional ejer1isidro luna beltran
 
oTema6 pruebas del software
oTema6 pruebas del softwareoTema6 pruebas del software
oTema6 pruebas del softwareSilvia Guilcapi
 
Estrategias de aplicaciones para las pruebas de integración
Estrategias  de aplicaciones para las pruebas de integraciónEstrategias  de aplicaciones para las pruebas de integración
Estrategias de aplicaciones para las pruebas de integraciónPablo Navarrete
 
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.Isabel Gómez
 
Validacion verificacion
Validacion verificacionValidacion verificacion
Validacion verificacionaruedaj
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaMartha Beatriz Coronado Rosales
 
Manejo de Pruebas Técnicas de Software: pt. 2
Manejo de Pruebas Técnicas de Software: pt. 2Manejo de Pruebas Técnicas de Software: pt. 2
Manejo de Pruebas Técnicas de Software: pt. 2Lia IS
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NETAngel Nuñez
 
No debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDDNo debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDDreyiyo
 
Taller de procesos de software
Taller de procesos de softwareTaller de procesos de software
Taller de procesos de softwaremilo9876
 

La actualidad más candente (20)

Tecnicas de Pruebas
 Tecnicas de Pruebas  Tecnicas de Pruebas
Tecnicas de Pruebas
 
tipos de pruebas
tipos de pruebastipos de pruebas
tipos de pruebas
 
Validacion Y Verificacion
Validacion Y VerificacionValidacion Y Verificacion
Validacion Y Verificacion
 
Caja negra
Caja negraCaja negra
Caja negra
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnets
 
Proyecto de sistemas de información luis castellanos (prueba)
Proyecto de sistemas de información   luis castellanos (prueba)Proyecto de sistemas de información   luis castellanos (prueba)
Proyecto de sistemas de información luis castellanos (prueba)
 
Programacion logica y funcional ejer1
Programacion logica y funcional ejer1Programacion logica y funcional ejer1
Programacion logica y funcional ejer1
 
oTema6 pruebas del software
oTema6 pruebas del softwareoTema6 pruebas del software
oTema6 pruebas del software
 
Prueba de aplicaciones
Prueba de aplicacionesPrueba de aplicaciones
Prueba de aplicaciones
 
Estrategias de aplicaciones para las pruebas de integración
Estrategias  de aplicaciones para las pruebas de integraciónEstrategias  de aplicaciones para las pruebas de integración
Estrategias de aplicaciones para las pruebas de integración
 
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
 
Validacion verificacion
Validacion verificacionValidacion verificacion
Validacion verificacion
 
Pruebas
PruebasPruebas
Pruebas
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAva
 
Manejo de Pruebas Técnicas de Software: pt. 2
Manejo de Pruebas Técnicas de Software: pt. 2Manejo de Pruebas Técnicas de Software: pt. 2
Manejo de Pruebas Técnicas de Software: pt. 2
 
Unit testing
Unit testingUnit testing
Unit testing
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NET
 
No debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDDNo debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDD
 
Prueba
PruebaPrueba
Prueba
 
Taller de procesos de software
Taller de procesos de softwareTaller de procesos de software
Taller de procesos de software
 

Similar a Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing (spanish)

Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
 
Grammarware engineering: un enfoque dirigido por modelos
Grammarware engineering: un enfoque dirigido por modelosGrammarware engineering: un enfoque dirigido por modelos
Grammarware engineering: un enfoque dirigido por modelosPatxi Gortázar
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?TestingUy
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
 
Testing como parte de la cultura DevOps
Testing como parte de la cultura DevOpsTesting como parte de la cultura DevOps
Testing como parte de la cultura DevOpsAbel Quintana Lopez
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfFederico Toledo
 
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasWebinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasatSistemas
 
15 Upm Solo Pruebas 2009
15 Upm Solo Pruebas 200915 Upm Solo Pruebas 2009
15 Upm Solo Pruebas 2009Pepe
 
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...LeonelCortes5
 
INDUCCION A QA TESTER.pptx
INDUCCION A QA TESTER.pptxINDUCCION A QA TESTER.pptx
INDUCCION A QA TESTER.pptxOdalisLinares
 

Similar a Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing (spanish) (20)

Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
 
Introducción a tdd
Introducción a tddIntroducción a tdd
Introducción a tdd
 
Grammarware engineering: un enfoque dirigido por modelos
Grammarware engineering: un enfoque dirigido por modelosGrammarware engineering: un enfoque dirigido por modelos
Grammarware engineering: un enfoque dirigido por modelos
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
Entregables de pruebas
Entregables de pruebasEntregables de pruebas
Entregables de pruebas
 
Testing como parte de la cultura DevOps
Testing como parte de la cultura DevOpsTesting como parte de la cultura DevOps
Testing como parte de la cultura DevOps
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
Grails barcamp 2013
Grails barcamp 2013Grails barcamp 2013
Grails barcamp 2013
 
Rup
RupRup
Rup
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
 
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasWebinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
 
15 Upm Solo Pruebas 2009
15 Upm Solo Pruebas 200915 Upm Solo Pruebas 2009
15 Upm Solo Pruebas 2009
 
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
 
ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidencias
 
INDUCCION A QA TESTER.pptx
INDUCCION A QA TESTER.pptxINDUCCION A QA TESTER.pptx
INDUCCION A QA TESTER.pptx
 

Más de Pablo Gómez Abajo

Wodel-Edu: A tool for the generation and evaluation of diagram-based exercises
Wodel-Edu: A tool for the generation and evaluation of diagram-based exercisesWodel-Edu: A tool for the generation and evaluation of diagram-based exercises
Wodel-Edu: A tool for the generation and evaluation of diagram-based exercisesPablo Gómez Abajo
 
Automated engineering of domain-specific metamorphic testing environments
Automated engineering of domain-specific metamorphic testing environmentsAutomated engineering of domain-specific metamorphic testing environments
Automated engineering of domain-specific metamorphic testing environmentsPablo Gómez Abajo
 
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing
Wodel-Test: A Model-Based Framework for Language-Independent Mutation TestingWodel-Test: A Model-Based Framework for Language-Independent Mutation Testing
Wodel-Test: A Model-Based Framework for Language-Independent Mutation TestingPablo Gómez Abajo
 
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...Pablo Gómez Abajo
 
Generation of mutation testing tools with Wodel-Test
Generation of mutation testing tools with Wodel-TestGeneration of mutation testing tools with Wodel-Test
Generation of mutation testing tools with Wodel-TestPablo Gómez Abajo
 
Programación de macros en Microsoft Excel VBA
Programación de macros en Microsoft Excel VBAProgramación de macros en Microsoft Excel VBA
Programación de macros en Microsoft Excel VBAPablo Gómez Abajo
 
Seed Model Synthesis for Testing Model-based Mutation Operators
Seed Model Synthesis for Testing Model-based Mutation OperatorsSeed Model Synthesis for Testing Model-based Mutation Operators
Seed Model Synthesis for Testing Model-based Mutation OperatorsPablo Gómez Abajo
 
Mutation Testing for DSLs (Tool Demo)
Mutation Testing for DSLs (Tool Demo)Mutation Testing for DSLs (Tool Demo)
Mutation Testing for DSLs (Tool Demo)Pablo Gómez Abajo
 
Towards a model-driven engineering solution for language independent mutation...
Towards a model-driven engineering solution for language independent mutation...Towards a model-driven engineering solution for language independent mutation...
Towards a model-driven engineering solution for language independent mutation...Pablo Gómez Abajo
 
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...Pablo Gómez Abajo
 
A DSL for Model Mutation and its Applications to Different Domains
A DSL for Model Mutation and its Applications to Different DomainsA DSL for Model Mutation and its Applications to Different Domains
A DSL for Model Mutation and its Applications to Different DomainsPablo Gómez Abajo
 
Wodel: A Domain-Specific Language for Model Mutation
Wodel: A Domain-Specific Language for Model MutationWodel: A Domain-Specific Language for Model Mutation
Wodel: A Domain-Specific Language for Model MutationPablo Gómez Abajo
 

Más de Pablo Gómez Abajo (12)

Wodel-Edu: A tool for the generation and evaluation of diagram-based exercises
Wodel-Edu: A tool for the generation and evaluation of diagram-based exercisesWodel-Edu: A tool for the generation and evaluation of diagram-based exercises
Wodel-Edu: A tool for the generation and evaluation of diagram-based exercises
 
Automated engineering of domain-specific metamorphic testing environments
Automated engineering of domain-specific metamorphic testing environmentsAutomated engineering of domain-specific metamorphic testing environments
Automated engineering of domain-specific metamorphic testing environments
 
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing
Wodel-Test: A Model-Based Framework for Language-Independent Mutation TestingWodel-Test: A Model-Based Framework for Language-Independent Mutation Testing
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing
 
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
 
Generation of mutation testing tools with Wodel-Test
Generation of mutation testing tools with Wodel-TestGeneration of mutation testing tools with Wodel-Test
Generation of mutation testing tools with Wodel-Test
 
Programación de macros en Microsoft Excel VBA
Programación de macros en Microsoft Excel VBAProgramación de macros en Microsoft Excel VBA
Programación de macros en Microsoft Excel VBA
 
Seed Model Synthesis for Testing Model-based Mutation Operators
Seed Model Synthesis for Testing Model-based Mutation OperatorsSeed Model Synthesis for Testing Model-based Mutation Operators
Seed Model Synthesis for Testing Model-based Mutation Operators
 
Mutation Testing for DSLs (Tool Demo)
Mutation Testing for DSLs (Tool Demo)Mutation Testing for DSLs (Tool Demo)
Mutation Testing for DSLs (Tool Demo)
 
Towards a model-driven engineering solution for language independent mutation...
Towards a model-driven engineering solution for language independent mutation...Towards a model-driven engineering solution for language independent mutation...
Towards a model-driven engineering solution for language independent mutation...
 
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
 
A DSL for Model Mutation and its Applications to Different Domains
A DSL for Model Mutation and its Applications to Different DomainsA DSL for Model Mutation and its Applications to Different Domains
A DSL for Model Mutation and its Applications to Different Domains
 
Wodel: A Domain-Specific Language for Model Mutation
Wodel: A Domain-Specific Language for Model MutationWodel: A Domain-Specific Language for Model Mutation
Wodel: A Domain-Specific Language for Model Mutation
 

Último

Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...GloriaMeza12
 
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdffrank0071
 
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...Juan Carlos Fonseca Mata
 
Carbohidratos, lipidos, acidos nucleicos, y principios del metabolismo.
Carbohidratos, lipidos, acidos nucleicos, y principios del metabolismo.Carbohidratos, lipidos, acidos nucleicos, y principios del metabolismo.
Carbohidratos, lipidos, acidos nucleicos, y principios del metabolismo.Ralvila5
 
Campo_magnético_y_fuerzas_magnéticas.pdf
Campo_magnético_y_fuerzas_magnéticas.pdfCampo_magnético_y_fuerzas_magnéticas.pdf
Campo_magnético_y_fuerzas_magnéticas.pdfArturoDavilaObando
 
Módulo de oftalmología en cirugia general.pptx
Módulo de oftalmología en cirugia general.pptxMódulo de oftalmología en cirugia general.pptx
Módulo de oftalmología en cirugia general.pptxLuisGuzmnHernndez1
 
SEMIOLOGIA RESPIRATORIA, CLINICA BASICA .pdf
SEMIOLOGIA RESPIRATORIA, CLINICA BASICA .pdfSEMIOLOGIA RESPIRATORIA, CLINICA BASICA .pdf
SEMIOLOGIA RESPIRATORIA, CLINICA BASICA .pdfrvillegasp16001
 
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...frank0071
 
artropodos fusion 2024 clase universidad de chile
artropodos fusion 2024 clase universidad de chileartropodos fusion 2024 clase universidad de chile
artropodos fusion 2024 clase universidad de chilecatabarria8
 
Fowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdfFowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdffrank0071
 
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismoPIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismoArturoDavilaObando
 
Informe Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena ParadasInforme Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena ParadasRevista Saber Mas
 
tecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptxtecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptxJESUSDANIELYONGOLIVE
 
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdfLEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdfrvillegasp16001
 
el lugar santo y santisimo final.pptx y sus partes
el lugar santo y santisimo final.pptx y sus partesel lugar santo y santisimo final.pptx y sus partes
el lugar santo y santisimo final.pptx y sus partesAsihleyyanguez
 
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...frank0071
 
registro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionregistro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionMarcoAntonioJimenez14
 
DIAPOSITIVASDEPRIMERACATEGORIAIIPARTE (1).pptx
DIAPOSITIVASDEPRIMERACATEGORIAIIPARTE (1).pptxDIAPOSITIVASDEPRIMERACATEGORIAIIPARTE (1).pptx
DIAPOSITIVASDEPRIMERACATEGORIAIIPARTE (1).pptxprofesionalscontable
 
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...frank0071
 
Van Young, Eric. - La otra rebelión. La lucha por la independencia de México,...
Van Young, Eric. - La otra rebelión. La lucha por la independencia de México,...Van Young, Eric. - La otra rebelión. La lucha por la independencia de México,...
Van Young, Eric. - La otra rebelión. La lucha por la independencia de México,...frank0071
 

Último (20)

Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
 
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
 
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
 
Carbohidratos, lipidos, acidos nucleicos, y principios del metabolismo.
Carbohidratos, lipidos, acidos nucleicos, y principios del metabolismo.Carbohidratos, lipidos, acidos nucleicos, y principios del metabolismo.
Carbohidratos, lipidos, acidos nucleicos, y principios del metabolismo.
 
Campo_magnético_y_fuerzas_magnéticas.pdf
Campo_magnético_y_fuerzas_magnéticas.pdfCampo_magnético_y_fuerzas_magnéticas.pdf
Campo_magnético_y_fuerzas_magnéticas.pdf
 
Módulo de oftalmología en cirugia general.pptx
Módulo de oftalmología en cirugia general.pptxMódulo de oftalmología en cirugia general.pptx
Módulo de oftalmología en cirugia general.pptx
 
SEMIOLOGIA RESPIRATORIA, CLINICA BASICA .pdf
SEMIOLOGIA RESPIRATORIA, CLINICA BASICA .pdfSEMIOLOGIA RESPIRATORIA, CLINICA BASICA .pdf
SEMIOLOGIA RESPIRATORIA, CLINICA BASICA .pdf
 
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
Woods, Thomas E. - Cómo la Iglesia construyó la Civilización Occidental [ocr]...
 
artropodos fusion 2024 clase universidad de chile
artropodos fusion 2024 clase universidad de chileartropodos fusion 2024 clase universidad de chile
artropodos fusion 2024 clase universidad de chile
 
Fowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdfFowler, Will. - Santa Anna, héroe o villano [2018].pdf
Fowler, Will. - Santa Anna, héroe o villano [2018].pdf
 
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismoPIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
 
Informe Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena ParadasInforme Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena Paradas
 
tecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptxtecnica de necropsia en bovinos rum.pptx
tecnica de necropsia en bovinos rum.pptx
 
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdfLEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
 
el lugar santo y santisimo final.pptx y sus partes
el lugar santo y santisimo final.pptx y sus partesel lugar santo y santisimo final.pptx y sus partes
el lugar santo y santisimo final.pptx y sus partes
 
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
Sternhell & Sznajder & Asheri. - El nacimiento de la ideología fascista [ocr]...
 
registro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionregistro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracion
 
DIAPOSITIVASDEPRIMERACATEGORIAIIPARTE (1).pptx
DIAPOSITIVASDEPRIMERACATEGORIAIIPARTE (1).pptxDIAPOSITIVASDEPRIMERACATEGORIAIIPARTE (1).pptx
DIAPOSITIVASDEPRIMERACATEGORIAIIPARTE (1).pptx
 
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
 
Van Young, Eric. - La otra rebelión. La lucha por la independencia de México,...
Van Young, Eric. - La otra rebelión. La lucha por la independencia de México,...Van Young, Eric. - La otra rebelión. La lucha por la independencia de México,...
Van Young, Eric. - La otra rebelión. La lucha por la independencia de México,...
 

Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing (spanish)

  • 1. WODEL-TEST: A MODEL-BASED FRAMEWORK FOR LANGUAGE-INDEPENDENT MUTATION TESTING P. Gómez-Abajo , E. Guerra, J. de Lara Modelling&Software Engineering Research Group http://miso.es Universidad Autónoma de Madrid (Spain) JISBD, Septiembre 2021 Mercedes G. Merayo Design and Testing of Reliable Systems Research Group http://antares.sip.ucm.es/testing Universidad Complutense de Madrid (Spain)
  • 2. MOTIVACIÓN • Las herramientas de pruebas de mutación son • específicas para un lenguaje • se desarrollan manualmente • tienen un alto coste de mantenimiento 2 Se propone el entorno Wodel-Test - extensión a Wodel para la generación de herramientas de pruebas de mutación Se implementan dos herramientas de pruebas de mutación Wodel-Test para Java y Wodel-Test para ATL
  • 3. ¿QUÉ SON LAS PRUEBAS DE MUTACIÓN? • Enfoque de pruebas de software para evaluar la calidad de los conjuntos de pruebas • Introducción de cambios sintácticos en un programa mediante operadores de mutación • Las mutaciones introducidas emulan fallos comunes de programación • Facilita mejorar la calidad de los conjuntos de pruebas 3
  • 5. HERRAMIENTA DE PRUEBAS DE MUTACIÓN PARA JAVA 5
  • 6. HERRAMIENTA DE PRUEBAS DE MUTACIÓN GENERADA 1. Explorador de proyectos 2. Ejemplo de programa mutante 3. Conjunto de pruebas 4. Resultados globales del proceso de pruebas de mutación 6
  • 7. EVALUACIÓN 7 RQ1 ¿Permite Wodel-Test crear herramientas de pruebas de mutación con capacidades similares a las herramientas de pruebas de mutación creadas manualmente? • Comparativa de Wodel-Test para Java con herramientas existentes de pruebas de mutación para Java • • Implementación de Wodel-Test para ATL con los operadores de mutación introducidos en Troya et al.[1] [1] Troya, J., Bergmayr, A., Burgueño, L. y Wimmer, M.: Towards systematic mutations for and with ATL model transformations. En International conference on software testing, verification and validation workshops (ICSTW), págs. 1–10, 2015 RQ2 ¿Wodel-Test es efectivo para especificar herramientas de pruebas de mutación?
  • 8. EVALUACIÓN RQ1 8 Major Javalanche PITest LittleDarwin muJava Wodel-Test/Java N. de operadores 30 (por defecto) 19 40 28 47 77 (por defecto) Extensibilidad de ops. Sí (DSL) No API No No Sí (DSL) Artefacto mutado Bytecode Bytecode Bytecode AST Bytecode Modelo Código del mutante No No Sí Sí Sí Sí Detección equivalentes No Sí (invariantes dinámicas) No No No Sí (TCE) Tipo de informe CSV HTML HTML HTML GUI Vistas interactivas Número de mutantes Mutation score Mutantes muertos/vivos Número Número Número Número Número, lista Número, lista Cobertura de operadores Número Número Número Número, lista Número, lista Mutantes por clase Mutantes por prueba Pruebas por mutante ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓         ✓     ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓  RQ1 Capacidades similares?
  • 9. • Aplicación del proceso de pruebas de mutación sobre el proyecto functional- matrix1: • 1https://github.com/soursop/functional-matrix-operator Herramienta Mutantes (muertos/vivos) Mutation score (%) Tiempo ejecución Tiempo por mutante (s) Major 1638 (331/864) 20,21 13 h 42 m 40s 30,14 PITest 918 (321/597) 34,97 1 h 11 m 20 s 4,66 LittleDarwin 439 (130/309) 29,61 3 h 30 m 39 s 28,79 muJava 2589 (557/2032) 21,51 5 h 30 m 10 s 7,65 Wodel- Test/Java 4756 (985/3771) 20,71 3 h 24 m 23 s 2,58 9 EVALUACIÓN RQ1 RQ1 Capacidades similares?
  • 10. • Aplicación del proceso de pruebas de mutación sobre el proyecto functional- matrix1: • 1https://github.com/soursop/functional-matrix-operator Herramienta Mutantes (muertos/vivos) Mutation score (%) Tiempo ejecución Tiempo por mutante (s) Major 1638 (331/864) 20,21 13 h 42 m 40s 30,14 PITest 918 (321/597) 34,97 1 h 11 m 20 s 4,66 LittleDarwin 439 (130/309) 29,61 3 h 30 m 39 s 28,79 muJava 2589 (557/2032) 21,51 5 h 30 m 10 s 7,65 Wodel- Test/Java 4756 (985/3771) 20,71 3 h 24 m 23 s 2,58 10 EVALUACIÓN RQ1 RQ1 Capacidades similares? RQ1: Sí, Wodel-Test genera herramientas de MT con capacidades similares
  • 11. EVALUACIÓN RQ2 • Wodel-Test para ATL con los operadores de mutación introducidos en el trabajo de Troya et al. • El prototipo de Troya et al. es un generador de mutantes • Wodel-Test para ATL proporciona la funcionalidad completa de una herramienta de pruebas de mutación para este lenguaje 11 RQ2 Es efectivo?
  • 12. EVALUACIÓN RQ2 • Operadores de mutación para ATL Concepto Operador de mutación LOC en Wodel LOC en ATL Regla Creación Borrado Cambio de nombre 1 1 1 - - - Elemento de patrón de entrada Creación Borrado Cambio de tipo Cambio de nombre 6 1 4 1 14 - - - Filtro de regla Creación Borrado Cambio de condición 10 1 4 - - - Elemento de patrón de salida Creación Borrado Cambio de tipo Cambio de nombre 6 1 4 1 - 6 - - Binding Creación Borrado Cambio de valor Cambio de propiedad 6 1 2 6 - 3 - - 12 RQ2 Es efectivo?
  • 13. EVALUACIÓN RQ2 • Operadores de mutación para ATL Concepto Operador de mutación LOC en Wodel LOC en ATL Regla Creación Borrado Cambio de nombre 1 1 1 - - - Elemento de patrón de entrada Creación Borrado Cambio de tipo Cambio de nombre 6 1 4 1 14 - - - Filtro de regla Creación Borrado Cambio de condición 10 1 4 - - - Elemento de patrón de salida Creación Borrado Cambio de tipo Cambio de nombre 6 1 4 1 - 6 - - Binding Creación Borrado Cambio de valor Cambio de propiedad 6 1 2 6 - 3 - - 13 RQ2 Es efectivo? RQ2: Sí, Wodel-Test es efectivo
  • 14. CONCLUSIONES 14 • Wodel-Test proporciona una funcionalidad comparable a la de las herramientas de pruebas de mutación existentes para Java • Wodel-Test puede ser una mejor opción: • Acceso al código fuente de los mutantes • Razonar sobre qué mutantes reducen el mutation score y por qué • Experimentar con nuevos operadores de mutación • Las herramientas de pruebas de mutación existentes requieren dos órdenes de magnitud más de código que la especificación de un entorno similar utilizando Wodel-Test • Trabajo futuro • Abordar programas más grandes • Optimizaciones del proceso de pruebas de mutación • Estudio con usuarios para analizar la usabilidad
  • 15. 15 Sitios web de Wodel & Wodel-Test: http://gomezabajo.github.io/Wodel/ http://gomezabajo.github.io/Wodel/Wodel-Test/
  • 16. 16 ARQUITECTURA DE WODEL-TEST motor de WODEL equivalencia sintáctica WODEL-TEST postProc 2 1 LanguageService Provider projectToModel() modelToProject() annotateMutation() compile() run() 3 equivalencia semántica ESPEC MT DEL LENGUAJE equivalencia EMFCompare «interfaz» «requiere» «utiliza» 4 Trivial compiler equivalence «utiliza» registro de mutación programas WODEL (meta-modelo + ops. mutación) «incluye»