SlideShare a Scribd company logo
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)
October 2021
Mercedes G. Merayo
Design and Testing of Reliable Systems Research Group
http://antares.sip.ucm.es/testing
Universidad Complutense de Madrid (Spain)
MOTIVATION
• Current mutation testing tools are
• Specific por a language
• Encoded by hand
• Incur high-costs of maintenance
2
We propose the Wodel-Test framework – a post-
processing extension to Wodel for the generation of
mutation testing tools
We generate two mutation testing tools
Wodel-Test for Java & Wodel-Test for ATL
WHAT IS MUTATION
TESTING?
• Approach of software testing to
assess the quality of test suites
• Injection of syntax changes in a
program by using mutation
operators
• The mutations introduced
emulate common programming
faults
• Facilitates to improve the
quality of the test-suites and
the mutation operators set
3
WODEL-TEST PROCESS
4
WODEL-TEST PROCESS
4
Wodel-Test for
ATL demo
EVALUATION
5
RQ1
Does Wodel-Test allow creating MT tools with similar
capabilities to existing MT tools developed by hand?
• Comparison between Wodel-Test for Java with existing mutation testing tools
for Java
•
• Generation of Wodel-Test for ATL with the mutation operators introduced by
Troya et al.[1]
[1] Troya, J., Bergmayr, A., Burgueño, L. y Wimmer, M.: Towards systematic mutations for and with ATL model
transformations. International conference on software testing, verification and validation workshops (ICSTW),
pp. 1–10, 2015
RQ2
How effective is Wodel-Test to specify MT tools?
RQ1 EVALUATION
6
Major Javalanche PITest LittleDarwin muJava Wodel-Test/Java
No. of operators 30
(default)
19 40 28 47 77 (default)
Op. extensibility Yes
(DSL)
No API No No Yes (DSL)
Mutated artifact Bytecode Bytecode Bytecode AST Bytecode Model
Mutant source No No Yes Yes Yes Yes
Equivalent
detection
No Yes
(dynamic inv.)
No No No Yes (TCE)
Report type CSV HTML HTML HTML GUI Interactive views
No. of mutants
Mutation score
Killed/live mutants Number Number Number Number Number, list Number, list
Covered operators Number Number Number Number, list Number, list
Mutants by class
Mutants by test
Tests by mutants
✓ ✓ ✓ ✓
✓ ✓ ✓ ✓

  
   
✓
   
✓
✓
✓
✓
✓
✓
✓
✓
✓

RQ1
Similar capabilities?
• Application of the mutation testing process to the functional-matrix1 project:
• 1https://github.com/soursop/functional-matrix-operator
MT Tool Killed/lived
mutants
Mutation
score (%)
Run-time Time by
mutant (s)
Major 1638 (331/864) 20.21 13 h 42 m 56 s 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
7
RQ1
Similar capabilities?
RQ1 EVALUATION
• Application of the mutation testing process to the functional-matrix1 project:
• 1https://github.com/soursop/functional-matrix-operator
MT Tool Killed/lived
mutants
Mutation
score (%)
Run-time Time by
mutant (s)
Major 1638 (331/864) 20.21 13 h 42 m 56 s 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
7
RQ1
Similar capabilities?
RQ1 EVALUATION
RQ1: Yes, Wodel-Test generates
MT tools with similar capabilities
RQ2 EVALUATION
• Wodel-Test for ATL with the mutation operators introduced by
Troya et al.
• The proposal by Troya et al. provides a mutant generator
• Wodel-Test for ATL provides the complete functionality of a
mutation testing tool for this language
8
RQ2
How effective?
• Mutation operators for ATL
Concept Mutation operator LOC in Wodel LOC in ATL
Matched rule Creation
Deletion
Name change
1
1
1
-
-
-
In pattern element Addition
Deletion
Class change
Name change
6
1
4
1
14
-
-
-
Filter Addition
Deletion
Condition change
10
1
4
-
-
-
Out pattern element Addition
Deletion
Type change
Name change
6
1
4
1
-
6
-
-
Binding Addition
Deletion
Value change
Feature change
6
1
2
6
-
3
-
-
9
RQ2 EVALUATION
RQ2
How effective?
• Mutation operators for ATL
Concept Mutation operator LOC in Wodel LOC in ATL
Matched rule Creation
Deletion
Name change
1
1
1
-
-
-
In pattern element Addition
Deletion
Class change
Name change
6
1
4
1
14
-
-
-
Filter Addition
Deletion
Condition change
10
1
4
-
-
-
Out pattern element Addition
Deletion
Type change
Name change
6
1
4
1
-
6
-
-
Binding Addition
Deletion
Value change
Feature change
6
1
2
6
-
3
-
-
9
RQ2 EVALUATION
RQ2
How effective?
RQ2: Yes, Wodel-Test is effective
CONCLUSIONS & FUTURE WORK
10
• Wodel-Test provides a similar functionality to other existing mutation
testing tools for Java
• Wodel-Test can be a better option when we need to
• Access the source code of the mutants
• Reason which mutants reduce the mutation score and why
• Test new mutation operators
• The existing mutation testing tools require two orders of magnitude more
LOC than the same specification using Wodel-Test
• Future work
• Apply Wodel-Test to larger programs
• Optimize the mutation testing process
• Usability evaluation
11
Wodel & Wodel-Test websites:
http://gomezabajo.github.io/Wodel/
http://gomezabajo.github.io/Wodel/Wodel-Test/
MUTATION TESTING TOOL
FOR JAVA
12
GENERATED
MUTATION TESTING TOOL
1. Project explorer
2. Mutant program example
3. Test-suite
4. Global results of the mutation
testing process
13
14
WODEL-TEST ARCHITECTURE

More Related Content

What's hot

Unit testing
Unit testingUnit testing
Unit testing
Prabhat Kumar
 
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality MeasureTMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
Iosif Itkin
 
How to Profit from Static Analysis
How to Profit from Static AnalysisHow to Profit from Static Analysis
How to Profit from Static Analysis
Elena Laskavaia
 
Unit testing in android
Unit testing in androidUnit testing in android
Unit testing in androidLi-Wei Cheng
 
What's software testing
What's software testingWhat's software testing
What's software testingLi-Wei Cheng
 
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,..."Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...Vladimir Ivanov
 
Qtp Basics
Qtp BasicsQtp Basics
Qtp Basicsmehramit
 
What is JUnit? | Edureka
What is JUnit? | EdurekaWhat is JUnit? | Edureka
What is JUnit? | Edureka
Edureka!
 
Xp Day 080506 Unit Tests And Mocks
Xp Day 080506 Unit Tests And MocksXp Day 080506 Unit Tests And Mocks
Xp Day 080506 Unit Tests And Mocks
guillaumecarre
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
Ahmed M. Gomaa
 
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
Iosif Itkin
 
Python unit testing
Python unit testingPython unit testing
Python unit testing
Darryl Sherman
 
Workshop: Unit Testing in Python
Workshop: Unit Testing in PythonWorkshop: Unit Testing in Python
Workshop: Unit Testing in Python
David Tan
 
JUnit 4
JUnit 4JUnit 4
JUnit 4
Sunil OS
 
Java Unit Testing
Java Unit TestingJava Unit Testing
Java Unit Testing
Nayanda Haberty
 
Junit
JunitJunit
Hp Quick Test Professional
Hp Quick Test ProfessionalHp Quick Test Professional
Hp Quick Test Professional
sunny.deb
 
Introduction to JUnit
Introduction to JUnitIntroduction to JUnit
Introduction to JUnit
Devvrat Shukla
 
Junit
JunitJunit
Junit and cactus
Junit and cactusJunit and cactus
Junit and cactus
Himanshu
 

What's hot (20)

Unit testing
Unit testingUnit testing
Unit testing
 
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality MeasureTMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
 
How to Profit from Static Analysis
How to Profit from Static AnalysisHow to Profit from Static Analysis
How to Profit from Static Analysis
 
Unit testing in android
Unit testing in androidUnit testing in android
Unit testing in android
 
What's software testing
What's software testingWhat's software testing
What's software testing
 
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,..."Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
 
Qtp Basics
Qtp BasicsQtp Basics
Qtp Basics
 
What is JUnit? | Edureka
What is JUnit? | EdurekaWhat is JUnit? | Edureka
What is JUnit? | Edureka
 
Xp Day 080506 Unit Tests And Mocks
Xp Day 080506 Unit Tests And MocksXp Day 080506 Unit Tests And Mocks
Xp Day 080506 Unit Tests And Mocks
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
 
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
 
Python unit testing
Python unit testingPython unit testing
Python unit testing
 
Workshop: Unit Testing in Python
Workshop: Unit Testing in PythonWorkshop: Unit Testing in Python
Workshop: Unit Testing in Python
 
JUnit 4
JUnit 4JUnit 4
JUnit 4
 
Java Unit Testing
Java Unit TestingJava Unit Testing
Java Unit Testing
 
Junit
JunitJunit
Junit
 
Hp Quick Test Professional
Hp Quick Test ProfessionalHp Quick Test Professional
Hp Quick Test Professional
 
Introduction to JUnit
Introduction to JUnitIntroduction to JUnit
Introduction to JUnit
 
Junit
JunitJunit
Junit
 
Junit and cactus
Junit and cactusJunit and cactus
Junit and cactus
 

Similar to Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing

Search-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsSearch-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing Systems
Lionel Briand
 
walkmod - JUG talk
walkmod - JUG talkwalkmod - JUG talk
walkmod - JUG talk
walkmod
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
Ákos Horváth
 
Track g semiconductor test program - testinsight
Track g  semiconductor test program - testinsightTrack g  semiconductor test program - testinsight
Track g semiconductor test program - testinsightchiportal
 
Pro smartbooksquestions
Pro smartbooksquestionsPro smartbooksquestions
Pro smartbooksquestionsyoummr
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
Lionel Briand
 
[AnDevCon 2016] Mutation Testing for Android
[AnDevCon 2016] Mutation Testing for Android[AnDevCon 2016] Mutation Testing for Android
[AnDevCon 2016] Mutation Testing for Android
Hazem Saleh
 
Safaba Welocalize MT Summit 2013 Analyzing MT Utility and Post-Editing
Safaba Welocalize MT Summit 2013 Analyzing MT Utility and Post-EditingSafaba Welocalize MT Summit 2013 Analyzing MT Utility and Post-Editing
Safaba Welocalize MT Summit 2013 Analyzing MT Utility and Post-Editing
Welocalize
 
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONSDYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
ijesajournal
 
Incremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software EngineeringIncremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software Engineering
Ákos Horváth
 
Ensuring code quality
Ensuring code qualityEnsuring code quality
Ensuring code quality
MikhailVladimirov
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysislienhard
 
Software testing: an introduction - 2017
Software testing: an introduction - 2017Software testing: an introduction - 2017
Software testing: an introduction - 2017
XavierDevroey
 
Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS
Anand Bagmar
 
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
Daniel Varro
 
C044061518
C044061518C044061518
C044061518
IJERA Editor
 
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech UpdateAdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
jamieayre
 
May: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesMay: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and Challenges
TriTAUG
 
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Lionel Briand
 

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

Search-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsSearch-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing Systems
 
walkmod - JUG talk
walkmod - JUG talkwalkmod - JUG talk
walkmod - JUG talk
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
 
Track g semiconductor test program - testinsight
Track g  semiconductor test program - testinsightTrack g  semiconductor test program - testinsight
Track g semiconductor test program - testinsight
 
Pro smartbooksquestions
Pro smartbooksquestionsPro smartbooksquestions
Pro smartbooksquestions
 
MuFinal
MuFinalMuFinal
MuFinal
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
[AnDevCon 2016] Mutation Testing for Android
[AnDevCon 2016] Mutation Testing for Android[AnDevCon 2016] Mutation Testing for Android
[AnDevCon 2016] Mutation Testing for Android
 
Safaba Welocalize MT Summit 2013 Analyzing MT Utility and Post-Editing
Safaba Welocalize MT Summit 2013 Analyzing MT Utility and Post-EditingSafaba Welocalize MT Summit 2013 Analyzing MT Utility and Post-Editing
Safaba Welocalize MT Summit 2013 Analyzing MT Utility and Post-Editing
 
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONSDYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
 
Incremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software EngineeringIncremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software Engineering
 
Ensuring code quality
Ensuring code qualityEnsuring code quality
Ensuring code quality
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
 
Software testing: an introduction - 2017
Software testing: an introduction - 2017Software testing: an introduction - 2017
Software testing: an introduction - 2017
 
Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS
 
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
 
C044061518
C044061518C044061518
C044061518
 
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech UpdateAdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
 
May: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesMay: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and Challenges
 
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
 

More from 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 exercises
Pablo 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 environments
Pablo Gómez Abajo
 
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...
Pablo 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
 
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
Pablo Gómez Abajo
 
PhD defense presentation
PhD defense presentationPhD defense presentation
PhD defense presentation
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
 
Un framework para la generación automática de ejercicios mediante técnicas de...
Un framework para la generación automática de ejercicios mediante técnicas de...Un framework para la generación automática de ejercicios mediante técnicas de...
Un framework para la generación automática de ejercicios mediante técnicas de...
Pablo Gómez Abajo
 

More from Pablo Gómez Abajo (8)

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 Testing...Wodel-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...
 
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
 
PhD defense presentation
PhD defense presentationPhD defense presentation
PhD defense presentation
 
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...
 
Un framework para la generación automática de ejercicios mediante técnicas de...
Un framework para la generación automática de ejercicios mediante técnicas de...Un framework para la generación automática de ejercicios mediante técnicas de...
Un framework para la generación automática de ejercicios mediante técnicas de...
 

Recently uploaded

Introduction to Mean Field Theory(MFT).pptx
Introduction to Mean Field Theory(MFT).pptxIntroduction to Mean Field Theory(MFT).pptx
Introduction to Mean Field Theory(MFT).pptx
zeex60
 
GBSN- Microbiology (Lab 3) Gram Staining
GBSN- Microbiology (Lab 3) Gram StainingGBSN- Microbiology (Lab 3) Gram Staining
GBSN- Microbiology (Lab 3) Gram Staining
Areesha Ahmad
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Erdal Coalmaker
 
Seminar of U.V. Spectroscopy by SAMIR PANDA
 Seminar of U.V. Spectroscopy by SAMIR PANDA Seminar of U.V. Spectroscopy by SAMIR PANDA
Seminar of U.V. Spectroscopy by SAMIR PANDA
SAMIR PANDA
 
Earliest Galaxies in the JADES Origins Field: Luminosity Function and Cosmic ...
Earliest Galaxies in the JADES Origins Field: Luminosity Function and Cosmic ...Earliest Galaxies in the JADES Origins Field: Luminosity Function and Cosmic ...
Earliest Galaxies in the JADES Origins Field: Luminosity Function and Cosmic ...
Sérgio Sacani
 
BLOOD AND BLOOD COMPONENT- introduction to blood physiology
BLOOD AND BLOOD COMPONENT- introduction to blood physiologyBLOOD AND BLOOD COMPONENT- introduction to blood physiology
BLOOD AND BLOOD COMPONENT- introduction to blood physiology
NoelManyise1
 
Nutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technologyNutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technology
Lokesh Patil
 
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Ana Luísa Pinho
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
yqqaatn0
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
moosaasad1975
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
yqqaatn0
 
Chapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisisChapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisis
tonzsalvador2222
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
Nistarini College, Purulia (W.B) India
 
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Sérgio Sacani
 
DMARDs Pharmacolgy Pharm D 5th Semester.pdf
DMARDs Pharmacolgy Pharm D 5th Semester.pdfDMARDs Pharmacolgy Pharm D 5th Semester.pdf
DMARDs Pharmacolgy Pharm D 5th Semester.pdf
fafyfskhan251kmf
 
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
Wasswaderrick3
 
Richard's aventures in two entangled wonderlands
Richard's aventures in two entangled wonderlandsRichard's aventures in two entangled wonderlands
Richard's aventures in two entangled wonderlands
Richard Gill
 
platelets_clotting_biogenesis.clot retractionpptx
platelets_clotting_biogenesis.clot retractionpptxplatelets_clotting_biogenesis.clot retractionpptx
platelets_clotting_biogenesis.clot retractionpptx
muralinath2
 
Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
role of pramana in research.pptx in science
role of pramana in research.pptx in sciencerole of pramana in research.pptx in science
role of pramana in research.pptx in science
sonaliswain16
 

Recently uploaded (20)

Introduction to Mean Field Theory(MFT).pptx
Introduction to Mean Field Theory(MFT).pptxIntroduction to Mean Field Theory(MFT).pptx
Introduction to Mean Field Theory(MFT).pptx
 
GBSN- Microbiology (Lab 3) Gram Staining
GBSN- Microbiology (Lab 3) Gram StainingGBSN- Microbiology (Lab 3) Gram Staining
GBSN- Microbiology (Lab 3) Gram Staining
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
 
Seminar of U.V. Spectroscopy by SAMIR PANDA
 Seminar of U.V. Spectroscopy by SAMIR PANDA Seminar of U.V. Spectroscopy by SAMIR PANDA
Seminar of U.V. Spectroscopy by SAMIR PANDA
 
Earliest Galaxies in the JADES Origins Field: Luminosity Function and Cosmic ...
Earliest Galaxies in the JADES Origins Field: Luminosity Function and Cosmic ...Earliest Galaxies in the JADES Origins Field: Luminosity Function and Cosmic ...
Earliest Galaxies in the JADES Origins Field: Luminosity Function and Cosmic ...
 
BLOOD AND BLOOD COMPONENT- introduction to blood physiology
BLOOD AND BLOOD COMPONENT- introduction to blood physiologyBLOOD AND BLOOD COMPONENT- introduction to blood physiology
BLOOD AND BLOOD COMPONENT- introduction to blood physiology
 
Nutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technologyNutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technology
 
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
 
Chapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisisChapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisis
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
 
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
 
DMARDs Pharmacolgy Pharm D 5th Semester.pdf
DMARDs Pharmacolgy Pharm D 5th Semester.pdfDMARDs Pharmacolgy Pharm D 5th Semester.pdf
DMARDs Pharmacolgy Pharm D 5th Semester.pdf
 
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
 
Richard's aventures in two entangled wonderlands
Richard's aventures in two entangled wonderlandsRichard's aventures in two entangled wonderlands
Richard's aventures in two entangled wonderlands
 
platelets_clotting_biogenesis.clot retractionpptx
platelets_clotting_biogenesis.clot retractionpptxplatelets_clotting_biogenesis.clot retractionpptx
platelets_clotting_biogenesis.clot retractionpptx
 
Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
 
role of pramana in research.pptx in science
role of pramana in research.pptx in sciencerole of pramana in research.pptx in science
role of pramana in research.pptx in science
 

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

  • 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) October 2021 Mercedes G. Merayo Design and Testing of Reliable Systems Research Group http://antares.sip.ucm.es/testing Universidad Complutense de Madrid (Spain)
  • 2. MOTIVATION • Current mutation testing tools are • Specific por a language • Encoded by hand • Incur high-costs of maintenance 2 We propose the Wodel-Test framework – a post- processing extension to Wodel for the generation of mutation testing tools We generate two mutation testing tools Wodel-Test for Java & Wodel-Test for ATL
  • 3. WHAT IS MUTATION TESTING? • Approach of software testing to assess the quality of test suites • Injection of syntax changes in a program by using mutation operators • The mutations introduced emulate common programming faults • Facilitates to improve the quality of the test-suites and the mutation operators set 3
  • 6. EVALUATION 5 RQ1 Does Wodel-Test allow creating MT tools with similar capabilities to existing MT tools developed by hand? • Comparison between Wodel-Test for Java with existing mutation testing tools for Java • • Generation of Wodel-Test for ATL with the mutation operators introduced by Troya et al.[1] [1] Troya, J., Bergmayr, A., Burgueño, L. y Wimmer, M.: Towards systematic mutations for and with ATL model transformations. International conference on software testing, verification and validation workshops (ICSTW), pp. 1–10, 2015 RQ2 How effective is Wodel-Test to specify MT tools?
  • 7. RQ1 EVALUATION 6 Major Javalanche PITest LittleDarwin muJava Wodel-Test/Java No. of operators 30 (default) 19 40 28 47 77 (default) Op. extensibility Yes (DSL) No API No No Yes (DSL) Mutated artifact Bytecode Bytecode Bytecode AST Bytecode Model Mutant source No No Yes Yes Yes Yes Equivalent detection No Yes (dynamic inv.) No No No Yes (TCE) Report type CSV HTML HTML HTML GUI Interactive views No. of mutants Mutation score Killed/live mutants Number Number Number Number Number, list Number, list Covered operators Number Number Number Number, list Number, list Mutants by class Mutants by test Tests by mutants ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓         ✓     ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓  RQ1 Similar capabilities?
  • 8. • Application of the mutation testing process to the functional-matrix1 project: • 1https://github.com/soursop/functional-matrix-operator MT Tool Killed/lived mutants Mutation score (%) Run-time Time by mutant (s) Major 1638 (331/864) 20.21 13 h 42 m 56 s 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 7 RQ1 Similar capabilities? RQ1 EVALUATION
  • 9. • Application of the mutation testing process to the functional-matrix1 project: • 1https://github.com/soursop/functional-matrix-operator MT Tool Killed/lived mutants Mutation score (%) Run-time Time by mutant (s) Major 1638 (331/864) 20.21 13 h 42 m 56 s 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 7 RQ1 Similar capabilities? RQ1 EVALUATION RQ1: Yes, Wodel-Test generates MT tools with similar capabilities
  • 10. RQ2 EVALUATION • Wodel-Test for ATL with the mutation operators introduced by Troya et al. • The proposal by Troya et al. provides a mutant generator • Wodel-Test for ATL provides the complete functionality of a mutation testing tool for this language 8 RQ2 How effective?
  • 11. • Mutation operators for ATL Concept Mutation operator LOC in Wodel LOC in ATL Matched rule Creation Deletion Name change 1 1 1 - - - In pattern element Addition Deletion Class change Name change 6 1 4 1 14 - - - Filter Addition Deletion Condition change 10 1 4 - - - Out pattern element Addition Deletion Type change Name change 6 1 4 1 - 6 - - Binding Addition Deletion Value change Feature change 6 1 2 6 - 3 - - 9 RQ2 EVALUATION RQ2 How effective?
  • 12. • Mutation operators for ATL Concept Mutation operator LOC in Wodel LOC in ATL Matched rule Creation Deletion Name change 1 1 1 - - - In pattern element Addition Deletion Class change Name change 6 1 4 1 14 - - - Filter Addition Deletion Condition change 10 1 4 - - - Out pattern element Addition Deletion Type change Name change 6 1 4 1 - 6 - - Binding Addition Deletion Value change Feature change 6 1 2 6 - 3 - - 9 RQ2 EVALUATION RQ2 How effective? RQ2: Yes, Wodel-Test is effective
  • 13. CONCLUSIONS & FUTURE WORK 10 • Wodel-Test provides a similar functionality to other existing mutation testing tools for Java • Wodel-Test can be a better option when we need to • Access the source code of the mutants • Reason which mutants reduce the mutation score and why • Test new mutation operators • The existing mutation testing tools require two orders of magnitude more LOC than the same specification using Wodel-Test • Future work • Apply Wodel-Test to larger programs • Optimize the mutation testing process • Usability evaluation
  • 14. 11 Wodel & Wodel-Test websites: http://gomezabajo.github.io/Wodel/ http://gomezabajo.github.io/Wodel/Wodel-Test/
  • 16. GENERATED MUTATION TESTING TOOL 1. Project explorer 2. Mutant program example 3. Test-suite 4. Global results of the mutation testing process 13