SlideShare a Scribd company logo
Mutation Analysis for Cyber-Physical Systems:
Scalable Solutions and Results in the Space Domain
Oscar Cornejo, Fabrizio Pastore, Lionel Briand
University of Luxembourg
University of Ottawa
ICSE 2022
Journal First paper appearing in in IEEE Transactions on Software Engineering,
doi:10.1109/TSE.2021.3107680
2
Fault-based, Automated Quality Assurance
Assessment and Augmentation for Space Software
(FAQAS)
Gomspace
Luxembourg (GSL)
• Develop Nanosatellites
• Case study provider
• Technology validator
LuxSpace
SnT/University of
Luxembourg
• Technology provider
• Develop Microsatelites
• Case study provider
• Technology validator
https://faqas.uni.lu/
• Tenderer
• Case study provider
• Technology validator
Software
has a prominent role
in Space Systems
Software failures have high impact
How
Space Software is
Verified and
Validated?
Software testing is prevalent in V&V
Word cloud for
ECSS-Q-ST-80C standard
How to ensure
thorough testing?
8
Mutation Analysis
SUT SUT SUT SUT
Test
Suite
Test
Suite
Test
Suite
Test
Suite
SUT
Test
Suite
. . .
FAIL PASS FAIL FAIL PASS
SUT
Test
Suite
PASS
Mutation score =
# FAIL
Total
EQUIVALENT
REDUNDANT
SCALABILITY
12
Mutation Literature
Lack integrated
pipeline
Schemata and split-stream:
Infeasible with hardware
emulators
Mutants sampling:
no accuracy guarantees
or too many mutants
Prioritization solutions:
Assumptions on test length
or rely on expensive data-flow
analysis
Redundant mutants:
better keep
subsumed ones but
distinguish them.
We discard
only duplicate
mutants.
Equivalent mutants’ detection:
Symbolic execution
infeasible with large
systems
(modelling of channels,
no floating point, ..)
Dynamic analysis
collect too much data
Our pipeline:
Mutation Analysis for
Space Sofware
(MASS)
14
Collect test data
1
Code
Coverage
15
Create mutants
2
Collect test data
1
Code
Coverage
16
Create mutants Compile mutants
2
Collect test data
1
Code
Coverage
3
Mutants successfully
compiled
17
Create mutants Compile mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants successfully
compiled
Unique mutants
• Literature: Equivalent programs may lead to same executables
after compiler optimizations
• We compile the original software and every mutant multiple
times
• once for each optimization option (i.e., -O0, -O1, -O2, -O3, -Os, -Ofast in GCC)
• we compute the SHA-512 hash summary of the generated executable
• we compare hash summaries
18
Create mutants Compile mutants
Killed Mutants
Live Mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Sampled mutants
Sample mutants
Execute test cases
5
6
21
65.36%
Mutants sampling
20%
40%
60%
80%
100%
0%
0 500 1000
Mutation
score
22
65.36%
Mutants sampling
20%
40%
60%
80%
100%
0%
0 500 1000
Mutants sampled
Mutation
score
23
65.36%
Mutants sampling
20%
40%
60%
80%
100%
0%
0 500 1000
• A confidence interval captures a range
that has a probability (e.g., 95%) of
including the estimated value, (the
mutation score)
• MS=[L;U]
• Assuming that MS follows a binomial
distribution, we rely on the Clopper-
Pearson method for CI computation
Mutation
score
Mutants sampled
• Fixed-width sequential confidence
interval (FSCI) method:
• stop sampling when (U – L) < 10
• difference between estimated MS and
actual one is at most 5 percentage p.
24
Create mutants Compile mutants
Killed Mutants
Live Mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Evaluate mutation
score’s confidence
Sampled mutants
Sample mutants
Execute test cases
5
6 7
25
Create mutants Compile mutants
Killed Mutants
Live Mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Evaluate mutation
score’s confidence
Sampled mutants
Sample mutants
Execute prioritized
subset of test cases
5
6 7 • MS=[L+Perr;U+ Perr]
• Proportion of mutants live
by mistake
Perr =[Lerr;Uerr]
• MS=[L+Lerr;U+ Uerr]
Confidence interval correction
26
Create mutants Compile mutants
Killed Mutants
Live Mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Evaluate mutation
score’s confidence
Sampled mutants
Sample mutants
Execute prioritized
subset of test cases
5
6 7
• Based on statement coverage
• Test suite prioritization:
• greedy algorithm
• select first the test cases
with the largest distance
from the closest, already
selected, test case
• Test suite reduction: exclude test
cases with a distance of zero
• Cosine distance: best accuracy
32
Create mutants Compile mutants
Killed Mutants
Live Mutants Live,
non-equivalent
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Killed
Evaluate mutation
score’s confidence
Sampled mutants
Discard likely equivalent
mutants based on coverage
Sample mutants
Execute prioritized
subset of test cases
5
6 7 8
33
Discard likely equivalent mutants
Inspired by Schuler et al.
34
Discard likely equivalent mutants
not equivalent if distance > threshold T
Stmt1: 20
Stmt2: 0
…
Stmt357: 6
Stmt1: 73
…
Stmt357: 56
Original program Mutant
Stmt1: 20
…
Stmt357: 6
Stmt1: 20
Stmt2: 0
…
Stmt357: 6
Stmt1: 2
…
Stmt357: 6
Stmt1: 20
…
Stmt357: 6
… …
Test1 Test1
Test5 Test5
Test257 Test257
distance=0
distance=0.2
distance=0.1
Inspired by Schuler et al.
35
Discard likely equivalent mutants
not equivalent if distance > 0
Stmt1: 20
Stmt2: 0
…
Stmt357: 6
Stmt1: 73
…
Stmt357: 56
Original program Mutant
Stmt1: 20
…
Stmt357: 6
Stmt1: 20
Stmt2: 0
…
Stmt357: 6
Stmt1: 2
…
Stmt357: 6
Stmt1: 20
…
Stmt357: 6
… …
Test1 Test1
Test5 Test5
Test257 Test257
distance=0
distance=0.2
distance=0.1
Inspired by Schuler et al.
37
Create mutants Compile mutants
Killed Mutants
Live Mutants Live,
non-equivalent
2
Collect test data
1
Code
Coverage
Remove equivalent/redundant
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Killed
Evaluate mutation
score’s confidence
Sampled mutants
Discard likely equivalent
mutants based on coverage
Sample mutants
Execute prioritized
subset of test cases
5
6 7 8
Compute final
mutation score
9
38
Create mutants Compile mutants
Killed Mutants
Live Mutants Live,
non-equivalent
2
Collect test data
1
Code
Coverage
Remove equivalent/redundant
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Killed
Evaluate mutation
score’s confidence
Sampled mutants
Discard likely equivalent
mutants based on coverage
Sample mutants
Execute prioritized
subset of test cases
5
6 7 8
Compute final
mutation score
9
Mutation testing
10
39
Create mutants Compile mutants
Killed Mutants
Live Mutants Live,
non-equivalent
2
Collect test data
1
Code
Coverage
Remove equivalent/redundant
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Killed
Evaluate mutation
score’s confidence
Sampled mutants
Discard likely equivalent
mutants based on coverage
Sample mutants
Execute prioritized
subset of test cases
5
6 7 8
Compute final
mutation score
9
Mutation testing
10
Empirical evaluation
42
Case study subjects
• Control software of LuxSpace’s
ESAIL satelite
• Network, Configuration, and Utility
libraries from GomSpace’s
nanosatellites
• MLFS - Mathematical Library for
Flight Software by ESA
45
RQ2. How do FSCI-based sampling compare
to other mutants sampling approaches?
• compute the actual mutation score using all the mutants
• compute the mutation score obtained with different sampling
methods, in 100 executions
• uniform sampling (i.e., selecting 1%, 2%, ..,20%, .., 100% of the mutants)
• uniform fixed-size sampling (i.e., selecting 100, 200, ..,1000 of the mutants)
• FSCI-based sampling (with CI=0.10, 0.09, .. 0.01)
• determine which approach configuration provides an accurate
mutation score with the lowest number of samples
• the mutation score is accurate if, for 95% executions, the difference from the actual
mutation score is below 5 percentage points
46
RQ2. Results
LibNet LibConf LibUt MLFS ESAIL
Approach # Mutants Delta Approach # Mutants Delta Approach # Mutants Delta Approach# Mutants Delta Approach # Mutants Delta
SAMPLE 0,01 50 13,64 SAMPLE 0,01 40 12,19 FIXED 100 7,32 FIXED 100 7,8 SAMPLE 0,01 36 14,04
SAMPLE 0,02 100 10,64 SAMPLE 0,02 79 10,03 SAMPLE 0,01 146 7,54 FIXED 200 5,2 SAMPLE 0,02 71 11,84
FIXED 100 9,88 FIXED 100 10,17 FIXED 200 5,73 SAMPLE 0,01 214 4,9 FIXED 100 8,89
SAMPLE 0,03 150 10,36 SAMPLE 0,03 118 7,7 SAMPLE 0,02 292 6,15 FSCI 0.1 248 4,56 SAMPLE 0,03 107 8,84
SAMPLE 0,04 200 6,4 SAMPLE 0,04 158 6,46 FIXED 300 5,37 FIXED 300 4,04 SAMPLE 0,04 142 7,92
FIXED 200 5,86 SAMPLE 0,05 197 6,98 FSCI 0.1 333 4,73 FSCI 0.09 302 4,64 SAMPLE 0,05 177 6,39
SAMPLE 0,05 250 7,07 FIXED 200 6,12 FIXED 400 4,45 FSCI 0.08 379 4,01 FIXED 200 6,14
SAMPLE 0,06 299 5,95 SAMPLE 0,06 236 5,78 FSCI 0.09 409 4,08 FIXED 400 3,8 SAMPLE 0,06 213 6,25
FIXED 300 4,48 SAMPLE 0,07 276 5,73 SAMPLE 0,03 438 4,2 SAMPLE 0,02 428 3,19 SAMPLE 0,07 248 5,2
SAMPLE 0,07 349 5,01 FIXED 300 5,88 FIXED 500 3,8 SAMPLE 0,03 642 3,15 SAMPLE 0,08 283 5,68
FSCI 0.1 364 4,42 SAMPLE 0,08 315 5,01 FSCI 0.08 514 3,94 SAMPLE 0,04 855 2,53 FIXED 300 5,53
SAMPLE 0,08 399 5,12 FSCI 0.1 346 4,26 SAMPLE 0,04 583 3,28 SAMPLE 0,05 1.069 2,58 SAMPLE 0,09 319 4,55
FIXED 400 5,49 SAMPLE 0,09 354 3,48 FIXED 600 3,29 SAMPLE 0,06 1.283 2,24 FSCI 0.1 366 3,92
FSCI 0.09 447 3,7 SAMPLE 0,1 394 4,36 FSCI 0.07 668 3,99 SAMPLE 0,07 1.497 2,24 SAMPLE 0,1 354 5,26
SAMPLE 0,09 449 4,53 FIXED 400 4,27 FIXED 700 3,3 SAMPLE 0,08 1.710 1,71 FIXED 400 4,52
SAMPLE 0,1 499 4,61 FSCI 0.09 425 3,79 SAMPLE 0,05 729 3,11 SAMPLE 0,09 1.924 1,73 FSCI 0.09 449 3,66
FIXED 500 3,85 FIXED 500 3,63 SAMPLE 0,06 875 2,92 SAMPLE 0,1 2.138 1,55 FIXED 500 4,08
48
RQ4. How do test suite optimization strategies
speed-up the mutation analysis process?
• Non-optimized mutation analysis
• for every mutant, execute all the test cases
that cover the mutant
• MASS includes two optimizations
• FSCI-based sampling
• Prioritize and Reduce
• Three possible MASS configurations
• execute all mutants and apply Prioritize and Reduce
• rely only on FSCI-based sampling
• FSCI-based sampling and Prioritize and Reduce
• Metric: the time savings wrt non-optimized
• consider 100 executions
Mutants Test cases
M1 T1 T2 T3 T4 T9
M2 T7 T9
M3 T4 T5 T8
M4 T10 12 T13 T15 T8
M1 T1 T2 T3 T4 T9
M3 T4 T5 T8
M1 T9 T3
M2 T9 T7
M3 T5 T8 T4
M4 T15 13 T8 T15
M1 T9 T3
M3 T5 T8 T4
49
51
RQ4. Results
• MASS makes mutation analysis
feasible for large software
• ESAIL from 11,000 hours to 1,531
(12 hours with 100 HPC nodes)
Subject Execution time (hours)
ESAILS 11,000
LIBNet 70
LIBPar 13
LIBUtil 59
MLFS 47
Non-optimized execution
execute all mutants
and apply
Prioritize and Reduce
FSCI-based
sampling
and
Prioritize and Reduce
rely on
FSCI-based
sampling
56
RQ6. How do MASS and traditonal mutation
score compare?
• Difference depends on the equivalent mutants being discarded
• Except for MLFS, score reflect imperfections in SiL test suites
• several features covered with HiL testing
• lack of coverage for exceptional/unusual case
• MLFS achieves MC/DC
• however, deletion operators show limitations in the test input partitions covered
Mutation score
Subject Traditional MASS
ESAILS 65.36 65.95
LIBNet 65.64 70.92
LIBPar 69.12 85.95
LIBUtil 71.20 84.41
MLFS 81.80 93.49
Average 70.62 81.14
57
How to ensure
thorough testing
in Space CPS?
Results confirm the scalability and effectiveness of MASS, in particular
(1) accuracy and time savings introduced by FSCI-based sampling
(2) usefulness of mutation analysis to discover test suite pitfalls
39
Create mutants Compile mutants
Killed Mutants
Live Mutants Live,
non-equivalent
2
Collect test data
1
Code
Coverage
Remove equivalent/redundant
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Killed
Evaluate mutation
score’s confidence
Sampled mutants
Discard likely equivalent
mutants based on coverage
Sample mutants
Execute prioritized
subset of test cases
5
6 7 8
Compute final
mutation score
9
Mutation testing
10
MASS: Mutation Analysis for Space Software
https://faqas.uni.lu/
Mutation Analysis for Cyber-Physical Systems:
Scalable Solutions and Results in the Space Domain
Oscar Cornejo, Fabrizio Pastore, Lionel Briand
University of Luxembourg
University of Ottawa
ICSE 2022
Journal First paper appearing in in IEEE Transactions on Software Engineering,
doi:10.1109/TSE.2021.3107680

More Related Content

Similar to Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space Domain

SQCFramework: SPARQL Query Containment Benchmarks Generation Framework
SQCFramework: SPARQL Query Containment Benchmarks Generation FrameworkSQCFramework: SPARQL Query Containment Benchmarks Generation Framework
SQCFramework: SPARQL Query Containment Benchmarks Generation Framework
Holistic Benchmarking of Big Linked Data
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
Shiva Nejati
 
Soft And Handling
Soft And HandlingSoft And Handling
Soft And Handlinghiratufail
 
A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...
A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...
A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...
ejhukkanen
 
Testing of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven StrategiesTesting of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven Strategies
Lionel Briand
 
Med day presentation
Med day presentationMed day presentation
Med day presentationCarsten Lund
 
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
Fabio Palomba
 
How good are your tests?
How good are your tests?How good are your tests?
How good are your tests?
Noam Shaish
 
Robots, Small Molecules & R
Robots, Small Molecules & RRobots, Small Molecules & R
Robots, Small Molecules & RRajarshi Guha
 
Cross-validation aggregation for forecasting
Cross-validation aggregation for forecastingCross-validation aggregation for forecasting
Cross-validation aggregation for forecasting
Devon Barrow
 
Model based testing using finite state machine(FSM)
Model based testing using finite state machine(FSM)Model based testing using finite state machine(FSM)
Model based testing using finite state machine(FSM)
Kumaresh Chandra Baruri
 
Overview of statistical tests: Data handling and data quality (Part II)
Overview of statistical tests: Data handling and data quality (Part II)Overview of statistical tests: Data handling and data quality (Part II)
Overview of statistical tests: Data handling and data quality (Part II)
Bioinformatics and Computational Biosciences Branch
 
Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...
Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...
Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...
GERSTEL
 
Mutation Testing.pdf
Mutation Testing.pdfMutation Testing.pdf
Mutation Testing.pdf
Keir Bowden
 
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyOnline Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
Manuel Martín
 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation Testing
Lionel Briand
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
Chakkrit (Kla) Tantithamthavorn
 
Ga ppt (1)
Ga ppt (1)Ga ppt (1)
Ga ppt (1)
RAHUL SOLANKI
 
El.slide stadley
El.slide stadleyEl.slide stadley
El.slide stadley
RCCSRENKEI
 
Biopharmaceutical Formulation Development CM3 Implementation and Initial Testing
Biopharmaceutical Formulation Development CM3 Implementation and Initial TestingBiopharmaceutical Formulation Development CM3 Implementation and Initial Testing
Biopharmaceutical Formulation Development CM3 Implementation and Initial Testing
KBI Biopharma
 

Similar to Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space Domain (20)

SQCFramework: SPARQL Query Containment Benchmarks Generation Framework
SQCFramework: SPARQL Query Containment Benchmarks Generation FrameworkSQCFramework: SPARQL Query Containment Benchmarks Generation Framework
SQCFramework: SPARQL Query Containment Benchmarks Generation Framework
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
 
Soft And Handling
Soft And HandlingSoft And Handling
Soft And Handling
 
A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...
A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...
A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...
 
Testing of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven StrategiesTesting of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven Strategies
 
Med day presentation
Med day presentationMed day presentation
Med day presentation
 
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
 
How good are your tests?
How good are your tests?How good are your tests?
How good are your tests?
 
Robots, Small Molecules & R
Robots, Small Molecules & RRobots, Small Molecules & R
Robots, Small Molecules & R
 
Cross-validation aggregation for forecasting
Cross-validation aggregation for forecastingCross-validation aggregation for forecasting
Cross-validation aggregation for forecasting
 
Model based testing using finite state machine(FSM)
Model based testing using finite state machine(FSM)Model based testing using finite state machine(FSM)
Model based testing using finite state machine(FSM)
 
Overview of statistical tests: Data handling and data quality (Part II)
Overview of statistical tests: Data handling and data quality (Part II)Overview of statistical tests: Data handling and data quality (Part II)
Overview of statistical tests: Data handling and data quality (Part II)
 
Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...
Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...
Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...
 
Mutation Testing.pdf
Mutation Testing.pdfMutation Testing.pdf
Mutation Testing.pdf
 
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyOnline Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation Testing
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
 
Ga ppt (1)
Ga ppt (1)Ga ppt (1)
Ga ppt (1)
 
El.slide stadley
El.slide stadleyEl.slide stadley
El.slide stadley
 
Biopharmaceutical Formulation Development CM3 Implementation and Initial Testing
Biopharmaceutical Formulation Development CM3 Implementation and Initial TestingBiopharmaceutical Formulation Development CM3 Implementation and Initial Testing
Biopharmaceutical Formulation Development CM3 Implementation and Initial Testing
 

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
 
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
 
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
 
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
Lionel Briand
 
Practical Constraint Solving for Generating System Test Data
Practical Constraint Solving for Generating System Test DataPractical Constraint Solving for Generating System Test Data
Practical Constraint Solving for Generating System Test Data
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-...
 
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
 
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...
 
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
 
Practical Constraint Solving for Generating System Test Data
Practical Constraint Solving for Generating System Test DataPractical Constraint Solving for Generating System Test Data
Practical Constraint Solving for Generating System Test Data
 

Recently uploaded

Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
KrzysztofKkol1
 
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
 
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
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
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
 

Recently uploaded (20)

Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
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
 
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
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
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
 

Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space Domain

  • 1. Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space Domain Oscar Cornejo, Fabrizio Pastore, Lionel Briand University of Luxembourg University of Ottawa ICSE 2022 Journal First paper appearing in in IEEE Transactions on Software Engineering, doi:10.1109/TSE.2021.3107680
  • 2. 2 Fault-based, Automated Quality Assurance Assessment and Augmentation for Space Software (FAQAS) Gomspace Luxembourg (GSL) • Develop Nanosatellites • Case study provider • Technology validator LuxSpace SnT/University of Luxembourg • Technology provider • Develop Microsatelites • Case study provider • Technology validator https://faqas.uni.lu/ • Tenderer • Case study provider • Technology validator
  • 3. Software has a prominent role in Space Systems
  • 6. Software testing is prevalent in V&V Word cloud for ECSS-Q-ST-80C standard
  • 8. 8 Mutation Analysis SUT SUT SUT SUT Test Suite Test Suite Test Suite Test Suite SUT Test Suite . . . FAIL PASS FAIL FAIL PASS SUT Test Suite PASS Mutation score = # FAIL Total EQUIVALENT REDUNDANT SCALABILITY
  • 9. 12 Mutation Literature Lack integrated pipeline Schemata and split-stream: Infeasible with hardware emulators Mutants sampling: no accuracy guarantees or too many mutants Prioritization solutions: Assumptions on test length or rely on expensive data-flow analysis Redundant mutants: better keep subsumed ones but distinguish them. We discard only duplicate mutants. Equivalent mutants’ detection: Symbolic execution infeasible with large systems (modelling of channels, no floating point, ..) Dynamic analysis collect too much data
  • 10. Our pipeline: Mutation Analysis for Space Sofware (MASS)
  • 12. 15 Create mutants 2 Collect test data 1 Code Coverage
  • 13. 16 Create mutants Compile mutants 2 Collect test data 1 Code Coverage 3 Mutants successfully compiled
  • 14. 17 Create mutants Compile mutants 2 Collect test data 1 Code Coverage Remove equivalent/duplicate based on compiler optimizations 4 3 Mutants successfully compiled Unique mutants • Literature: Equivalent programs may lead to same executables after compiler optimizations • We compile the original software and every mutant multiple times • once for each optimization option (i.e., -O0, -O1, -O2, -O3, -Os, -Ofast in GCC) • we compute the SHA-512 hash summary of the generated executable • we compare hash summaries
  • 15. 18 Create mutants Compile mutants Killed Mutants Live Mutants 2 Collect test data 1 Code Coverage Remove equivalent/duplicate based on compiler optimizations 4 3 Mutants Code coverage Mutants successfully compiled Unique mutants Sampled mutants Sample mutants Execute test cases 5 6
  • 17. 22 65.36% Mutants sampling 20% 40% 60% 80% 100% 0% 0 500 1000 Mutants sampled Mutation score
  • 18. 23 65.36% Mutants sampling 20% 40% 60% 80% 100% 0% 0 500 1000 • A confidence interval captures a range that has a probability (e.g., 95%) of including the estimated value, (the mutation score) • MS=[L;U] • Assuming that MS follows a binomial distribution, we rely on the Clopper- Pearson method for CI computation Mutation score Mutants sampled • Fixed-width sequential confidence interval (FSCI) method: • stop sampling when (U – L) < 10 • difference between estimated MS and actual one is at most 5 percentage p.
  • 19. 24 Create mutants Compile mutants Killed Mutants Live Mutants 2 Collect test data 1 Code Coverage Remove equivalent/duplicate based on compiler optimizations 4 3 Mutants Code coverage Mutants successfully compiled Unique mutants Evaluate mutation score’s confidence Sampled mutants Sample mutants Execute test cases 5 6 7
  • 20. 25 Create mutants Compile mutants Killed Mutants Live Mutants 2 Collect test data 1 Code Coverage Remove equivalent/duplicate based on compiler optimizations 4 3 Mutants Code coverage Mutants successfully compiled Unique mutants Evaluate mutation score’s confidence Sampled mutants Sample mutants Execute prioritized subset of test cases 5 6 7 • MS=[L+Perr;U+ Perr] • Proportion of mutants live by mistake Perr =[Lerr;Uerr] • MS=[L+Lerr;U+ Uerr] Confidence interval correction
  • 21. 26 Create mutants Compile mutants Killed Mutants Live Mutants 2 Collect test data 1 Code Coverage Remove equivalent/duplicate based on compiler optimizations 4 3 Mutants Code coverage Mutants successfully compiled Unique mutants Evaluate mutation score’s confidence Sampled mutants Sample mutants Execute prioritized subset of test cases 5 6 7 • Based on statement coverage • Test suite prioritization: • greedy algorithm • select first the test cases with the largest distance from the closest, already selected, test case • Test suite reduction: exclude test cases with a distance of zero • Cosine distance: best accuracy
  • 22. 32 Create mutants Compile mutants Killed Mutants Live Mutants Live, non-equivalent 2 Collect test data 1 Code Coverage Remove equivalent/duplicate based on compiler optimizations 4 3 Mutants Code coverage Mutants successfully compiled Unique mutants Killed Evaluate mutation score’s confidence Sampled mutants Discard likely equivalent mutants based on coverage Sample mutants Execute prioritized subset of test cases 5 6 7 8
  • 23. 33 Discard likely equivalent mutants Inspired by Schuler et al.
  • 24. 34 Discard likely equivalent mutants not equivalent if distance > threshold T Stmt1: 20 Stmt2: 0 … Stmt357: 6 Stmt1: 73 … Stmt357: 56 Original program Mutant Stmt1: 20 … Stmt357: 6 Stmt1: 20 Stmt2: 0 … Stmt357: 6 Stmt1: 2 … Stmt357: 6 Stmt1: 20 … Stmt357: 6 … … Test1 Test1 Test5 Test5 Test257 Test257 distance=0 distance=0.2 distance=0.1 Inspired by Schuler et al.
  • 25. 35 Discard likely equivalent mutants not equivalent if distance > 0 Stmt1: 20 Stmt2: 0 … Stmt357: 6 Stmt1: 73 … Stmt357: 56 Original program Mutant Stmt1: 20 … Stmt357: 6 Stmt1: 20 Stmt2: 0 … Stmt357: 6 Stmt1: 2 … Stmt357: 6 Stmt1: 20 … Stmt357: 6 … … Test1 Test1 Test5 Test5 Test257 Test257 distance=0 distance=0.2 distance=0.1 Inspired by Schuler et al.
  • 26. 37 Create mutants Compile mutants Killed Mutants Live Mutants Live, non-equivalent 2 Collect test data 1 Code Coverage Remove equivalent/redundant based on compiler optimizations 4 3 Mutants Code coverage Mutants successfully compiled Unique mutants Killed Evaluate mutation score’s confidence Sampled mutants Discard likely equivalent mutants based on coverage Sample mutants Execute prioritized subset of test cases 5 6 7 8 Compute final mutation score 9
  • 27. 38 Create mutants Compile mutants Killed Mutants Live Mutants Live, non-equivalent 2 Collect test data 1 Code Coverage Remove equivalent/redundant based on compiler optimizations 4 3 Mutants Code coverage Mutants successfully compiled Unique mutants Killed Evaluate mutation score’s confidence Sampled mutants Discard likely equivalent mutants based on coverage Sample mutants Execute prioritized subset of test cases 5 6 7 8 Compute final mutation score 9 Mutation testing 10
  • 28. 39 Create mutants Compile mutants Killed Mutants Live Mutants Live, non-equivalent 2 Collect test data 1 Code Coverage Remove equivalent/redundant based on compiler optimizations 4 3 Mutants Code coverage Mutants successfully compiled Unique mutants Killed Evaluate mutation score’s confidence Sampled mutants Discard likely equivalent mutants based on coverage Sample mutants Execute prioritized subset of test cases 5 6 7 8 Compute final mutation score 9 Mutation testing 10
  • 30. 42 Case study subjects • Control software of LuxSpace’s ESAIL satelite • Network, Configuration, and Utility libraries from GomSpace’s nanosatellites • MLFS - Mathematical Library for Flight Software by ESA
  • 31. 45 RQ2. How do FSCI-based sampling compare to other mutants sampling approaches? • compute the actual mutation score using all the mutants • compute the mutation score obtained with different sampling methods, in 100 executions • uniform sampling (i.e., selecting 1%, 2%, ..,20%, .., 100% of the mutants) • uniform fixed-size sampling (i.e., selecting 100, 200, ..,1000 of the mutants) • FSCI-based sampling (with CI=0.10, 0.09, .. 0.01) • determine which approach configuration provides an accurate mutation score with the lowest number of samples • the mutation score is accurate if, for 95% executions, the difference from the actual mutation score is below 5 percentage points
  • 32. 46 RQ2. Results LibNet LibConf LibUt MLFS ESAIL Approach # Mutants Delta Approach # Mutants Delta Approach # Mutants Delta Approach# Mutants Delta Approach # Mutants Delta SAMPLE 0,01 50 13,64 SAMPLE 0,01 40 12,19 FIXED 100 7,32 FIXED 100 7,8 SAMPLE 0,01 36 14,04 SAMPLE 0,02 100 10,64 SAMPLE 0,02 79 10,03 SAMPLE 0,01 146 7,54 FIXED 200 5,2 SAMPLE 0,02 71 11,84 FIXED 100 9,88 FIXED 100 10,17 FIXED 200 5,73 SAMPLE 0,01 214 4,9 FIXED 100 8,89 SAMPLE 0,03 150 10,36 SAMPLE 0,03 118 7,7 SAMPLE 0,02 292 6,15 FSCI 0.1 248 4,56 SAMPLE 0,03 107 8,84 SAMPLE 0,04 200 6,4 SAMPLE 0,04 158 6,46 FIXED 300 5,37 FIXED 300 4,04 SAMPLE 0,04 142 7,92 FIXED 200 5,86 SAMPLE 0,05 197 6,98 FSCI 0.1 333 4,73 FSCI 0.09 302 4,64 SAMPLE 0,05 177 6,39 SAMPLE 0,05 250 7,07 FIXED 200 6,12 FIXED 400 4,45 FSCI 0.08 379 4,01 FIXED 200 6,14 SAMPLE 0,06 299 5,95 SAMPLE 0,06 236 5,78 FSCI 0.09 409 4,08 FIXED 400 3,8 SAMPLE 0,06 213 6,25 FIXED 300 4,48 SAMPLE 0,07 276 5,73 SAMPLE 0,03 438 4,2 SAMPLE 0,02 428 3,19 SAMPLE 0,07 248 5,2 SAMPLE 0,07 349 5,01 FIXED 300 5,88 FIXED 500 3,8 SAMPLE 0,03 642 3,15 SAMPLE 0,08 283 5,68 FSCI 0.1 364 4,42 SAMPLE 0,08 315 5,01 FSCI 0.08 514 3,94 SAMPLE 0,04 855 2,53 FIXED 300 5,53 SAMPLE 0,08 399 5,12 FSCI 0.1 346 4,26 SAMPLE 0,04 583 3,28 SAMPLE 0,05 1.069 2,58 SAMPLE 0,09 319 4,55 FIXED 400 5,49 SAMPLE 0,09 354 3,48 FIXED 600 3,29 SAMPLE 0,06 1.283 2,24 FSCI 0.1 366 3,92 FSCI 0.09 447 3,7 SAMPLE 0,1 394 4,36 FSCI 0.07 668 3,99 SAMPLE 0,07 1.497 2,24 SAMPLE 0,1 354 5,26 SAMPLE 0,09 449 4,53 FIXED 400 4,27 FIXED 700 3,3 SAMPLE 0,08 1.710 1,71 FIXED 400 4,52 SAMPLE 0,1 499 4,61 FSCI 0.09 425 3,79 SAMPLE 0,05 729 3,11 SAMPLE 0,09 1.924 1,73 FSCI 0.09 449 3,66 FIXED 500 3,85 FIXED 500 3,63 SAMPLE 0,06 875 2,92 SAMPLE 0,1 2.138 1,55 FIXED 500 4,08
  • 33. 48 RQ4. How do test suite optimization strategies speed-up the mutation analysis process? • Non-optimized mutation analysis • for every mutant, execute all the test cases that cover the mutant • MASS includes two optimizations • FSCI-based sampling • Prioritize and Reduce • Three possible MASS configurations • execute all mutants and apply Prioritize and Reduce • rely only on FSCI-based sampling • FSCI-based sampling and Prioritize and Reduce • Metric: the time savings wrt non-optimized • consider 100 executions Mutants Test cases M1 T1 T2 T3 T4 T9 M2 T7 T9 M3 T4 T5 T8 M4 T10 12 T13 T15 T8 M1 T1 T2 T3 T4 T9 M3 T4 T5 T8 M1 T9 T3 M2 T9 T7 M3 T5 T8 T4 M4 T15 13 T8 T15 M1 T9 T3 M3 T5 T8 T4
  • 34. 49
  • 35. 51 RQ4. Results • MASS makes mutation analysis feasible for large software • ESAIL from 11,000 hours to 1,531 (12 hours with 100 HPC nodes) Subject Execution time (hours) ESAILS 11,000 LIBNet 70 LIBPar 13 LIBUtil 59 MLFS 47 Non-optimized execution execute all mutants and apply Prioritize and Reduce FSCI-based sampling and Prioritize and Reduce rely on FSCI-based sampling
  • 36. 56 RQ6. How do MASS and traditonal mutation score compare? • Difference depends on the equivalent mutants being discarded • Except for MLFS, score reflect imperfections in SiL test suites • several features covered with HiL testing • lack of coverage for exceptional/unusual case • MLFS achieves MC/DC • however, deletion operators show limitations in the test input partitions covered Mutation score Subject Traditional MASS ESAILS 65.36 65.95 LIBNet 65.64 70.92 LIBPar 69.12 85.95 LIBUtil 71.20 84.41 MLFS 81.80 93.49 Average 70.62 81.14
  • 37. 57 How to ensure thorough testing in Space CPS? Results confirm the scalability and effectiveness of MASS, in particular (1) accuracy and time savings introduced by FSCI-based sampling (2) usefulness of mutation analysis to discover test suite pitfalls 39 Create mutants Compile mutants Killed Mutants Live Mutants Live, non-equivalent 2 Collect test data 1 Code Coverage Remove equivalent/redundant based on compiler optimizations 4 3 Mutants Code coverage Mutants successfully compiled Unique mutants Killed Evaluate mutation score’s confidence Sampled mutants Discard likely equivalent mutants based on coverage Sample mutants Execute prioritized subset of test cases 5 6 7 8 Compute final mutation score 9 Mutation testing 10 MASS: Mutation Analysis for Space Software https://faqas.uni.lu/
  • 38. Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space Domain Oscar Cornejo, Fabrizio Pastore, Lionel Briand University of Luxembourg University of Ottawa ICSE 2022 Journal First paper appearing in in IEEE Transactions on Software Engineering, doi:10.1109/TSE.2021.3107680