SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
SEED MODEL SYNTHESIS
FOR TESTING MODEL-BASED
MUTATION OPERATORS
P. Gómez-Abajo , E. Guerra, J. de Lara
Modelling&Software Engineering Research Group
http://miso.es
Universidad Autónoma de Madrid (Spain)
CAiSE FORUM 2020
June 8-12, Grenoble
Mercedes G. Merayo
Design and Testing of Reliable Systems Research Group
http://antares.sip.ucm.es/testing
Universidad Complutense de Madrid (Spain)
A model mutation is a variation of a seed model
by the application of one or more mutation
operators
Model mutation has many applications:
• Model transformation testing
• Model-based software mutation testing
• Software product lines testing
• Automated generation of exercises
• Search-based engineering
• ...
WHAT IS MODEL MUTATION?
2
0
101
0
110
1
010
Seed model
Mutant models
Wodel
Seed model
...
if (a == true) then
...
...
if (a != true) then
...
Mutant model
PROBLEM
There is a need that mutation operators:
• Can be defined using a simple, compact notation
• Change artefacts in pertinent ways
• Easy to test
• DSL Wodel for model mutation
• Model synthesis from the Wodel program
• Mutation operators can be tested over these models
3
PROPOSED SOLUTION
PROCESS FOR THE ENGINEERING
OF MUTATION OPERATORS
4
WODEL
DSL Wodel for model mutation with:
• High level mutation primitives
• Domain independent
• Compiled to Java code
Extensible execution services
• Mutant validation
• Equivalent mutants detection
• Registry of the applied mutation operators
• Extensible for post-processing applications
Development services
• Seed model synthesis
• Mutation footprints
5
WODEL EXAMPLE
6
generate exhaustive mutants in "out/" from "models/"
metamodel "http://bpmn.com"
with blocks {
ev2ac "Retypes an Event as an Activity"
{
retype one [StartEv, IntermediateEv, EndEv] as Activity
}}
MUTATION EXAMPLE
7
hunger
noticed
buy
groceries
cook
meal
ready
eat meal
hunger
satisfied
hunger
noticed
buy
groceries
cook eat meal
hunger
satisfied
meal ready
ev2ac
MODEL SYNTHESIS
• Testing of mutation operators via model synthesis
• Models ensure the execution of all operators statements
• Based in model finding
8
OUTPUT
domain mm
+ OCL
OCL
Wodel
operators
seed model
INPUT
enriched mm
model finder
OCL TEMPLATES
9
Conditions to check OCL Template Example
Object creation: <Container>.allInstances()
->exists(o |
o.<ref>->size() < <upB>)
Wodel: a = create Activity
OCL:
BusinessProcess.allInstances()
->exists(b | b.elements->size() < 10)
There is a container
reference of the object's type
with space to add more
objects
Object deletion: <Class>.allInstances()
->exists(o | <object-filter> and
<Container>.allInstances()
->forAll(c |
c.<ref>->includes(o) implies
c.<ref>->size() > <lowB>))
Wodel: remove one Activity
OCL:
Activity.allInstances()
->exists(a |
BusinessProcess.allInstances()
->forAll(b | b.elements->includes(a)
implies b.elements->size() > 1))
There is an object with the
given type and feature
values, and its deletion does
not violate the lower bound
of any reference of the
object's type
...
EXAMPLE
10
generate 2 mutants in "out/" from "models/"
metamodel http://bpmn.com
with blocks {
ev2ac "Retypes an Event as an Activity"
{
retype one [StartEv, IntermediateEv, EndEv]
as Activity
}}
context Dummy
inv mut1 : StartEv.allInstances()->exists(a | true) or
IntermediateEv.allInstances()->exists(a | true) or
EndEv.allInstances()->exists(a | true)
OCL
Generated modelModel finder
activity-1
start-event
TOOL SUPPORT
11
Tool available at http://gomezabajo.github.io/Wodel/ along with videos, tutorials & examples
DEMO
12
CONCLUSIONS
13
Model-based approach to facilitate mutation operators
• Definition → Wodel
• Testing & application → Model synthesis
• Near misses generation
• Generate models to ensure the execution of the Wodel
program leads to a correct model
• Methodology for the integral engineering of mutation
operators
FUTURE WORK
14
Pablo.GomezA@uam.es
@GomezAbajo

Mais conteúdo relacionado

Semelhante a Seed Model Synthesis for Testing Model-based Mutation Operators

Ctools presentation
Ctools presentationCtools presentation
Ctools presentation
Digitaria
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Lionel Briand
 

Semelhante a Seed Model Synthesis for Testing Model-based Mutation Operators (20)

Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017
 
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
 
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
 
Supporting Change in Product Lines within the Context of Use Case-driven Deve...
Supporting Change in Product Lines within the Context of Use Case-driven Deve...Supporting Change in Product Lines within the Context of Use Case-driven Deve...
Supporting Change in Product Lines within the Context of Use Case-driven Deve...
 
ASP.NET MVC Best Practices malisa ncube
ASP.NET MVC Best Practices   malisa ncubeASP.NET MVC Best Practices   malisa ncube
ASP.NET MVC Best Practices malisa ncube
 
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...
 
Ctools presentation
Ctools presentationCtools presentation
Ctools presentation
 
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
 
DevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-usDevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-us
 
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDraw
 
AWValuePitch, 7_12
AWValuePitch, 7_12AWValuePitch, 7_12
AWValuePitch, 7_12
 
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...
 
Model-based Regression Testing of Autonomous Robots
Model-based Regression Testing of Autonomous RobotsModel-based Regression Testing of Autonomous Robots
Model-based Regression Testing of Autonomous Robots
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts
 
Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï Tool
 
Unit tests and TDD
Unit tests and TDDUnit tests and TDD
Unit tests and TDD
 
Starwest 2011
Starwest 2011Starwest 2011
Starwest 2011
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
 
Utilisation de MLflow pour le cycle de vie des projet Machine learning
Utilisation de MLflow pour le cycle de vie des projet Machine learningUtilisation de MLflow pour le cycle de vie des projet Machine learning
Utilisation de MLflow pour le cycle de vie des projet Machine learning
 
Machine Learning Operations & Azure
Machine Learning Operations & AzureMachine Learning Operations & Azure
Machine Learning Operations & Azure
 

Mais de 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
 

Mais de Pablo Gómez Abajo (7)

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
 
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...
 

Último

The importance of continents, oceans and plate tectonics for the evolution of...
The importance of continents, oceans and plate tectonics for the evolution of...The importance of continents, oceans and plate tectonics for the evolution of...
The importance of continents, oceans and plate tectonics for the evolution of...
Sérgio Sacani
 
Tuberculosis (TB)-Notes.pdf microbiology notes
Tuberculosis (TB)-Notes.pdf microbiology notesTuberculosis (TB)-Notes.pdf microbiology notes
Tuberculosis (TB)-Notes.pdf microbiology notes
jyothisaisri
 
Aerodynamics. flippatterncn5tm5ttnj6nmnynyppt
Aerodynamics. flippatterncn5tm5ttnj6nmnynypptAerodynamics. flippatterncn5tm5ttnj6nmnynyppt
Aerodynamics. flippatterncn5tm5ttnj6nmnynyppt
sreddyrahul
 
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Sérgio Sacani
 

Último (20)

Cellular Communication and regulation of communication mechanisms to sing the...
Cellular Communication and regulation of communication mechanisms to sing the...Cellular Communication and regulation of communication mechanisms to sing the...
Cellular Communication and regulation of communication mechanisms to sing the...
 
NUMERICAL Proof Of TIme Electron Theory.
NUMERICAL Proof Of TIme Electron Theory.NUMERICAL Proof Of TIme Electron Theory.
NUMERICAL Proof Of TIme Electron Theory.
 
The importance of continents, oceans and plate tectonics for the evolution of...
The importance of continents, oceans and plate tectonics for the evolution of...The importance of continents, oceans and plate tectonics for the evolution of...
The importance of continents, oceans and plate tectonics for the evolution of...
 
GBSN - Biochemistry (Unit 4) Chemistry of Carbohydrates
GBSN - Biochemistry (Unit 4) Chemistry of CarbohydratesGBSN - Biochemistry (Unit 4) Chemistry of Carbohydrates
GBSN - Biochemistry (Unit 4) Chemistry of Carbohydrates
 
NuGOweek 2024 programme final FLYER short.pdf
NuGOweek 2024 programme final FLYER short.pdfNuGOweek 2024 programme final FLYER short.pdf
NuGOweek 2024 programme final FLYER short.pdf
 
Tuberculosis (TB)-Notes.pdf microbiology notes
Tuberculosis (TB)-Notes.pdf microbiology notesTuberculosis (TB)-Notes.pdf microbiology notes
Tuberculosis (TB)-Notes.pdf microbiology notes
 
Film Coated Tablet and Film Coating raw materials.pdf
Film Coated Tablet and Film Coating raw materials.pdfFilm Coated Tablet and Film Coating raw materials.pdf
Film Coated Tablet and Film Coating raw materials.pdf
 
Hemoglobin metabolism: C Kalyan & E. Muralinath
Hemoglobin metabolism: C Kalyan & E. MuralinathHemoglobin metabolism: C Kalyan & E. Muralinath
Hemoglobin metabolism: C Kalyan & E. Muralinath
 
Triploidy ...............................pptx
Triploidy ...............................pptxTriploidy ...............................pptx
Triploidy ...............................pptx
 
Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...
Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...
Emergent ribozyme behaviors in oxychlorine brines indicate a unique niche for...
 
Factor Causing low production and physiology of mamary Gland
Factor Causing low production and physiology of mamary GlandFactor Causing low production and physiology of mamary Gland
Factor Causing low production and physiology of mamary Gland
 
Extensive Pollution of Uranus and Neptune’s Atmospheres by Upsweep of Icy Mat...
Extensive Pollution of Uranus and Neptune’s Atmospheres by Upsweep of Icy Mat...Extensive Pollution of Uranus and Neptune’s Atmospheres by Upsweep of Icy Mat...
Extensive Pollution of Uranus and Neptune’s Atmospheres by Upsweep of Icy Mat...
 
Erythropoiesis- Dr.E. Muralinath-C Kalyan
Erythropoiesis- Dr.E. Muralinath-C KalyanErythropoiesis- Dr.E. Muralinath-C Kalyan
Erythropoiesis- Dr.E. Muralinath-C Kalyan
 
A Giant Impact Origin for the First Subduction on Earth
A Giant Impact Origin for the First Subduction on EarthA Giant Impact Origin for the First Subduction on Earth
A Giant Impact Origin for the First Subduction on Earth
 
Aerodynamics. flippatterncn5tm5ttnj6nmnynyppt
Aerodynamics. flippatterncn5tm5ttnj6nmnynypptAerodynamics. flippatterncn5tm5ttnj6nmnynyppt
Aerodynamics. flippatterncn5tm5ttnj6nmnynyppt
 
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
Exomoons & Exorings with the Habitable Worlds Observatory I: On the Detection...
 
RACEMIzATION AND ISOMERISATION completed.pptx
RACEMIzATION AND ISOMERISATION completed.pptxRACEMIzATION AND ISOMERISATION completed.pptx
RACEMIzATION AND ISOMERISATION completed.pptx
 
Microbial bio Synthesis of nanoparticles.pptx
Microbial bio Synthesis of nanoparticles.pptxMicrobial bio Synthesis of nanoparticles.pptx
Microbial bio Synthesis of nanoparticles.pptx
 
GBSN - Microbiology (Unit 7) Microbiology in Everyday Life
GBSN - Microbiology (Unit 7) Microbiology in Everyday LifeGBSN - Microbiology (Unit 7) Microbiology in Everyday Life
GBSN - Microbiology (Unit 7) Microbiology in Everyday Life
 
Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...
Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...
Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...
 

Seed Model Synthesis for Testing Model-based Mutation Operators

  • 1. SEED MODEL SYNTHESIS FOR TESTING MODEL-BASED MUTATION OPERATORS P. Gómez-Abajo , E. Guerra, J. de Lara Modelling&Software Engineering Research Group http://miso.es Universidad Autónoma de Madrid (Spain) CAiSE FORUM 2020 June 8-12, Grenoble Mercedes G. Merayo Design and Testing of Reliable Systems Research Group http://antares.sip.ucm.es/testing Universidad Complutense de Madrid (Spain)
  • 2. A model mutation is a variation of a seed model by the application of one or more mutation operators Model mutation has many applications: • Model transformation testing • Model-based software mutation testing • Software product lines testing • Automated generation of exercises • Search-based engineering • ... WHAT IS MODEL MUTATION? 2 0 101 0 110 1 010 Seed model Mutant models Wodel Seed model ... if (a == true) then ... ... if (a != true) then ... Mutant model
  • 3. PROBLEM There is a need that mutation operators: • Can be defined using a simple, compact notation • Change artefacts in pertinent ways • Easy to test • DSL Wodel for model mutation • Model synthesis from the Wodel program • Mutation operators can be tested over these models 3 PROPOSED SOLUTION
  • 4. PROCESS FOR THE ENGINEERING OF MUTATION OPERATORS 4
  • 5. WODEL DSL Wodel for model mutation with: • High level mutation primitives • Domain independent • Compiled to Java code Extensible execution services • Mutant validation • Equivalent mutants detection • Registry of the applied mutation operators • Extensible for post-processing applications Development services • Seed model synthesis • Mutation footprints 5
  • 6. WODEL EXAMPLE 6 generate exhaustive mutants in "out/" from "models/" metamodel "http://bpmn.com" with blocks { ev2ac "Retypes an Event as an Activity" { retype one [StartEv, IntermediateEv, EndEv] as Activity }}
  • 8. MODEL SYNTHESIS • Testing of mutation operators via model synthesis • Models ensure the execution of all operators statements • Based in model finding 8 OUTPUT domain mm + OCL OCL Wodel operators seed model INPUT enriched mm model finder
  • 9. OCL TEMPLATES 9 Conditions to check OCL Template Example Object creation: <Container>.allInstances() ->exists(o | o.<ref>->size() < <upB>) Wodel: a = create Activity OCL: BusinessProcess.allInstances() ->exists(b | b.elements->size() < 10) There is a container reference of the object's type with space to add more objects Object deletion: <Class>.allInstances() ->exists(o | <object-filter> and <Container>.allInstances() ->forAll(c | c.<ref>->includes(o) implies c.<ref>->size() > <lowB>)) Wodel: remove one Activity OCL: Activity.allInstances() ->exists(a | BusinessProcess.allInstances() ->forAll(b | b.elements->includes(a) implies b.elements->size() > 1)) There is an object with the given type and feature values, and its deletion does not violate the lower bound of any reference of the object's type ...
  • 10. EXAMPLE 10 generate 2 mutants in "out/" from "models/" metamodel http://bpmn.com with blocks { ev2ac "Retypes an Event as an Activity" { retype one [StartEv, IntermediateEv, EndEv] as Activity }} context Dummy inv mut1 : StartEv.allInstances()->exists(a | true) or IntermediateEv.allInstances()->exists(a | true) or EndEv.allInstances()->exists(a | true) OCL Generated modelModel finder activity-1 start-event
  • 11. TOOL SUPPORT 11 Tool available at http://gomezabajo.github.io/Wodel/ along with videos, tutorials & examples
  • 13. CONCLUSIONS 13 Model-based approach to facilitate mutation operators • Definition → Wodel • Testing & application → Model synthesis • Near misses generation • Generate models to ensure the execution of the Wodel program leads to a correct model • Methodology for the integral engineering of mutation operators FUTURE WORK