SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
.lusoftware verification & validation
VVS
Mining Assumptions for Software
Components using Machine Learning
Khouloud Gaaloul
Claudio Menghi
Shiva Nejati
Lionel C. Briand
QRA Corp, Canada
David Wolfe
University of Luxembourg,
Luxembourg
University of Ottawa,
Canada
University of Luxembourg,
Luxembourg
University of Ottawa,
Canada
University of Luxembourg,
Luxembourg
University of Luxembourg,
Luxembourg
Assumption Generation
Problem
2
Cyber-Physical Systems (CPS)
Systems in which
the physical and software components
are deeply intertwined
!3
Requirements Check
Model
Requirements
Check
!4
PHASE 1:
Modeling
(Simulink)
PHASE 2:
Verification
PHASE 3:
Coding
PHASE 2:
Verification
Requirements
Check
Problem
• Usually, exhaustive verification can not analyse complex
industrial models
• However, model checking can verify models’ components
• When a sub-component is analysed, assumptions are usually
not explicitly documented.
!5
• A software component to guide small aircrafts
• Controls the aircraft orientation (Pitch, Roll, and Yaw)
The Autopilot Case Study
!6
Yaw
Roll Pitch
Yaw
Roll Pitch
Yaw
Yaw
Autopilot
Indicators
Actuators
The Autopilot Case Study
!7
Altitude Control
Component
When the autopilot is enabled, the aircraft
altitude should reach the desired altitude
within 500 seconds in calm air
= ?
0% 100%
tt+500s
desired altitude
20%40%60%80%
Goal
!8
To provide the aircraft with enough boost so that it can reach the desired
altitude, the pilot should manually adjust the power given to the engines
of the aircraft to ensure that the aircraft does not enter a stall condition
Advanced Avionics Handbook
Goal
Our goal is to mine assumptions for software
components
!9
Altitude Control
Component
>
An assumption is v-safe for a model ! and its requirement ! if
!
M
hAiMh i > v
!10
V-safe Assumption
RequirementModelAssumption
! : Degree of satisfactionv
an assumption is considered 0-safe, if the requirement is satisfied
under the assumption
v 0 v < 0
!11
The throttle is
higher than 60%
The throttle is
higher than 80%
is
More informative
than
Informativeness
0% 100%
60%
Altitude Control
Component
>
0% 100%
80%
Altitude Control
Component
>
A1 A2
Goal
!12
The goal is to generate the most informative v-safe
assumptions for software components
Preriquisites
The model is specified in Simulink
Preriquisite-1 Preriquisite-2
The requirement is in a logical languageThe model is supported by a model checker
Preriquisite-3
The model satisfies neither the requirement
nor its negation
!13
Preriquisite-4
Our Solution
(EPIcuRus)
14
EPIcuRus (assumPtIon
geneRation approach for CPS)
We propose EPIcuRus, an automated approach to infer
environment assumptions for system components
!15
EPIcuRus (assumPtIon
geneRation approach for CPS)
!16
EPIcuRus (assumPtIon
geneRation approach for CPS)
!17
EPIcuRus (assumPtIon
geneRation approach for CPS)
!18
EPIcuRus (assumPtIon
geneRation approach for CPS)
!19
IFBT
Generates input signals that are meaningful
The signals are encoded using these parameters:
Test Generation
!20
1
• The input domain
• The number of control points
• The interpolation function
Model
Requirements
Check
Input (U) Output (Y)
Test Generation1
Test
Generation
Policy
UR,
ART,
… !21
Pass/Fail
Altitude Control
Component
Assumption Generation
!22
2
Node 1
Total data: 1000
Node 2
Total data: 494
98%
Label: fail
Node 3
Total data: 532
Node 4
Total data: 200
100%
Label: pass
Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60
Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90
Node 5
Total data: 332
Node 6
Total data: 145
32%
Label: pass
Node 7
Total data: 187
85%
Label: fail
Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2
Node 1
Total data: 1000
Node 2
Total data: 494
98%
Label: fail
Node 3
Total data: 532
Node 4
Total data: 200
100%
Label: pass
Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60
Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90
Node 5
Total data: 332
Node 6
Total data: 145
32%
Label: pass
Node 7
Total data: 187
85%
Label: fail
Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2
8t 2 [0, t1] : 60  Throttle(t) < 908t 2 [0, t1] : 60  Throttle(t) < 908t 2 [0, t1] : 60  Throttle(t) < 90
60  Throttle1 < 9060  Throttle1 < 9060  Throttle1 < 90
Model Checking
!23
3
Exhaustively checks if the obtained assumption is accurate
• QVTrace from QRA Corp, Canada
• SMT-based model checker for Simulink
• Z3, Mathematica
2.4.Accessing QVtrace:
Once the QVtrace server is running, QVtrace will be accessed through a web browser with
the address: http://localhost:2999
If accessing the QVtrace server on a networked computer then use the address:
http://[server_name]:2999.
QVtrace has been fully tested to be accessed with the Google Chrome web browser.
Although other browsers may render QVtrace appropriately, these have not been fully
tested and their performance is not well known. We recommend you use the Google
Chrome browser for QVtrace.
3. Using QVtrace
3.1.Understanding the QVtrace user interface
QVtrace has been designed to optimize the workflow for model-based design analysis. The
interface has three main sections as shown in the image below and described in detail on
the next page.
QVtrace User Manual v0.11.7 qracorp.com of4 21
1
2
3
IFBT-Important Feature Boundary
Test
[ ]][ ][
0% 100%
boundary areas
Conjecture-1Conjecture-2
Identifying control points with high
impact on the fitness value and
focusing the search on them
!24
Generating test cases in boundary
areas of the input domain
Two conjectures enable more effective learning of v-safe
assumptions.
!25
IFBT-Important Feature Boundary
Test
1. Build a regression tree
How do we generate the test case?
Node 1
Total data: 1000
Node 2
Total data: 494
-0.1
Node 3
Total data: 532
Node 4
Total data: 200
0.1
Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60
Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90
Node 5
Total data: 332
Node 6
Total data: 145
-0.3
Node 7
Total data: 187
0.8
Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2
!26
IFBT-Important Feature Boundary
Test
2. Get the most important feature among the
control points (Conjecture-1)
How do we generate the test case?
Node 1
Total data: 1000
Node 2
Total data: 494
-0.1
Node 3
Total data: 532
Node 4
Total data: 200
0.1
Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60
Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90
Node 5
Total data: 332
Node 6
Total data: 145
-0.3
Node 7
Total data: 187
0.8
Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2
Node 1
Total data: 1000
Node 2
Total data: 494
-0.1
Node 3
Total data: 532
Node 4
Total data: 200
0.1
Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60
Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90
Node 5
Total data: 332
Node 6
Total data: 145
-0.3
Node 7
Total data: 187
0.8
Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2
3. Extract the test cases that are the closest to the
boundary (Conjecture-2)
!27
IFBT-Important Feature Boundary
Test
How do we generate the test case?
Node 1
Total data: 1000
Node 2
Total data: 494
-0.1
Node 3
Total data: 532
Node 4
Total data: 200
0.1
Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60
Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90
Node 5
Total data: 332
Node 6
Total data: 145
-0.3
Node 7
Total data: 187
0.8
Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2
!28
IFBT-Important Feature Boundary
Test
4. Get the ranges associated with the most
important feature
[54 , 66]
[81 , 99]
How do we generate the test case?
!29
IFBT-Important Feature Boundary
Test
5. For each test case, get the ranges associated
with the most important feature
How do we generate the test case?
Node 1
Total data: 1000
Node 2
Total data: 494
-0.1
Node 3
Total data: 532
Node 4
Total data: 200
0.1
Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60
Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90
Node 5
Total data: 332
Node 6
Total data: 145
-0.3
Node 7
Total data: 187
0.8
Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2
[54 , 66]
[81 , 99]
Implementation
30
Implementation
!31
S-TALIRO
https://github.com/SNTSVV/EPIcuRus
Evaluation
32
Research Questions
• RQ1: Which test case generation policy learns assumptions
most effectively and efficiently?
• RQ2: Can EPIcuRus generate assumptions for real world
Simulink models within a practical time limit?
!33
RQ1: Effectiveness and Efficiency
• RQ1: Which test case generation policy learns assumptions
most effectively and efficiently?
!34
RQ1: Effectiveness and Efficiency
11 case studies
• Developed by a company in the defence and aerospace sector
• Represent different types of CPS Simulink models
• Each model has a list of (textual) functional requirements
!35
RQ1: Effectiveness and Efficiency
• 92 requirements
• 18 satisfy the prerequisites
• 74 violate the prerequisites
• Evaluated the UR, ART, IFBT-UR, IFBT-ART test case generation
policies
!36
RQ1: Effectiveness and Efficiency
• For each policy, we run EPIcuRus
• We consider input signals with one (IP), two (IP’) and three (IP”) control points
• we measured among 50 experiment runs:
• V-SAFE: the percentage of runs, in which a v-safe assumption was computed
• AVG_TIME: the average execution time
• INF_IDX: the number of times an assumption was more informative than
another
!37
RQ1: Effectiveness and Efficiency
!38
200 300 400 500 600 700 800 900
AVG_TIME (s)
54
56
58
60
62
64
V_SAFE(%)
978
991
1054
1030 UR
ART
IFBT-UR
IFBT-ART
RQ1: Effectiveness and Efficiency
!39
Conclusion1: Among the four test case
generation policies we compared, IFBT-UR learns
the most v-safe assumptions in less time
200 300 400 500 600 700 800 900
AVG_TIME (s)
54
56
58
60
62
64
V_SAFE(%)
978
991
1054
1030 UR
ART
IFBT-UR
IFBT-ART
RQ1: Effectiveness and Efficiency
!40
Conclusion2: The assumptions learned by IFBT-
UR are more informative than those learned by
other test generation policies
200 300 400 500 600 700 800 900
AVG_TIME (s)
54
56
58
60
62
64
V_SAFE(%)
978
991
1054
1030 UR
ART
IFBT-UR
IFBT-ART
RQ2: Usefulness
RQ2: Can EPIcuRus generate assumptions for real world
Simulink models within a practical time limit?
!41
• We select the best performing test case generation policy: IFBT-UR
• We considered four models and 18 requirements.
• Among 50 experiment runs:
• We compute the percentage of requirements for which a v-safe
assumption is computed
• We examine the usefulness, the structure and the length of all
the computed assumptions
!42
RQ2: Usefulness
RQ2: Usefulness
!43
• EPIcuRus computed a v-safe assumption, within one
hour, for ≈78% of the requirements
• Across all 50 runs, which take around four hours per
requirement, EPIcuRus computed a v-safe assumption
for all the 18 requirements
• EPIcuRus learnt non-vacuous and short assumptions
Conclusions
44
Conclusions
• EPIcuRus: infer assumptions for software components
• It is applicable to complex signal-based modelling notations
• Combines search-based software testing, Machine Learning
and model checking
• IFBT: A test case generation technique to guide the search
through the most informative features and areas in the
search space
!45
Conclusion
• We were able to compute v-safe assumptions
• The computed assumptions are short and non-vacuous
• Assumptions are computed based on a large set of
requirements
!46
.lusoftware verification & validation
VVS
Mining Assumptions for Software
Components using Machine Learning
Khouloud Gaaloul
Claudio Menghi
Shiva Nejati
Lionel C. Briand
QRA Corp, Canada
David Wolfe
University of Luxembourg,
Luxembourg
University of Ottawa,
Canada
University of Luxembourg,
Luxembourg
University of Ottawa,
Canada
University of Luxembourg,
Luxembourg
University of Luxembourg,
Luxembourg

Weitere ähnliche Inhalte

Was ist angesagt?

Gelecegin meslekleri
Gelecegin meslekleriGelecegin meslekleri
Gelecegin meslekleri
srpklc
 
Mobile game testing report
Mobile game testing reportMobile game testing report
Mobile game testing report
QA Madness
 
Mobile application testing report
Mobile application testing reportMobile application testing report
Mobile application testing report
QA Madness
 

Was ist angesagt? (15)

Google SafetyNet API
Google SafetyNet APIGoogle SafetyNet API
Google SafetyNet API
 
Smart Fare Collection System Implementaion and Architecture
Smart Fare Collection System Implementaion and ArchitectureSmart Fare Collection System Implementaion and Architecture
Smart Fare Collection System Implementaion and Architecture
 
Gelecegin meslekleri
Gelecegin meslekleriGelecegin meslekleri
Gelecegin meslekleri
 
Travel mobile app development ppt
Travel mobile app development  pptTravel mobile app development  ppt
Travel mobile app development ppt
 
Appium
AppiumAppium
Appium
 
Mobile game testing report
Mobile game testing reportMobile game testing report
Mobile game testing report
 
Safety and Security Aspects of Automotive High Performance Controllers
Safety and Security Aspects of Automotive High Performance ControllersSafety and Security Aspects of Automotive High Performance Controllers
Safety and Security Aspects of Automotive High Performance Controllers
 
B767 checklist
B767 checklistB767 checklist
B767 checklist
 
Atm software
Atm softwareAtm software
Atm software
 
Python games
Python gamesPython games
Python games
 
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
 
Immersive Trails Virtual Experiences Environment Pitchdeck
Immersive Trails Virtual Experiences Environment PitchdeckImmersive Trails Virtual Experiences Environment Pitchdeck
Immersive Trails Virtual Experiences Environment Pitchdeck
 
Voyage planet
Voyage planetVoyage planet
Voyage planet
 
Mobile application testing report
Mobile application testing reportMobile application testing report
Mobile application testing report
 
Android App Development Project in College
Android App Development Project in College Android App Development Project in College
Android App Development Project in College
 

Ähnlich wie Mining Assumptions for Software Components using Machine Learning

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
 
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
Lionel Briand
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_final
sean chen
 
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow ControllersEffective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Lionel Briand
 
Keynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingKeynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based Testing
Lionel Briand
 
Harvard HKUST 2015 - Final Presentation
Harvard HKUST 2015 - Final PresentationHarvard HKUST 2015 - Final Presentation
Harvard HKUST 2015 - Final Presentation
Vinh Nguyen
 

Ähnlich wie Mining Assumptions for Software Components using Machine Learning (20)

Supply chain design and operation
Supply chain design and operationSupply chain design and operation
Supply chain design and operation
 
Mathworks CAE simulation suite – case in point from automotive and aerospace.
Mathworks CAE simulation suite – case in point from automotive and aerospace.Mathworks CAE simulation suite – case in point from automotive and aerospace.
Mathworks CAE simulation suite – case in point from automotive and aerospace.
 
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...
 
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
 
Declarative benchmarking of cassandra and it's data models
Declarative benchmarking of cassandra and it's data modelsDeclarative benchmarking of cassandra and it's data models
Declarative benchmarking of cassandra and it's data models
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_final
 
Keysight Mini-ICT - Testing Days México
Keysight Mini-ICT - Testing Days MéxicoKeysight Mini-ICT - Testing Days México
Keysight Mini-ICT - Testing Days México
 
the grinder testing certification
the grinder testing certificationthe grinder testing certification
the grinder testing certification
 
Harvard HKUST 2015 - Final Presentation
Harvard HKUST 2015 - Final PresentationHarvard HKUST 2015 - Final Presentation
Harvard HKUST 2015 - Final Presentation
 
Empirical Evaluations in Software Engineering Research: A Personal Perspective
Empirical Evaluations in Software Engineering Research: A Personal PerspectiveEmpirical Evaluations in Software Engineering Research: A Personal Perspective
Empirical Evaluations in Software Engineering Research: A Personal Perspective
 
ravi_resume
ravi_resumeravi_resume
ravi_resume
 
Slide used at ACM-SAC 2014 by Suzaki
Slide used at ACM-SAC 2014 by SuzakiSlide used at ACM-SAC 2014 by Suzaki
Slide used at ACM-SAC 2014 by Suzaki
 
QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)
 
Viavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptxViavi_TeraVM Core Emulator.pptx
Viavi_TeraVM Core Emulator.pptx
 
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow ControllersEffective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
 
Keynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingKeynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based Testing
 
Harvard HKUST 2015 - Final Presentation
Harvard HKUST 2015 - Final PresentationHarvard HKUST 2015 - Final Presentation
Harvard HKUST 2015 - Final Presentation
 
Model-Based Design & Analysis.ppt
Model-Based Design & Analysis.pptModel-Based Design & Analysis.ppt
Model-Based Design & Analysis.ppt
 
Model-driven trace diagnostics for pattern-based temporal specifications
Model-driven trace diagnostics for pattern-based temporal specificationsModel-driven trace diagnostics for pattern-based temporal specifications
Model-driven trace diagnostics for pattern-based temporal specifications
 
QUIN 4.0 - Smart Drone - Final Presentation
QUIN 4.0 - Smart Drone - Final PresentationQUIN 4.0 - Smart Drone - Final Presentation
QUIN 4.0 - Smart Drone - Final Presentation
 

Mehr von 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
 
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
 
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
 

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

Kürzlich hochgeladen

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Kürzlich hochgeladen (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 

Mining Assumptions for Software Components using Machine Learning

  • 1. .lusoftware verification & validation VVS Mining Assumptions for Software Components using Machine Learning Khouloud Gaaloul Claudio Menghi Shiva Nejati Lionel C. Briand QRA Corp, Canada David Wolfe University of Luxembourg, Luxembourg University of Ottawa, Canada University of Luxembourg, Luxembourg University of Ottawa, Canada University of Luxembourg, Luxembourg University of Luxembourg, Luxembourg
  • 3. Cyber-Physical Systems (CPS) Systems in which the physical and software components are deeply intertwined !3
  • 4. Requirements Check Model Requirements Check !4 PHASE 1: Modeling (Simulink) PHASE 2: Verification PHASE 3: Coding PHASE 2: Verification Requirements Check
  • 5. Problem • Usually, exhaustive verification can not analyse complex industrial models • However, model checking can verify models’ components • When a sub-component is analysed, assumptions are usually not explicitly documented. !5
  • 6. • A software component to guide small aircrafts • Controls the aircraft orientation (Pitch, Roll, and Yaw) The Autopilot Case Study !6 Yaw Roll Pitch Yaw Roll Pitch Yaw Yaw Autopilot Indicators Actuators
  • 7. The Autopilot Case Study !7 Altitude Control Component When the autopilot is enabled, the aircraft altitude should reach the desired altitude within 500 seconds in calm air = ? 0% 100% tt+500s desired altitude 20%40%60%80%
  • 8. Goal !8 To provide the aircraft with enough boost so that it can reach the desired altitude, the pilot should manually adjust the power given to the engines of the aircraft to ensure that the aircraft does not enter a stall condition Advanced Avionics Handbook
  • 9. Goal Our goal is to mine assumptions for software components !9 Altitude Control Component >
  • 10. An assumption is v-safe for a model ! and its requirement ! if ! M hAiMh i > v !10 V-safe Assumption RequirementModelAssumption ! : Degree of satisfactionv an assumption is considered 0-safe, if the requirement is satisfied under the assumption v 0 v < 0
  • 11. !11 The throttle is higher than 60% The throttle is higher than 80% is More informative than Informativeness 0% 100% 60% Altitude Control Component > 0% 100% 80% Altitude Control Component > A1 A2
  • 12. Goal !12 The goal is to generate the most informative v-safe assumptions for software components
  • 13. Preriquisites The model is specified in Simulink Preriquisite-1 Preriquisite-2 The requirement is in a logical languageThe model is supported by a model checker Preriquisite-3 The model satisfies neither the requirement nor its negation !13 Preriquisite-4
  • 15. EPIcuRus (assumPtIon geneRation approach for CPS) We propose EPIcuRus, an automated approach to infer environment assumptions for system components !15
  • 20. Generates input signals that are meaningful The signals are encoded using these parameters: Test Generation !20 1 • The input domain • The number of control points • The interpolation function
  • 21. Model Requirements Check Input (U) Output (Y) Test Generation1 Test Generation Policy UR, ART, … !21 Pass/Fail Altitude Control Component
  • 22. Assumption Generation !22 2 Node 1 Total data: 1000 Node 2 Total data: 494 98% Label: fail Node 3 Total data: 532 Node 4 Total data: 200 100% Label: pass Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60 Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90 Node 5 Total data: 332 Node 6 Total data: 145 32% Label: pass Node 7 Total data: 187 85% Label: fail Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2 Node 1 Total data: 1000 Node 2 Total data: 494 98% Label: fail Node 3 Total data: 532 Node 4 Total data: 200 100% Label: pass Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60 Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90 Node 5 Total data: 332 Node 6 Total data: 145 32% Label: pass Node 7 Total data: 187 85% Label: fail Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2 8t 2 [0, t1] : 60  Throttle(t) < 908t 2 [0, t1] : 60  Throttle(t) < 908t 2 [0, t1] : 60  Throttle(t) < 90 60  Throttle1 < 9060  Throttle1 < 9060  Throttle1 < 90
  • 23. Model Checking !23 3 Exhaustively checks if the obtained assumption is accurate • QVTrace from QRA Corp, Canada • SMT-based model checker for Simulink • Z3, Mathematica 2.4.Accessing QVtrace: Once the QVtrace server is running, QVtrace will be accessed through a web browser with the address: http://localhost:2999 If accessing the QVtrace server on a networked computer then use the address: http://[server_name]:2999. QVtrace has been fully tested to be accessed with the Google Chrome web browser. Although other browsers may render QVtrace appropriately, these have not been fully tested and their performance is not well known. We recommend you use the Google Chrome browser for QVtrace. 3. Using QVtrace 3.1.Understanding the QVtrace user interface QVtrace has been designed to optimize the workflow for model-based design analysis. The interface has three main sections as shown in the image below and described in detail on the next page. QVtrace User Manual v0.11.7 qracorp.com of4 21 1 2 3
  • 24. IFBT-Important Feature Boundary Test [ ]][ ][ 0% 100% boundary areas Conjecture-1Conjecture-2 Identifying control points with high impact on the fitness value and focusing the search on them !24 Generating test cases in boundary areas of the input domain Two conjectures enable more effective learning of v-safe assumptions.
  • 25. !25 IFBT-Important Feature Boundary Test 1. Build a regression tree How do we generate the test case? Node 1 Total data: 1000 Node 2 Total data: 494 -0.1 Node 3 Total data: 532 Node 4 Total data: 200 0.1 Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60 Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90 Node 5 Total data: 332 Node 6 Total data: 145 -0.3 Node 7 Total data: 187 0.8 Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2
  • 26. !26 IFBT-Important Feature Boundary Test 2. Get the most important feature among the control points (Conjecture-1) How do we generate the test case? Node 1 Total data: 1000 Node 2 Total data: 494 -0.1 Node 3 Total data: 532 Node 4 Total data: 200 0.1 Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60 Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90 Node 5 Total data: 332 Node 6 Total data: 145 -0.3 Node 7 Total data: 187 0.8 Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2
  • 27. Node 1 Total data: 1000 Node 2 Total data: 494 -0.1 Node 3 Total data: 532 Node 4 Total data: 200 0.1 Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60 Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90 Node 5 Total data: 332 Node 6 Total data: 145 -0.3 Node 7 Total data: 187 0.8 Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2 3. Extract the test cases that are the closest to the boundary (Conjecture-2) !27 IFBT-Important Feature Boundary Test How do we generate the test case?
  • 28. Node 1 Total data: 1000 Node 2 Total data: 494 -0.1 Node 3 Total data: 532 Node 4 Total data: 200 0.1 Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60 Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90 Node 5 Total data: 332 Node 6 Total data: 145 -0.3 Node 7 Total data: 187 0.8 Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2 !28 IFBT-Important Feature Boundary Test 4. Get the ranges associated with the most important feature [54 , 66] [81 , 99] How do we generate the test case?
  • 29. !29 IFBT-Important Feature Boundary Test 5. For each test case, get the ranges associated with the most important feature How do we generate the test case? Node 1 Total data: 1000 Node 2 Total data: 494 -0.1 Node 3 Total data: 532 Node 4 Total data: 200 0.1 Throttle1 < 60Throttle1 < 60Throttle1 < 60 Throttle1 ≥ 60Throttle1 ≥ 60Throttle1 ≥ 60 Throttle1 < 90Throttle1 < 90Throttle1 < 90 Throttle1 ≥ 90Throttle1 ≥ 90Throttle1 ≥ 90 Node 5 Total data: 332 Node 6 Total data: 145 -0.3 Node 7 Total data: 187 0.8 Pwheel < 2Pwheel < 2Pwheel < 2 Pwheel ≥ 2Pwheel ≥ 2Pwheel ≥ 2 [54 , 66] [81 , 99]
  • 33. Research Questions • RQ1: Which test case generation policy learns assumptions most effectively and efficiently? • RQ2: Can EPIcuRus generate assumptions for real world Simulink models within a practical time limit? !33
  • 34. RQ1: Effectiveness and Efficiency • RQ1: Which test case generation policy learns assumptions most effectively and efficiently? !34
  • 35. RQ1: Effectiveness and Efficiency 11 case studies • Developed by a company in the defence and aerospace sector • Represent different types of CPS Simulink models • Each model has a list of (textual) functional requirements !35
  • 36. RQ1: Effectiveness and Efficiency • 92 requirements • 18 satisfy the prerequisites • 74 violate the prerequisites • Evaluated the UR, ART, IFBT-UR, IFBT-ART test case generation policies !36
  • 37. RQ1: Effectiveness and Efficiency • For each policy, we run EPIcuRus • We consider input signals with one (IP), two (IP’) and three (IP”) control points • we measured among 50 experiment runs: • V-SAFE: the percentage of runs, in which a v-safe assumption was computed • AVG_TIME: the average execution time • INF_IDX: the number of times an assumption was more informative than another !37
  • 38. RQ1: Effectiveness and Efficiency !38 200 300 400 500 600 700 800 900 AVG_TIME (s) 54 56 58 60 62 64 V_SAFE(%) 978 991 1054 1030 UR ART IFBT-UR IFBT-ART
  • 39. RQ1: Effectiveness and Efficiency !39 Conclusion1: Among the four test case generation policies we compared, IFBT-UR learns the most v-safe assumptions in less time 200 300 400 500 600 700 800 900 AVG_TIME (s) 54 56 58 60 62 64 V_SAFE(%) 978 991 1054 1030 UR ART IFBT-UR IFBT-ART
  • 40. RQ1: Effectiveness and Efficiency !40 Conclusion2: The assumptions learned by IFBT- UR are more informative than those learned by other test generation policies 200 300 400 500 600 700 800 900 AVG_TIME (s) 54 56 58 60 62 64 V_SAFE(%) 978 991 1054 1030 UR ART IFBT-UR IFBT-ART
  • 41. RQ2: Usefulness RQ2: Can EPIcuRus generate assumptions for real world Simulink models within a practical time limit? !41
  • 42. • We select the best performing test case generation policy: IFBT-UR • We considered four models and 18 requirements. • Among 50 experiment runs: • We compute the percentage of requirements for which a v-safe assumption is computed • We examine the usefulness, the structure and the length of all the computed assumptions !42 RQ2: Usefulness
  • 43. RQ2: Usefulness !43 • EPIcuRus computed a v-safe assumption, within one hour, for ≈78% of the requirements • Across all 50 runs, which take around four hours per requirement, EPIcuRus computed a v-safe assumption for all the 18 requirements • EPIcuRus learnt non-vacuous and short assumptions
  • 45. Conclusions • EPIcuRus: infer assumptions for software components • It is applicable to complex signal-based modelling notations • Combines search-based software testing, Machine Learning and model checking • IFBT: A test case generation technique to guide the search through the most informative features and areas in the search space !45
  • 46. Conclusion • We were able to compute v-safe assumptions • The computed assumptions are short and non-vacuous • Assumptions are computed based on a large set of requirements !46
  • 47. .lusoftware verification & validation VVS Mining Assumptions for Software Components using Machine Learning Khouloud Gaaloul Claudio Menghi Shiva Nejati Lionel C. Briand QRA Corp, Canada David Wolfe University of Luxembourg, Luxembourg University of Ottawa, Canada University of Luxembourg, Luxembourg University of Ottawa, Canada University of Luxembourg, Luxembourg University of Luxembourg, Luxembourg