SlideShare a Scribd company logo
1 of 17
Download to read offline
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

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 MeasureIosif Itkin
 
How to Profit from Static Analysis
How to Profit from Static AnalysisHow to Profit from Static Analysis
How to Profit from Static AnalysisElena 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? | EdurekaEdureka!
 
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 Mocksguillaumecarre
 
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
 
Workshop: Unit Testing in Python
Workshop: Unit Testing in PythonWorkshop: Unit Testing in Python
Workshop: Unit Testing in PythonDavid Tan
 
Hp Quick Test Professional
Hp Quick Test ProfessionalHp Quick Test Professional
Hp Quick Test Professionalsunny.deb
 
Junit and cactus
Junit and cactusJunit and cactus
Junit and cactusHimanshu
 

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 SystemsLionel Briand
 
walkmod - JUG talk
walkmod - JUG talkwalkmod - JUG talk
walkmod - JUG talkwalkmod
 
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 RepairLionel Briand
 
[AnDevCon 2016] Mutation Testing for Android
[AnDevCon 2016] Mutation Testing for Android[AnDevCon 2016] Mutation Testing for Android
[AnDevCon 2016] Mutation Testing for AndroidHazem 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-EditingWelocalize
 
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 APPLICATIONSijesajournal
 
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
 
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 - 2017XavierDevroey
 
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
 
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 Updatejamieayre
 
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 ChallengesTriTAUG
 
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 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 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 VBAPablo 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

Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxSwapnil Therkar
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Patrick Diehl
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzohaibmir069
 
Scheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxScheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxyaramohamed343013
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Module 4: Mendelian Genetics and Punnett Square
Module 4:  Mendelian Genetics and Punnett SquareModule 4:  Mendelian Genetics and Punnett Square
Module 4: Mendelian Genetics and Punnett SquareIsiahStephanRadaza
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |aasikanpl
 
Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)Jshifa
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.PraveenaKalaiselvan1
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physicsvishikhakeshava1
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡anilsa9823
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Luciferase in rDNA technology (biotechnology).pptx
Luciferase in rDNA technology (biotechnology).pptxLuciferase in rDNA technology (biotechnology).pptx
Luciferase in rDNA technology (biotechnology).pptxAleenaTreesaSaji
 

Recently uploaded (20)

Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistan
 
Scheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxScheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docx
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Module 4: Mendelian Genetics and Punnett Square
Module 4:  Mendelian Genetics and Punnett SquareModule 4:  Mendelian Genetics and Punnett Square
Module 4: Mendelian Genetics and Punnett Square
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
 
Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
BIOETHICS IN RECOMBINANT DNA TECHNOLOGY.
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physics
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
 
Luciferase in rDNA technology (biotechnology).pptx
Luciferase in rDNA technology (biotechnology).pptxLuciferase in rDNA technology (biotechnology).pptx
Luciferase in rDNA technology (biotechnology).pptx
 

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