SlideShare a Scribd company logo
1 of 42
Download to read offline
.lusoftware veriļ¬cation & validation
VVS
Generating Complex and Faulty Test Data
Through Model-Based Mutation Analysis
University of Luxembourg
Interdisciplinary Centre for Security, Reliability and Trust
Software Veriļ¬cation and Validation Lab

Daniel Di Nardo, Fabrizio Pastore, Lionel Briand
April 9, 2015
Data
Processing
System
Multiple ļ¬elds
Nested structure
Constraints among ļ¬elds
Huge amount
Invalid
data
Accepted
& processed
Discarded
Valid
data
Data
Processing
System
Invalid
data
Accepted
& processed
Discarded
Valid
data
Real world
data
Data
Processing
System
Invalid
data
Accepted
& processed
Discarded
Valid
data
Real world
data
Data
Processing
System
Invalid
data
Accepted
& processed
Discarded
Valid
data
Output in log ļ¬les
Data
Processing
System
Multiple ļ¬elds
Nested structure
Constraints among ļ¬elds
Huge amount
Invalid
data
Accepted
& processed
Discarded
Valid
data
Software Engineers manually
handcraft erroneous inputs that
cover the fault model of the system
Expensive!
Conļ¬gurations 
for Operators
Data
Modelling
Generic
Mutation
Operators
Through
How to generate
test data?
How to validate
results?
How to satisfy
the fault model?
Test Automation
Input
Output
Data Modelling using Class Diagrams + OCL Constraints
(ASE 2013)
context Vcdu inv:
let
frameCount : Integer = self.vcFrameCount,
previousFrameCount : Integer = self.vcFrameCount
in
frameCount <> previousFrameCount + 1
implies
VcduEvents.allInstances()

 
->exists(e | e.eventType = COUNTER_JUMP)
Satellite Transmission
Header Packet 1 Packet 2 Packet 3 Packet 4...
Packet 1 Packet 2 Packet 3
VCDU 1
VCDU 2
...Packet 4 Packet 5 Packet 6...
VCDU 3
...Packet 6...
VCDU 4
VCDU 5
...Packet 6 Packet 7
VCDU 6
SYNSYNSYNSYNSYNSYNSYN
VCID=1
Header
Header
Header
Header
Header
VCID=2
VCID=1
VCID=1
VCID=1
VCID=0 Idle Packet Pattern
Input Data Model (simpliļ¬ed)
Transmission
 Vcdu
Header
Packet
PacketZone
ActiveZone
IdleZone
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
data : Bytesequence
1..*
1
1..*
1
1
1
1
Input Data Model (simpliļ¬ed)
Transmission
 Vcdu
Header
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

Packet
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Software 
Under Test
Output
Constraints
Checking
Test Input
Data Model
Violated
Constraints
Model Instance
Field Data
Mutation
Based
Generation
Mutation & Validation
Output 
Data Loading
Data Writing
Data Mutation
Execution
Validation
 Violated
Constraints
Field Data
Input/Output 
constraints
Mutated Field Data
SUT
Instantiated
Objects
Mutated Instantiated
Objects
Input/Output 
structure
Data Model
14
Not useful to test
any kind of
(trivially) invalid input
Important to generate 
test inputs that ļ¬t
a Fault Model
Mutation & Validation
Output	
 Ā 	
 Ā 
Data	
 Ā Modelling	
 Ā 
Data	
 Ā Loading	
 Ā 
Data	
 Ā Wri3ng	
 Ā 
Data	
 Ā Muta3on	
 Ā 
Execu3on	
 Ā 
Valida3on	
 Ā  Violated	
 Ā 
Constraints	
 Ā 
Transmission
FileInput/Output
structure
Input/Output
constraints
Faulty Transmission
File
SES-Ā­ā€DAQ	
 Ā 
Instantiated
Objects
Mutated Instantiated
Objects
Fault Model of SES DAQ
Fault
 Description
Duplicate VCDU/Packet
 A VCDU/Packet appears twice in a transmission.
Missing VCDU/Packet
 A VCDU/Packet is omitted during transmission
Wrong Sequence
 VCDUs/Packets are sent out of order.
Incorrect Identiļ¬er
 Several transmission data ļ¬elds have ļ¬xed values, e.g.
ļ¬elds identifying the transmitting satellite.
Hardware/software errors may assign incorrect identiļ¬ers.
Incorrect Checksum
 Hardware/software errors may result in an incorrect
checksum for a Packet or VCDU.
Incorrect Counter
 Counters are used to track Packet or VCDU ordering.
Hardware/software errors may assign incorrect counter
values
Flipped Data Bits
 Physical channel noise may ļ¬‚ip one or more bits in the data
transmission.
Covering The Fault Model
Generic Mutation Operators
Conļ¬gurations for the Operators
18
Class Instance
Operators
Attribute Instance
Operators
Data Mutation Operators
Transmission
 Vcdu
Header
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

Packet
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Class Instance Operators
Transmission
 Vcdu
Header
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

Packet
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Class Instances
Swapping
Class Instance
Removal
Class Instance
Duplication
Class Instance Operators
Transmission
 Vcdu
Header
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

Packet
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Class Instances
Swapping
Class Instance
Removal
Class Instance
Duplication
Class Instance Operators
Transmission
 Vcdu
Header
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

Packet
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Class Instances
Swapping
Class Instance
Removal
Class Instance
Duplication
Header
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

Transmission
 Vcdu
ActiveZone
IdleZone
VirtualChannel
1
 1
1..*
1
1
data : Bytesequence
Ā«InputDataĀ»
PacketZone
1
1
Selecting Targets
Packet
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
1..*
 1..*
Ā«InputDataĀ»
1
1
Class Instances
Swapping
Class Instance
Removal
Class Instance
Duplication
Attribute Operators
Transmission
 Vcdu
Header
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

Packet
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Attribute Operators
Transmission
 Vcdu
Header
Packet
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Replacement
with Random
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer
Attribute Operators
Transmission
 Vcdu
Packet
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Replacement
with Random
Ā«Identiļ¬erĀ» versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

Header
Attribute Operators
Transmission
 Vcdu
Header
Packet
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Replacement
with Random
Ā«Identiļ¬erĀ» versionNumber : Integer
spaceCraftId : Integer
Ā«Identiļ¬erĀ» checksum : Integer

Replacement with 
Boundary Condition
versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
Attribute Operators
Transmission
 Vcdu
Header
Packet
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Replacement
with Random
Ā«Identiļ¬erĀ» versionNumber : Integer
spaceCraftId : Integer
Ā«Identiļ¬erĀ» checksum : Integer

Replacement with 
Boundary Condition
versionNumber : Integer
type : Integer
Ā«MeasureĀ» dataLength : Integer
data : Bytesequence
Attribute Operators
Transmission
 Vcdu
Header
Packet
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Replacement
with Random
Ā«Identiļ¬erĀ» versionNumber : Integer
Ā«Identiļ¬erĀ» spaceCraftId : Integer
Ā«Identiļ¬erĀ» checksum : Integer

Replacement with 
Boundary Condition
Ā«Identiļ¬erĀ» versionNumber : Integer
Ā«Identiļ¬erĀ» type : Integer
Ā«MeasureĀ» dataLength : Integer
data : Bytesequence
Attribute Operators
Transmission
 Vcdu
Header
Packet
PacketZone
ActiveZone
IdleZone
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Replacement
with Random
Ā«Identiļ¬erĀ» versionNumber : Integer
Ā«Identiļ¬erĀ» spaceCraftId : Integer
Ā«Identiļ¬erĀ» checksum : Integer

Replacement with 
Boundary Condition
 Bit Flipping
data : Bytesequence
Ā«Identiļ¬erĀ» versionNumber : Integer
Ā«Identiļ¬erĀ» type : Integer
Ā«MeasureĀ» dataLength : Integer
data : Bytesequence
Avoiding Trivial Errors
Keeping Dependencies
Transmission
 Vcdu
Header
Packet
PacketZone
ActiveZone
IdleZone
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Replacement
with Random
Ā«Identiļ¬erĀ» versionNumber : Integer
Ā«Identiļ¬erĀ» spaceCraftId : Integer
Ā«Identiļ¬erĀ» checksum : Integer

Replacement with 
Boundary Condition
 Bit Flipping
data : Bytesequence
Ā«Identiļ¬erĀ» versionNumber : Integer
Ā«Identiļ¬erĀ» type : Integer
Ā«MeasureĀ» dataLength : Integer
data : Bytesequence
Keeping Dependencies
Transmission
 Vcdu
Header
Packet
PacketZone
ActiveZone
IdleZone
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Replacement
with Random
Ā«Identiļ¬erĀ» versionNumber : Integer
Ā«Identiļ¬erĀ» spaceCraftId : Integer
Ā«Derived, Identiļ¬erĀ» checksum : Integer

Replacement with 
Boundary Condition
data : Bytesequence
Ā«Identiļ¬erĀ» versionNumber : Integer
Ā«Identiļ¬erĀ» type : Integer
Ā«MeasureĀ» dataLength : Integer
data : Bytesequence
Bit Flipping
Reļ¬ning Target Selection
Transmission
 Vcdu
Header
versionNumber : Integer
spaceCraftId : Integer
checksum : Integer

versionNumber : Integer
type : Integer
dataLength : Integer
data : Bytesequence
PacketZone
ActiveZone
IdleZone
data : Bytesequence
VirtualChannel
1
 1
1..*
1
1..*
 1..*
1
1
1
1
1
Class Instances
Swapping
Ā«InputDataĀ»
Ā«InputDataĀ»
 Packet
OCL queries to conļ¬gure the targets
on which an operator may work.
E.g. swapping of packets that belong 
to the same virtual channel
Mapping Between Fault Model and"
Mutation Operators
Fault
 Mutation Operator
 Conļ¬guration
Duplicate VCDU
 Class Instance Duplication
 Ā«InputDataĀ»
Duplicate Packet
 Class Instance Duplication
 Ā«InputDataĀ», Ā«DerivedĀ»
Missing VCDU
 Class Instance Removal
 Ā«InputDataĀ»
Missing Packet
 Class Instance Removal
 Ā«InputDataĀ», Ā«DerivedĀ»
Wrong VCDU Sequence
 Class Instances Swapping
 Ā«InputDataĀ»
Wrong Packet Sequence
 Class Instances Swapping
 Ā«InputDataĀ», Ā«DerivedĀ»,
Query to select packets
Incorrect Identiļ¬er
 Attribute Replacement with Random
 Ā«Identiļ¬erĀ», Ā«DerivedĀ»
Incorrect Checksum
 Attribute Replacement with Random
 Ā«Identiļ¬erĀ»
Incorrect Counter
 Attribute Replacement using Boundary Condition
 Ā«MeasureĀ», Ā«DerivedĀ»
Flipped Data Bits
 Attribute Bit Flipping
 none
Instantiated
Objects
Mutated Instantiated
Objects
Field Data
Mutated Field Data
Mutation & Validation
Output 
Data Modelling
Data Loading
Data Writing
Data Mutation
Execution
Validation
 Violated
Constraints
Input/Output 
structure
Input/Output 
constraints
SES-DAQ
Data Mutation Strategies
ā€¢ā€ÆRandom (RND) 
ā€¢ā€Æ Randomly select a mutation operator and randomly applies it to
one of the possible targets.
ā€¢ā€Æ Tester speciļ¬es number of test cases to generate per test suite.
ā€¢ā€ÆAll Possible Targets (APT) 
ā€¢ā€Æ Each class or attribute of the data model is mutated at least once
by each of the mutation operators that can be applied to it.
Empirical Evaluation
ā€¢ā€Æ Evaluated the effectiveness of the technique presented by
applying it on the SES-DAQ system.
ā€¢ā€Æ Compare RND/APT to SES testing practice.
ā€¢ā€Æ 32 system test cases using synthetic input data.
ā€¢ā€Æ Manually written based on domain expertise.
ā€¢ā€Æ GOAL: Determine if our technique can automatically achieve
equivalent or better coverage than manual test cases.
Test Suite Generation
ā€¢ā€Æ Applied both the RND and APT
ā€¢ā€Æ APT led to the generation of 43 test cases. 
ā€¢ā€Æ To compare the two strategies we generated 43 test cases for RND as well. 
ā€¢ā€Æ Both APT and RND carry a degree of randomness.
ā€¢ā€Æ Averaged results from 10 automatically generated test suites.
ā€¢ā€Æ JaCoCo used to measure code coverage.
ā€¢ā€Æ Number of bytecode instructions covered.
Experimental Results
Technique
 Coverage (bytecode)
minimum
 maximum
 average
SES Manual Test Suite
 --
 --
 22820 (70.9%)
RND Test Suite Generation
 22550 (70.1%)
 23060 (71.7%) 
 22899 (71.2%)
APT Test Suite Generation
 23226 (72.2%)
 23374 (72.7%)
 23283 (72.4%)
Automatically achieve
slightly better coverage than test cases
written manually by domain experts.
Identiļ¬ed one crash condition (unknown fault).
Future Work
ā€¢ā€Æ Better evaluate the effectiveness of our test suite generation
strategies with faulty versions of the SES-DAQ software.
ā€¢ā€Æ Devise a Search-Based approach to test suite generation.
ā€¢ā€Æ Fitness based on: 
ā€¢ā€Æ Coverage of Model / OCL Constraints
ā€¢ā€Æ Fault model
ā€¢ā€Æ Code Coverage
Complex
Test Data
Difļ¬cult To
Handcraft
Automatically achieve
slightly better coverage than
manual test cases
Conclusion

More Related Content

What's hot

PHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaPHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaMahdi Ben Alaya
Ā 
Merise 60 affaires classƩes
Merise 60 affaires classƩes  Merise 60 affaires classƩes
Merise 60 affaires classƩes oussama ben rejeb
Ā 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels Bilel Abed
Ā 
Implementing the IO Monad in Scala
Implementing the IO Monad in ScalaImplementing the IO Monad in Scala
Implementing the IO Monad in ScalaHermann Hueck
Ā 
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17Jean-Michel Doudoux
Ā 
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Lionel Briand
Ā 
Streams in Java 8
Streams in Java 8Streams in Java 8
Streams in Java 8Tobias Coetzee
Ā 
CrƩer un moteur de recherche avec des logiciels libres
CrƩer un moteur de recherche avec des logiciels libresCrƩer un moteur de recherche avec des logiciels libres
CrƩer un moteur de recherche avec des logiciels libresRobert Viseur
Ā 
Functional Error Handling with Cats
Functional Error Handling with CatsFunctional Error Handling with Cats
Functional Error Handling with CatsMark Canlas
Ā 
JAVA LOOP.pptx
JAVA LOOP.pptxJAVA LOOP.pptx
JAVA LOOP.pptxSofiaArquero2
Ā 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac Amri Ossama
Ā 
Mastering Java Bytecode With ASM - 33rd degree, 2012
Mastering Java Bytecode With ASM - 33rd degree, 2012Mastering Java Bytecode With ASM - 33rd degree, 2012
Mastering Java Bytecode With ASM - 33rd degree, 2012Anton Arhipov
Ā 
Domain Modeling Made Functional (KanDDDinsky 2019)
Domain Modeling Made Functional (KanDDDinsky 2019)Domain Modeling Made Functional (KanDDDinsky 2019)
Domain Modeling Made Functional (KanDDDinsky 2019)Scott Wlaschin
Ā 
An introduction to Google test framework
An introduction to Google test frameworkAn introduction to Google test framework
An introduction to Google test frameworkAbner Chih Yi Huang
Ā 
Exploring ZIO Prelude: The game changer for typeclasses in Scala
Exploring ZIO Prelude: The game changer for typeclasses in ScalaExploring ZIO Prelude: The game changer for typeclasses in Scala
Exploring ZIO Prelude: The game changer for typeclasses in ScalaJorge VƔsquez
Ā 

What's hot (20)

Quartz Scheduler
Quartz SchedulerQuartz Scheduler
Quartz Scheduler
Ā 
PHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaPHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben Alaya
Ā 
Merise 60 affaires classƩes
Merise 60 affaires classƩes  Merise 60 affaires classƩes
Merise 60 affaires classƩes
Ā 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels
Ā 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
Ā 
Implementing the IO Monad in Scala
Implementing the IO Monad in ScalaImplementing the IO Monad in Scala
Implementing the IO Monad in Scala
Ā 
A deep dive into libuv
A deep dive into libuvA deep dive into libuv
A deep dive into libuv
Ā 
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Ā 
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Ā 
Streams in Java 8
Streams in Java 8Streams in Java 8
Streams in Java 8
Ā 
Regex cheatsheet
Regex cheatsheetRegex cheatsheet
Regex cheatsheet
Ā 
SQL Injection Defense in Python
SQL Injection Defense in PythonSQL Injection Defense in Python
SQL Injection Defense in Python
Ā 
CrƩer un moteur de recherche avec des logiciels libres
CrƩer un moteur de recherche avec des logiciels libresCrƩer un moteur de recherche avec des logiciels libres
CrƩer un moteur de recherche avec des logiciels libres
Ā 
Functional Error Handling with Cats
Functional Error Handling with CatsFunctional Error Handling with Cats
Functional Error Handling with Cats
Ā 
JAVA LOOP.pptx
JAVA LOOP.pptxJAVA LOOP.pptx
JAVA LOOP.pptx
Ā 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
Ā 
Mastering Java Bytecode With ASM - 33rd degree, 2012
Mastering Java Bytecode With ASM - 33rd degree, 2012Mastering Java Bytecode With ASM - 33rd degree, 2012
Mastering Java Bytecode With ASM - 33rd degree, 2012
Ā 
Domain Modeling Made Functional (KanDDDinsky 2019)
Domain Modeling Made Functional (KanDDDinsky 2019)Domain Modeling Made Functional (KanDDDinsky 2019)
Domain Modeling Made Functional (KanDDDinsky 2019)
Ā 
An introduction to Google test framework
An introduction to Google test frameworkAn introduction to Google test framework
An introduction to Google test framework
Ā 
Exploring ZIO Prelude: The game changer for typeclasses in Scala
Exploring ZIO Prelude: The game changer for typeclasses in ScalaExploring ZIO Prelude: The game changer for typeclasses in Scala
Exploring ZIO Prelude: The game changer for typeclasses in Scala
Ā 

Viewers also liked

Identifying Optimal Trade-Offs between CPU Time Usage and Temporal Constraints
Identifying Optimal Trade-Offs between CPU Time Usage and Temporal ConstraintsIdentifying Optimal Trade-Offs between CPU Time Usage and Temporal Constraints
Identifying Optimal Trade-Offs between CPU Time Usage and Temporal ConstraintsLionel Briand
Ā 
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Lionel Briand
Ā 
Behind an Application Firewall, Are we Safe from SQL Injection Attacks?
Behind an Application Firewall, Are we Safe from SQL Injection Attacks?Behind an Application Firewall, Are we Safe from SQL Injection Attacks?
Behind an Application Firewall, Are we Safe from SQL Injection Attacks?Lionel Briand
Ā 
A Model-Based Framework for Probabilistic Simulation of Legal Policies
A Model-Based Framework for Probabilistic Simulation of Legal PoliciesA Model-Based Framework for Probabilistic Simulation of Legal Policies
A Model-Based Framework for Probabilistic Simulation of Legal PoliciesLionel Briand
Ā 
Keynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingKeynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingLionel Briand
Ā 
Using UML for Modeling Procedural Legal Rules
Using UML for Modeling Procedural Legal RulesUsing UML for Modeling Procedural Legal Rules
Using UML for Modeling Procedural Legal RulesLionel Briand
Ā 
A Scalable Approach for Malware Detec2on through Bounded Feature Space Behavi...
A Scalable Approach for Malware Detec2on through Bounded Feature Space Behavi...A Scalable Approach for Malware Detec2on through Bounded Feature Space Behavi...
A Scalable Approach for Malware Detec2on through Bounded Feature Space Behavi...Lionel Briand
Ā 
MiL Testing of Highly Configurable Continuous Controllers
MiL Testing of Highly Configurable Continuous ControllersMiL Testing of Highly Configurable Continuous Controllers
MiL Testing of Highly Configurable Continuous ControllersLionel Briand
Ā 
Model Based Test Validation and Oracles for Data Acquisition Systems
Model Based Test Validation and Oracles for Data Acquisition SystemsModel Based Test Validation and Oracles for Data Acquisition Systems
Model Based Test Validation and Oracles for Data Acquisition SystemsLionel Briand
Ā 
Improving Requirements Glossary Construction via Clustering
Improving Requirements Glossary Construction via ClusteringImproving Requirements Glossary Construction via Clustering
Improving Requirements Glossary Construction via ClusteringLionel Briand
Ā 
Automated detection and resolution of legal cross references
Automated detection and resolution of legal cross referencesAutomated detection and resolution of legal cross references
Automated detection and resolution of legal cross referencesLionel Briand
Ā 
Minimizing CPU Shortage Risks in Integrated Embedded Software
Minimizing CPU Shortage Risks in Integrated Embedded SoftwareMinimizing CPU Shortage Risks in Integrated Embedded Software
Minimizing CPU Shortage Risks in Integrated Embedded SoftwareLionel Briand
Ā 
Worst-Case Scheduling of Software Tasks
Worst-Case Scheduling of Software TasksWorst-Case Scheduling of Software Tasks
Worst-Case Scheduling of Software TasksLionel Briand
Ā 
Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...Lionel Briand
Ā 
Automated Testing for SQL Injection Vulnerabilities: An Input Mutation Approach
Automated Testing for SQL Injection Vulnerabilities: An Input Mutation ApproachAutomated Testing for SQL Injection Vulnerabilities: An Input Mutation Approach
Automated Testing for SQL Injection Vulnerabilities: An Input Mutation ApproachLionel Briand
Ā 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Lionel Briand
Ā 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLLionel Briand
Ā 
Research-Based Innovation with Industry: Project Experience and Lessons Learned
Research-Based Innovation with Industry: Project Experience and Lessons LearnedResearch-Based Innovation with Industry: Project Experience and Lessons Learned
Research-Based Innovation with Industry: Project Experience and Lessons LearnedLionel Briand
Ā 
Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Lionel Briand
Ā 
Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Lionel Briand
Ā 

Viewers also liked (20)

Identifying Optimal Trade-Offs between CPU Time Usage and Temporal Constraints
Identifying Optimal Trade-Offs between CPU Time Usage and Temporal ConstraintsIdentifying Optimal Trade-Offs between CPU Time Usage and Temporal Constraints
Identifying Optimal Trade-Offs between CPU Time Usage and Temporal Constraints
Ā 
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Ā 
Behind an Application Firewall, Are we Safe from SQL Injection Attacks?
Behind an Application Firewall, Are we Safe from SQL Injection Attacks?Behind an Application Firewall, Are we Safe from SQL Injection Attacks?
Behind an Application Firewall, Are we Safe from SQL Injection Attacks?
Ā 
A Model-Based Framework for Probabilistic Simulation of Legal Policies
A Model-Based Framework for Probabilistic Simulation of Legal PoliciesA Model-Based Framework for Probabilistic Simulation of Legal Policies
A Model-Based Framework for Probabilistic Simulation of Legal Policies
Ā 
Keynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingKeynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based Testing
Ā 
Using UML for Modeling Procedural Legal Rules
Using UML for Modeling Procedural Legal RulesUsing UML for Modeling Procedural Legal Rules
Using UML for Modeling Procedural Legal Rules
Ā 
A Scalable Approach for Malware Detec2on through Bounded Feature Space Behavi...
A Scalable Approach for Malware Detec2on through Bounded Feature Space Behavi...A Scalable Approach for Malware Detec2on through Bounded Feature Space Behavi...
A Scalable Approach for Malware Detec2on through Bounded Feature Space Behavi...
Ā 
MiL Testing of Highly Configurable Continuous Controllers
MiL Testing of Highly Configurable Continuous ControllersMiL Testing of Highly Configurable Continuous Controllers
MiL Testing of Highly Configurable Continuous Controllers
Ā 
Model Based Test Validation and Oracles for Data Acquisition Systems
Model Based Test Validation and Oracles for Data Acquisition SystemsModel Based Test Validation and Oracles for Data Acquisition Systems
Model Based Test Validation and Oracles for Data Acquisition Systems
Ā 
Improving Requirements Glossary Construction via Clustering
Improving Requirements Glossary Construction via ClusteringImproving Requirements Glossary Construction via Clustering
Improving Requirements Glossary Construction via Clustering
Ā 
Automated detection and resolution of legal cross references
Automated detection and resolution of legal cross referencesAutomated detection and resolution of legal cross references
Automated detection and resolution of legal cross references
Ā 
Minimizing CPU Shortage Risks in Integrated Embedded Software
Minimizing CPU Shortage Risks in Integrated Embedded SoftwareMinimizing CPU Shortage Risks in Integrated Embedded Software
Minimizing CPU Shortage Risks in Integrated Embedded Software
Ā 
Worst-Case Scheduling of Software Tasks
Worst-Case Scheduling of Software TasksWorst-Case Scheduling of Software Tasks
Worst-Case Scheduling of Software Tasks
Ā 
Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...
Ā 
Automated Testing for SQL Injection Vulnerabilities: An Input Mutation Approach
Automated Testing for SQL Injection Vulnerabilities: An Input Mutation ApproachAutomated Testing for SQL Injection Vulnerabilities: An Input Mutation Approach
Automated Testing for SQL Injection Vulnerabilities: An Input Mutation Approach
Ā 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.
Ā 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
Ā 
Research-Based Innovation with Industry: Project Experience and Lessons Learned
Research-Based Innovation with Industry: Project Experience and Lessons LearnedResearch-Based Innovation with Industry: Project Experience and Lessons Learned
Research-Based Innovation with Industry: Project Experience and Lessons Learned
Ā 
Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?
Ā 
Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!
Ā 

Similar to Generating Complex and Faulty Test Data Through Model-Based Mutation Analysis

Augmenting Field Data for Testing Systems Subject to Incremental Requirements...
Augmenting Field Data for Testing Systems Subject to Incremental Requirements...Augmenting Field Data for Testing Systems Subject to Incremental Requirements...
Augmenting Field Data for Testing Systems Subject to Incremental Requirements...Lionel Briand
Ā 
NTCIP Device Tester
NTCIP Device TesterNTCIP Device Tester
NTCIP Device Testerguestd76ad1
Ā 
CodeChecker summary 21062021
CodeChecker summary 21062021CodeChecker summary 21062021
CodeChecker summary 21062021Olivera Milenkovic
Ā 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCAmir Zmora
Ā 
Ntcip Device Tester
Ntcip Device TesterNtcip Device Tester
Ntcip Device TesterPeter Ashley
Ā 
Create The Internet of Your Things example of a real system - Laurent Ellerbach
Create The Internet of Your Things example of a real system - Laurent EllerbachCreate The Internet of Your Things example of a real system - Laurent Ellerbach
Create The Internet of Your Things example of a real system - Laurent EllerbachITCamp
Ā 
Daq toolbox examples_matlab
Daq toolbox examples_matlabDaq toolbox examples_matlab
Daq toolbox examples_matlabArihant Jain
Ā 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networksinside-BigData.com
Ā 
A New Framework for Detection
A New Framework for DetectionA New Framework for Detection
A New Framework for DetectionSourcefire VRT
Ā 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnelukdpe
Ā 
Sourcefire Vulnerability Research Team Labs
Sourcefire Vulnerability Research Team LabsSourcefire Vulnerability Research Team Labs
Sourcefire Vulnerability Research Team Labslosalamos
Ā 
MidoNet deep dive
MidoNet deep diveMidoNet deep dive
MidoNet deep diveTaku Fukushima
Ā 
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at MidokuraTechnical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at MidokuraMidoNet
Ā 
Active network
Active networkActive network
Active networkMichel Burger
Ā 
REN_AN-CM-242_Binary_Parity_Generator_and_Checker_APN_20210701_2.pdf
REN_AN-CM-242_Binary_Parity_Generator_and_Checker_APN_20210701_2.pdfREN_AN-CM-242_Binary_Parity_Generator_and_Checker_APN_20210701_2.pdf
REN_AN-CM-242_Binary_Parity_Generator_and_Checker_APN_20210701_2.pdfSantoshDeshmukh36
Ā 
Yogesh kumar kushwah representā€™s
Yogesh kumar kushwah representā€™sYogesh kumar kushwah representā€™s
Yogesh kumar kushwah representā€™sYogesh Kushwah
Ā 
POLYMER MODIFIED AND NEAT BITUMINOUS MIXES USING WARM MIX ASPHALT FOR PAVING ...
POLYMER MODIFIED AND NEAT BITUMINOUS MIXES USING WARM MIX ASPHALT FOR PAVING ...POLYMER MODIFIED AND NEAT BITUMINOUS MIXES USING WARM MIX ASPHALT FOR PAVING ...
POLYMER MODIFIED AND NEAT BITUMINOUS MIXES USING WARM MIX ASPHALT FOR PAVING ...AnilKumar109331
Ā 
Thesis_presentation ctm tk sha.ppt
Thesis_presentation ctm tk sha.pptThesis_presentation ctm tk sha.ppt
Thesis_presentation ctm tk sha.pptKavitaChhajed
Ā 
Thesis_presentation.ppt
Thesis_presentation.pptThesis_presentation.ppt
Thesis_presentation.pptMohdIshaq24
Ā 
Thesis presentation of college iit ppt.ppt
Thesis presentation of college iit ppt.pptThesis presentation of college iit ppt.ppt
Thesis presentation of college iit ppt.pptAmanJohnTudu
Ā 

Similar to Generating Complex and Faulty Test Data Through Model-Based Mutation Analysis (20)

Augmenting Field Data for Testing Systems Subject to Incremental Requirements...
Augmenting Field Data for Testing Systems Subject to Incremental Requirements...Augmenting Field Data for Testing Systems Subject to Incremental Requirements...
Augmenting Field Data for Testing Systems Subject to Incremental Requirements...
Ā 
NTCIP Device Tester
NTCIP Device TesterNTCIP Device Tester
NTCIP Device Tester
Ā 
CodeChecker summary 21062021
CodeChecker summary 21062021CodeChecker summary 21062021
CodeChecker summary 21062021
Ā 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
Ā 
Ntcip Device Tester
Ntcip Device TesterNtcip Device Tester
Ntcip Device Tester
Ā 
Create The Internet of Your Things example of a real system - Laurent Ellerbach
Create The Internet of Your Things example of a real system - Laurent EllerbachCreate The Internet of Your Things example of a real system - Laurent Ellerbach
Create The Internet of Your Things example of a real system - Laurent Ellerbach
Ā 
Daq toolbox examples_matlab
Daq toolbox examples_matlabDaq toolbox examples_matlab
Daq toolbox examples_matlab
Ā 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networks
Ā 
A New Framework for Detection
A New Framework for DetectionA New Framework for Detection
A New Framework for Detection
Ā 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
Ā 
Sourcefire Vulnerability Research Team Labs
Sourcefire Vulnerability Research Team LabsSourcefire Vulnerability Research Team Labs
Sourcefire Vulnerability Research Team Labs
Ā 
MidoNet deep dive
MidoNet deep diveMidoNet deep dive
MidoNet deep dive
Ā 
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at MidokuraTechnical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
Ā 
Active network
Active networkActive network
Active network
Ā 
REN_AN-CM-242_Binary_Parity_Generator_and_Checker_APN_20210701_2.pdf
REN_AN-CM-242_Binary_Parity_Generator_and_Checker_APN_20210701_2.pdfREN_AN-CM-242_Binary_Parity_Generator_and_Checker_APN_20210701_2.pdf
REN_AN-CM-242_Binary_Parity_Generator_and_Checker_APN_20210701_2.pdf
Ā 
Yogesh kumar kushwah representā€™s
Yogesh kumar kushwah representā€™sYogesh kumar kushwah representā€™s
Yogesh kumar kushwah representā€™s
Ā 
POLYMER MODIFIED AND NEAT BITUMINOUS MIXES USING WARM MIX ASPHALT FOR PAVING ...
POLYMER MODIFIED AND NEAT BITUMINOUS MIXES USING WARM MIX ASPHALT FOR PAVING ...POLYMER MODIFIED AND NEAT BITUMINOUS MIXES USING WARM MIX ASPHALT FOR PAVING ...
POLYMER MODIFIED AND NEAT BITUMINOUS MIXES USING WARM MIX ASPHALT FOR PAVING ...
Ā 
Thesis_presentation ctm tk sha.ppt
Thesis_presentation ctm tk sha.pptThesis_presentation ctm tk sha.ppt
Thesis_presentation ctm tk sha.ppt
Ā 
Thesis_presentation.ppt
Thesis_presentation.pptThesis_presentation.ppt
Thesis_presentation.ppt
Ā 
Thesis presentation of college iit ppt.ppt
Thesis presentation of college iit ppt.pptThesis presentation of college iit ppt.ppt
Thesis presentation of college iit ppt.ppt
Ā 

More from Lionel Briand

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
Ā 
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
Ā 
Metamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityMetamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityLionel Briand
Ā 
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Lionel Briand
Ā 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingLionel Briand
Ā 
Data-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsData-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsLionel Briand
Ā 
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsMany-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsLionel Briand
Ā 
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...Lionel Briand
Ā 
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Lionel Briand
Ā 
PRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsPRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsLionel Briand
Ā 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingLionel Briand
Ā 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Lionel Briand
Ā 
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyAutonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyLionel Briand
Ā 
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Lionel Briand
Ā 
Reinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationReinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationLionel Briand
Ā 
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Lionel Briand
Ā 
On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...Lionel Briand
Ā 
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Lionel Briand
Ā 
A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...Lionel Briand
Ā 
Requirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and ApplicationsRequirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and ApplicationsLionel Briand
Ā 

More from Lionel Briand (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
Ā 
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
Ā 
Metamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityMetamorphic Testing for Web System Security
Metamorphic Testing for Web System Security
Ā 
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Ā 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation Testing
Ā 
Data-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsData-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical Systems
Ā 
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsMany-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Ā 
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
Ā 
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Ā 
PRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsPRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System Logs
Ā 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software Testing
Ā 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Ā 
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyAutonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
Ā 
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Ā 
Reinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationReinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case Prioritization
Ā 
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Ā 
On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...
Ā 
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Ā 
A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...
Ā 
Requirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and ApplicationsRequirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and Applications
Ā 

Recently uploaded

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
Ā 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
Ā 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
Ā 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
Ā 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2
Ā 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
Ā 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
Ā 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
Ā 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
Ā 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
Ā 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
Ā 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
Ā 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
Ā 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
Ā 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
Ā 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
Ā 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
Ā 
WSO2CON 2024 - Building the API First Enterprise ā€“ Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise ā€“ Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise ā€“ Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise ā€“ Running an API Program, fr...WSO2
Ā 

Recently uploaded (20)

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Ā 
tonesoftg
tonesoftgtonesoftg
tonesoftg
Ā 
Abortion Pill Prices Boksburg [(+27832195400*)] šŸ„ Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] šŸ„ Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] šŸ„ Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] šŸ„ Women's Abortion Clinic in ...
Ā 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
Ā 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Ā 
Abortion Pills In Pretoria ](+27832195400*)[ šŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ šŸ„ Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ šŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ šŸ„ Women's Abortion Clinic In Pre...
Ā 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
Ā 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
Ā 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
Ā 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
Ā 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
Ā 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
Ā 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
Ā 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
Ā 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
Ā 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
Ā 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
Ā 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
Ā 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
Ā 
WSO2CON 2024 - Building the API First Enterprise ā€“ Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise ā€“ Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise ā€“ Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise ā€“ Running an API Program, fr...
Ā 

Generating Complex and Faulty Test Data Through Model-Based Mutation Analysis

  • 1. .lusoftware veriļ¬cation & validation VVS Generating Complex and Faulty Test Data Through Model-Based Mutation Analysis University of Luxembourg Interdisciplinary Centre for Security, Reliability and Trust Software Veriļ¬cation and Validation Lab Daniel Di Nardo, Fabrizio Pastore, Lionel Briand April 9, 2015
  • 2. Data Processing System Multiple ļ¬elds Nested structure Constraints among ļ¬elds Huge amount Invalid data Accepted & processed Discarded Valid data
  • 6. Data Processing System Multiple ļ¬elds Nested structure Constraints among ļ¬elds Huge amount Invalid data Accepted & processed Discarded Valid data Software Engineers manually handcraft erroneous inputs that cover the fault model of the system Expensive!
  • 7. Conļ¬gurations for Operators Data Modelling Generic Mutation Operators Through How to generate test data? How to validate results? How to satisfy the fault model? Test Automation
  • 8. Input Output Data Modelling using Class Diagrams + OCL Constraints (ASE 2013) context Vcdu inv: let frameCount : Integer = self.vcFrameCount, previousFrameCount : Integer = self.vcFrameCount in frameCount <> previousFrameCount + 1 implies VcduEvents.allInstances() ->exists(e | e.eventType = COUNTER_JUMP)
  • 9. Satellite Transmission Header Packet 1 Packet 2 Packet 3 Packet 4... Packet 1 Packet 2 Packet 3 VCDU 1 VCDU 2 ...Packet 4 Packet 5 Packet 6... VCDU 3 ...Packet 6... VCDU 4 VCDU 5 ...Packet 6 Packet 7 VCDU 6 SYNSYNSYNSYNSYNSYNSYN VCID=1 Header Header Header Header Header VCID=2 VCID=1 VCID=1 VCID=1 VCID=0 Idle Packet Pattern
  • 10. Input Data Model (simpliļ¬ed) Transmission Vcdu Header Packet PacketZone ActiveZone IdleZone versionNumber : Integer spaceCraftId : Integer checksum : Integer versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence data : Bytesequence 1..* 1 1..* 1 1 1 1
  • 11. Input Data Model (simpliļ¬ed) Transmission Vcdu Header versionNumber : Integer spaceCraftId : Integer checksum : Integer Packet versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1
  • 12. Software Under Test Output Constraints Checking Test Input Data Model Violated Constraints Model Instance Field Data Mutation Based Generation
  • 13. Mutation & Validation Output Data Loading Data Writing Data Mutation Execution Validation Violated Constraints Field Data Input/Output constraints Mutated Field Data SUT Instantiated Objects Mutated Instantiated Objects Input/Output structure Data Model
  • 14. 14 Not useful to test any kind of (trivially) invalid input Important to generate test inputs that ļ¬t a Fault Model
  • 15. Mutation & Validation Output Ā  Ā  Data Ā Modelling Ā  Data Ā Loading Ā  Data Ā Wri3ng Ā  Data Ā Muta3on Ā  Execu3on Ā  Valida3on Ā  Violated Ā  Constraints Ā  Transmission FileInput/Output structure Input/Output constraints Faulty Transmission File SES-Ā­ā€DAQ Ā  Instantiated Objects Mutated Instantiated Objects
  • 16. Fault Model of SES DAQ Fault Description Duplicate VCDU/Packet A VCDU/Packet appears twice in a transmission. Missing VCDU/Packet A VCDU/Packet is omitted during transmission Wrong Sequence VCDUs/Packets are sent out of order. Incorrect Identiļ¬er Several transmission data ļ¬elds have ļ¬xed values, e.g. ļ¬elds identifying the transmitting satellite. Hardware/software errors may assign incorrect identiļ¬ers. Incorrect Checksum Hardware/software errors may result in an incorrect checksum for a Packet or VCDU. Incorrect Counter Counters are used to track Packet or VCDU ordering. Hardware/software errors may assign incorrect counter values Flipped Data Bits Physical channel noise may ļ¬‚ip one or more bits in the data transmission.
  • 17. Covering The Fault Model Generic Mutation Operators Conļ¬gurations for the Operators
  • 19. Data Mutation Operators Transmission Vcdu Header versionNumber : Integer spaceCraftId : Integer checksum : Integer Packet versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1
  • 20. Class Instance Operators Transmission Vcdu Header versionNumber : Integer spaceCraftId : Integer checksum : Integer Packet versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Class Instances Swapping Class Instance Removal Class Instance Duplication
  • 21. Class Instance Operators Transmission Vcdu Header versionNumber : Integer spaceCraftId : Integer checksum : Integer Packet versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Class Instances Swapping Class Instance Removal Class Instance Duplication
  • 22. Class Instance Operators Transmission Vcdu Header versionNumber : Integer spaceCraftId : Integer checksum : Integer Packet versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Class Instances Swapping Class Instance Removal Class Instance Duplication
  • 23. Header versionNumber : Integer spaceCraftId : Integer checksum : Integer Transmission Vcdu ActiveZone IdleZone VirtualChannel 1 1 1..* 1 1 data : Bytesequence Ā«InputDataĀ» PacketZone 1 1 Selecting Targets Packet versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence 1..* 1..* Ā«InputDataĀ» 1 1 Class Instances Swapping Class Instance Removal Class Instance Duplication
  • 24. Attribute Operators Transmission Vcdu Header versionNumber : Integer spaceCraftId : Integer checksum : Integer Packet versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1
  • 25. Attribute Operators Transmission Vcdu Header Packet versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Replacement with Random versionNumber : Integer spaceCraftId : Integer checksum : Integer
  • 26. Attribute Operators Transmission Vcdu Packet versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Replacement with Random Ā«Identiļ¬erĀ» versionNumber : Integer spaceCraftId : Integer checksum : Integer Header
  • 27. Attribute Operators Transmission Vcdu Header Packet PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Replacement with Random Ā«Identiļ¬erĀ» versionNumber : Integer spaceCraftId : Integer Ā«Identiļ¬erĀ» checksum : Integer Replacement with Boundary Condition versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence
  • 28. Attribute Operators Transmission Vcdu Header Packet PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Replacement with Random Ā«Identiļ¬erĀ» versionNumber : Integer spaceCraftId : Integer Ā«Identiļ¬erĀ» checksum : Integer Replacement with Boundary Condition versionNumber : Integer type : Integer Ā«MeasureĀ» dataLength : Integer data : Bytesequence
  • 29. Attribute Operators Transmission Vcdu Header Packet PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Replacement with Random Ā«Identiļ¬erĀ» versionNumber : Integer Ā«Identiļ¬erĀ» spaceCraftId : Integer Ā«Identiļ¬erĀ» checksum : Integer Replacement with Boundary Condition Ā«Identiļ¬erĀ» versionNumber : Integer Ā«Identiļ¬erĀ» type : Integer Ā«MeasureĀ» dataLength : Integer data : Bytesequence
  • 30. Attribute Operators Transmission Vcdu Header Packet PacketZone ActiveZone IdleZone VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Replacement with Random Ā«Identiļ¬erĀ» versionNumber : Integer Ā«Identiļ¬erĀ» spaceCraftId : Integer Ā«Identiļ¬erĀ» checksum : Integer Replacement with Boundary Condition Bit Flipping data : Bytesequence Ā«Identiļ¬erĀ» versionNumber : Integer Ā«Identiļ¬erĀ» type : Integer Ā«MeasureĀ» dataLength : Integer data : Bytesequence
  • 32. Keeping Dependencies Transmission Vcdu Header Packet PacketZone ActiveZone IdleZone VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Replacement with Random Ā«Identiļ¬erĀ» versionNumber : Integer Ā«Identiļ¬erĀ» spaceCraftId : Integer Ā«Identiļ¬erĀ» checksum : Integer Replacement with Boundary Condition Bit Flipping data : Bytesequence Ā«Identiļ¬erĀ» versionNumber : Integer Ā«Identiļ¬erĀ» type : Integer Ā«MeasureĀ» dataLength : Integer data : Bytesequence
  • 33. Keeping Dependencies Transmission Vcdu Header Packet PacketZone ActiveZone IdleZone VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Replacement with Random Ā«Identiļ¬erĀ» versionNumber : Integer Ā«Identiļ¬erĀ» spaceCraftId : Integer Ā«Derived, Identiļ¬erĀ» checksum : Integer Replacement with Boundary Condition data : Bytesequence Ā«Identiļ¬erĀ» versionNumber : Integer Ā«Identiļ¬erĀ» type : Integer Ā«MeasureĀ» dataLength : Integer data : Bytesequence Bit Flipping
  • 34. Reļ¬ning Target Selection Transmission Vcdu Header versionNumber : Integer spaceCraftId : Integer checksum : Integer versionNumber : Integer type : Integer dataLength : Integer data : Bytesequence PacketZone ActiveZone IdleZone data : Bytesequence VirtualChannel 1 1 1..* 1 1..* 1..* 1 1 1 1 1 Class Instances Swapping Ā«InputDataĀ» Ā«InputDataĀ» Packet OCL queries to conļ¬gure the targets on which an operator may work. E.g. swapping of packets that belong to the same virtual channel
  • 35. Mapping Between Fault Model and" Mutation Operators Fault Mutation Operator Conļ¬guration Duplicate VCDU Class Instance Duplication Ā«InputDataĀ» Duplicate Packet Class Instance Duplication Ā«InputDataĀ», Ā«DerivedĀ» Missing VCDU Class Instance Removal Ā«InputDataĀ» Missing Packet Class Instance Removal Ā«InputDataĀ», Ā«DerivedĀ» Wrong VCDU Sequence Class Instances Swapping Ā«InputDataĀ» Wrong Packet Sequence Class Instances Swapping Ā«InputDataĀ», Ā«DerivedĀ», Query to select packets Incorrect Identiļ¬er Attribute Replacement with Random Ā«Identiļ¬erĀ», Ā«DerivedĀ» Incorrect Checksum Attribute Replacement with Random Ā«Identiļ¬erĀ» Incorrect Counter Attribute Replacement using Boundary Condition Ā«MeasureĀ», Ā«DerivedĀ» Flipped Data Bits Attribute Bit Flipping none
  • 36. Instantiated Objects Mutated Instantiated Objects Field Data Mutated Field Data Mutation & Validation Output Data Modelling Data Loading Data Writing Data Mutation Execution Validation Violated Constraints Input/Output structure Input/Output constraints SES-DAQ
  • 37. Data Mutation Strategies ā€¢ā€ÆRandom (RND) ā€¢ā€Æ Randomly select a mutation operator and randomly applies it to one of the possible targets. ā€¢ā€Æ Tester speciļ¬es number of test cases to generate per test suite. ā€¢ā€ÆAll Possible Targets (APT) ā€¢ā€Æ Each class or attribute of the data model is mutated at least once by each of the mutation operators that can be applied to it.
  • 38. Empirical Evaluation ā€¢ā€Æ Evaluated the effectiveness of the technique presented by applying it on the SES-DAQ system. ā€¢ā€Æ Compare RND/APT to SES testing practice. ā€¢ā€Æ 32 system test cases using synthetic input data. ā€¢ā€Æ Manually written based on domain expertise. ā€¢ā€Æ GOAL: Determine if our technique can automatically achieve equivalent or better coverage than manual test cases.
  • 39. Test Suite Generation ā€¢ā€Æ Applied both the RND and APT ā€¢ā€Æ APT led to the generation of 43 test cases. ā€¢ā€Æ To compare the two strategies we generated 43 test cases for RND as well. ā€¢ā€Æ Both APT and RND carry a degree of randomness. ā€¢ā€Æ Averaged results from 10 automatically generated test suites. ā€¢ā€Æ JaCoCo used to measure code coverage. ā€¢ā€Æ Number of bytecode instructions covered.
  • 40. Experimental Results Technique Coverage (bytecode) minimum maximum average SES Manual Test Suite -- -- 22820 (70.9%) RND Test Suite Generation 22550 (70.1%) 23060 (71.7%) 22899 (71.2%) APT Test Suite Generation 23226 (72.2%) 23374 (72.7%) 23283 (72.4%) Automatically achieve slightly better coverage than test cases written manually by domain experts. Identiļ¬ed one crash condition (unknown fault).
  • 41. Future Work ā€¢ā€Æ Better evaluate the effectiveness of our test suite generation strategies with faulty versions of the SES-DAQ software. ā€¢ā€Æ Devise a Search-Based approach to test suite generation. ā€¢ā€Æ Fitness based on: ā€¢ā€Æ Coverage of Model / OCL Constraints ā€¢ā€Æ Fault model ā€¢ā€Æ Code Coverage
  • 42. Complex Test Data Difļ¬cult To Handcraft Automatically achieve slightly better coverage than manual test cases Conclusion