SlideShare a Scribd company logo
.lusoftware verification & validation
VVS
Generating Complex and Faulty Test Data
Through Model-Based Mutation Analysis
University of Luxembourg
Interdisciplinary Centre for Security, Reliability and Trust
Software Verification and Validation Lab

Daniel Di Nardo, Fabrizio Pastore, Lionel Briand
April 9, 2015
Data
Processing
System
Multiple fields
Nested structure
Constraints among fields
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 files
Data
Processing
System
Multiple fields
Nested structure
Constraints among fields
Huge amount
Invalid
data
Accepted
& processed
Discarded
Valid
data
Software Engineers manually
handcraft erroneous inputs that
cover the fault model of the system
Expensive!
Configurations 
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 (simplified)
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 (simplified)
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 fit
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 Identifier
 Several transmission data fields have fixed values, e.g.
fields identifying the transmitting satellite.
Hardware/software errors may assign incorrect identifiers.
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 flip one or more bits in the data
transmission.
Covering The Fault Model
Generic Mutation Operators
Configurations 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
«Identifier» 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
«Identifier» versionNumber : Integer
spaceCraftId : Integer
«Identifier» 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
«Identifier» versionNumber : Integer
spaceCraftId : Integer
«Identifier» 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
«Identifier» versionNumber : Integer
«Identifier» spaceCraftId : Integer
«Identifier» checksum : Integer

Replacement with 
Boundary Condition
«Identifier» versionNumber : Integer
«Identifier» 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
«Identifier» versionNumber : Integer
«Identifier» spaceCraftId : Integer
«Identifier» checksum : Integer

Replacement with 
Boundary Condition
 Bit Flipping
data : Bytesequence
«Identifier» versionNumber : Integer
«Identifier» 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
«Identifier» versionNumber : Integer
«Identifier» spaceCraftId : Integer
«Identifier» checksum : Integer

Replacement with 
Boundary Condition
 Bit Flipping
data : Bytesequence
«Identifier» versionNumber : Integer
«Identifier» 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
«Identifier» versionNumber : Integer
«Identifier» spaceCraftId : Integer
«Derived, Identifier» checksum : Integer

Replacement with 
Boundary Condition
data : Bytesequence
«Identifier» versionNumber : Integer
«Identifier» type : Integer
«Measure» dataLength : Integer
data : Bytesequence
Bit Flipping
Refining 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 configure 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
 Configuration
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 Identifier
 Attribute Replacement with Random
 «Identifier», «Derived»
Incorrect Checksum
 Attribute Replacement with Random
 «Identifier»
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 specifies 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.
Identified 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
Difficult To
Handcraft
Automatically achieve
slightly better coverage than
manual test cases
Conclusion

More Related Content

What's hot

Probabilistic PCA, EM, and more
Probabilistic PCA, EM, and moreProbabilistic PCA, EM, and more
Probabilistic PCA, EM, and more
hsharmasshare
 
Multivariate data analysis regression, cluster and factor analysis on spss
Multivariate data analysis   regression, cluster and factor analysis on spssMultivariate data analysis   regression, cluster and factor analysis on spss
Multivariate data analysis regression, cluster and factor analysis on spss
Aditya Banerjee
 
Module 2_ Regression Models..pptx
Module 2_ Regression Models..pptxModule 2_ Regression Models..pptx
Module 2_ Regression Models..pptx
nikshaikh786
 
Triplus500 HS working.pptx
Triplus500 HS working.pptxTriplus500 HS working.pptx
Triplus500 HS working.pptx
Chandra Prakash Singh
 
Data Visualization 101: How to Design Charts and Graphs
Data Visualization 101: How to Design Charts and GraphsData Visualization 101: How to Design Charts and Graphs
Data Visualization 101: How to Design Charts and Graphs
Visage
 
Flink Labs Data Visualisation
Flink Labs Data VisualisationFlink Labs Data Visualisation
Flink Labs Data Visualisation
Flink Labs
 
Visual Analytics Best Practices
Visual Analytics Best PracticesVisual Analytics Best Practices
Visual Analytics Best Practices
Tableau Software
 
Arima model
Arima modelArima model
Arima model
Jassika
 
Confirmatory Factor Analysis
Confirmatory Factor AnalysisConfirmatory Factor Analysis
Confirmatory Factor Analysis
Economic Research Forum
 

What's hot (10)

Probabilistic PCA, EM, and more
Probabilistic PCA, EM, and moreProbabilistic PCA, EM, and more
Probabilistic PCA, EM, and more
 
Multivariate data analysis regression, cluster and factor analysis on spss
Multivariate data analysis   regression, cluster and factor analysis on spssMultivariate data analysis   regression, cluster and factor analysis on spss
Multivariate data analysis regression, cluster and factor analysis on spss
 
Module 2_ Regression Models..pptx
Module 2_ Regression Models..pptxModule 2_ Regression Models..pptx
Module 2_ Regression Models..pptx
 
Triplus500 HS working.pptx
Triplus500 HS working.pptxTriplus500 HS working.pptx
Triplus500 HS working.pptx
 
Data Visualization 101: How to Design Charts and Graphs
Data Visualization 101: How to Design Charts and GraphsData Visualization 101: How to Design Charts and Graphs
Data Visualization 101: How to Design Charts and Graphs
 
Flink Labs Data Visualisation
Flink Labs Data VisualisationFlink Labs Data Visualisation
Flink Labs Data Visualisation
 
Visual Analytics Best Practices
Visual Analytics Best PracticesVisual Analytics Best Practices
Visual Analytics Best Practices
 
cross tabulation
 cross tabulation cross tabulation
cross tabulation
 
Arima model
Arima modelArima model
Arima model
 
Confirmatory Factor Analysis
Confirmatory Factor AnalysisConfirmatory Factor Analysis
Confirmatory Factor Analysis
 

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 Policies
Lionel 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 Rules
Lionel 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 Systems
Lionel 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 Software
Lionel 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 Learned
Lionel 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 Tester
guestd76ad1
 
CodeChecker summary 21062021
CodeChecker summary 21062021CodeChecker summary 21062021
CodeChecker summary 21062021
Olivera 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 WebRTC
Amir Zmora
 
Ntcip Device Tester
Ntcip Device TesterNtcip Device Tester
Ntcip Device Tester
Peter 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 Ellerbach
ITCamp
 
Daq toolbox examples_matlab
Daq toolbox examples_matlabDaq toolbox examples_matlab
Daq toolbox examples_matlab
Arihant Jain
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networks
inside-BigData.com
 
A New Framework for Detection
A New Framework for DetectionA New Framework for Detection
A New Framework for Detection
Sourcefire VRT
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
ukdpe
 
Sourcefire Vulnerability Research Team Labs
Sourcefire Vulnerability Research Team LabsSourcefire Vulnerability Research Team Labs
Sourcefire Vulnerability Research Team Labs
losalamos
 
MidoNet deep dive
MidoNet deep diveMidoNet deep dive
MidoNet deep dive
Taku 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 Midokura
MidoNet
 
Active network
Active networkActive network
Active network
Michel 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.pdf
SantoshDeshmukh36
 
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.ppt
KavitaChhajed
 
Thesis_presentation.ppt
Thesis_presentation.pptThesis_presentation.ppt
Thesis_presentation.ppt
Nishant Kumar
 
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
AmanJohnTudu
 

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 Goal
Lionel 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 Repair
Lionel Briand
 
Metamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityMetamorphic Testing for Web System Security
Metamorphic Testing for Web System Security
Lionel 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 Testing
Lionel 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 Systems
Lionel 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 Systems
Lionel 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 Logs
Lionel 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 Testing
Lionel 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 Safety
Lionel 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 Prioritization
Lionel 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
 
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
 
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
 

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

Recently uploaded

Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 

Recently uploaded (20)

Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 

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

  • 1. .lusoftware verification & validation VVS Generating Complex and Faulty Test Data Through Model-Based Mutation Analysis University of Luxembourg Interdisciplinary Centre for Security, Reliability and Trust Software Verification and Validation Lab Daniel Di Nardo, Fabrizio Pastore, Lionel Briand April 9, 2015
  • 2. Data Processing System Multiple fields Nested structure Constraints among fields Huge amount Invalid data Accepted & processed Discarded Valid data
  • 6. Data Processing System Multiple fields Nested structure Constraints among fields 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. Configurations 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 (simplified) 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 (simplified) 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 fit 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 Identifier Several transmission data fields have fixed values, e.g. fields identifying the transmitting satellite. Hardware/software errors may assign incorrect identifiers. 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 flip one or more bits in the data transmission.
  • 17. Covering The Fault Model Generic Mutation Operators Configurations 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 «Identifier» 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 «Identifier» versionNumber : Integer spaceCraftId : Integer «Identifier» 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 «Identifier» versionNumber : Integer spaceCraftId : Integer «Identifier» 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 «Identifier» versionNumber : Integer «Identifier» spaceCraftId : Integer «Identifier» checksum : Integer Replacement with Boundary Condition «Identifier» versionNumber : Integer «Identifier» 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 «Identifier» versionNumber : Integer «Identifier» spaceCraftId : Integer «Identifier» checksum : Integer Replacement with Boundary Condition Bit Flipping data : Bytesequence «Identifier» versionNumber : Integer «Identifier» 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 «Identifier» versionNumber : Integer «Identifier» spaceCraftId : Integer «Identifier» checksum : Integer Replacement with Boundary Condition Bit Flipping data : Bytesequence «Identifier» versionNumber : Integer «Identifier» 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 «Identifier» versionNumber : Integer «Identifier» spaceCraftId : Integer «Derived, Identifier» checksum : Integer Replacement with Boundary Condition data : Bytesequence «Identifier» versionNumber : Integer «Identifier» type : Integer «Measure» dataLength : Integer data : Bytesequence Bit Flipping
  • 34. Refining 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 configure 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 Configuration 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 Identifier Attribute Replacement with Random «Identifier», «Derived» Incorrect Checksum Attribute Replacement with Random «Identifier» 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 specifies 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. Identified 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 Difficult To Handcraft Automatically achieve slightly better coverage than manual test cases Conclusion