SlideShare a Scribd company logo
1 of 30
Download to read offline
.lu
software verification & validation
V
V
S
Automating System Test Case
Classification and Prioritization
for Use Case-Driven Testing
in Product Lines
Ines Hajri1, Arda Goknil2, Fabrizio Pastore1, Lionel Briand1,3
Journal First, Empirical Software Engineering Journal (2020)
1 SnT Centre/University of Luxembourg, Luxembourg
2 SINTEF Digital, Norway
3 University of Ottawa, Canada
ESEC/FSE 2021
• In several product lines,
Ø infeasible to define all the system-level test cases beforehand, at the PL level
Ø infeasible to simply reuse and execute all test cases of previous products
• Current test practice is "opportunistic reuse of test assets” [Da Mota 2011]
Ø system test cases are manually selected for reuse
- not systematic: a lot of test cases rewritten from scratch
Ø no guidance to prioritize test cases
- related work mostly relies on source code analysis but source code is partially
available in industrial contexts
- delays failure detection, risky and critical test cases potentially executed last
2
Motivation
Objective
Support the definition and the prioritization
of the test suite for a new product
by maximizing the reuse
of test suites of existing products in a product line
and relying on requirements not source code analysis
3
4
PL: Product Line
PS: Product Specific
Sensors
Recognize
Gesture
Identify System
Operating Status Storing
Error
Status
Provide System
Operating Status
Tester
<<include>>
<<Variant>>
Store Error
Status
<<include>>
Clearing
Error
Status
<<Variant>>
Clear Error
Status
0..1
0..1
<<require>>
STO Controller
<<include>>
Model Variability in
Use Case and Domain Models
PL Use Case
Diagram
PL Use Case
Specifications
PL Domain
Model
¨
<<s>>
<<p>>
<<p>>
<<m
>>
Interactive Configuration
of PS Use Case and Domain
Models
≠
Automated
Configuration of PS Use
Change Impact
Analysis for
Incremental
{
<latexit
sha1_base64="(null)">(null)</latexit>
<latexit
sha1_base64="(null)">(null)</latexit>
<latexit
sha1_base64="(null)">(null)</latexit>
<latexit
sha1_base64="(null)">(null)</latexit>
PS Use Case
Diagram
Impact Analysis
Report
PS Use Case
Specifications
PS Domain
Model
VP1
VP2
VP3
Decision
Model
Product Line Use Case Modeling
[Hajri 2015]
5
PL: Product Line
PS: Product Specific
Sensors
Recognize
Gesture
Identify System
Operating Status Storing
Error
Status
Provide System
Operating Status
Tester
<<include>>
<<Variant>>
Store Error
Status
<<include>>
Clearing
Error
Status
<<Variant>>
Clear Error
Status
0..1
0..1
<<require>>
STO Controller
<<include>>
Model Variability in
Use Case and Domain Models
PL Use Case
Diagram
PL Use Case
Specifications
PL Domain
Model
¨
<<s>>
<<p>>
<<p>>
<<m
>>
Interactive Configuration
of PS Use Case and Domain
Models
≠
Automated
Configuration of PS Use
Change Impact
Analysis for
Incremental
{
<latexit
sha1_base64="(null)">(null)</latexit>
<latexit
sha1_base64="(null)">(null)</latexit>
<latexit
sha1_base64="(null)">(null)</latexit>
<latexit
sha1_base64="(null)">(null)</latexit>
PS Use Case
Diagram
Impact Analysis
Report
PS Use Case
Specifications
PS Domain
Model
VP1
VP2
VP3
Decision
Model
Product Line Use Case Modeling
Use Case: Provide System User Data via Standard Mode
Basic Flow
1. OPTIONAL STEP: The system requests the move capacitance from the
sensors
2. INCLUDE VARIATION POINT: INCLUDE USE CASE Identify System Operati
ng Status
3. The system VALIDATES THAT the operating status is valid
4. The system VALIDATES THAT the movement is a valid kick
5. The system SENDS the valid kick status TO the STO Controller
Alternative Flow
RFS 3
1. ABORT
Alternative Flow
RFS 4
1. The system increments the OveruseCounter by the increment step
2. ABORT
Product 1
Basic Flow
SELECTED
SELECTED
SELECTED
SELECTED
SELECTED
Alternative Flow
-
SELECTED
Alternative Flow
-
SELECTED
SELECTED
Product 2
Basic Flow
NOT SELECTED
NOT SELECTED
SELECTED
SELECTED
SELECTED
Alternative Flow
-
SELECTED
Alternative Flow
-
SELECTED
SELECTED
6
PL: Product Line
PS: Product Specific
Sensors
Recognize
Gesture
Identify System
Operating Status Storing
Error
Status
Provide System
Operating Status
Tester
<<include>>
<<Variant>>
Store Error
Status
<<include>>
Clearing
Error
Status
<<Variant>>
Clear Error
Status
0..1
0..1
<<require>>
STO Controller
<<include>>
Model Variability in
Use Case and Domain Models
PL Use Case
Diagram
PL Use Case
Specifications
PL Domain
Model
¨
<<s>>
<<p>>
<<p>>
<<m
>>
Interactive Configuration
of PS Use Case and Domain
Models
≠
Automated
Configuration of PS Use
Change Impact
Analysis for
Incremental
{
<latexit
sha1_base64="(null)">(null)</latexit>
<latexit
sha1_base64="(null)">(null)</latexit>
<latexit
sha1_base64="(null)">(null)</latexit>
<latexit
sha1_base64="(null)">(null)</latexit>
PS Use Case
Diagram
Impact Analysis
Report
PS Use Case
Specifications
PS Domain
Model
VP1
VP2
VP3
Decision
Model
Product Line Use Case Modeling
7
Test Case Classification and
Prioritization
1. Classify System
Test Cases for
the new Product
2. Create New
Test Cases
Using Guidance
3. Prioritize System
Test Cases for the
New Product
• PS Models and Decision Model
for the New Product
• Test Cases, PS Models and their
Traces, and Decision Models for
Previous Product(s)
• Partial Test Suite for
the New Product
• Guidance to Update
Test Cases
Test suite for
the new Product
• Test Execution History
• Variability Information
• Size of Use Case Scenarios
• Classification of Test Cases
Prioritized Test Suite
for the New Product
Start
Test Case Classification and
Prioritization
1. Classify previous
Test Cases
Partial Test Suite
for the New Product
Start
Use Case
specifications
for the new
product
Decision Model
for the new
product
Test Cases
for previous
Products
Trace
Links
Use Case
specifications
for previous
products
Decision
models for
previous
Products
TC1 TC1
TC2
Guidance to
Update Test
Cases
VP1
VP2
VP3
VP1
VP2
VP3
VP1
VP2
VP3
VP1
VP2
VP3
Test Case Classification
• Three classes [Briand 2009]:
• reusable (may re-run)
• retestable (shall re-run)
• obsolete (shall delete)
• Determined by comparing the sequence of use case
steps traversed by a test case in the old and new
product
• rely on a use case scenario model
9
Use Case Scenario Model
10
1. The system requests the move
capacitance from the sensors
2. INCLUDE USE CASE Identify
System Operating Status
1. The system increments the
OveruseCounter by the increment step
3. The system VALIDATES THAT
the operating status is valid
4. The system VALIDATES THAT
the movement is a valid kick
1. ABORT
5. The system SENDS the valid
kick status TO the STO Controller
2. ABORT
true
true
false
false
A
B
C
D
E
F
H
G
11
Use Case Scenario Model
1. The system requests the move!
capacitance from the sensors
2. INCLUDE USE CASE Identify!
System Operating Status
1. The system increments the !
OveruseCounter by the increment step
3. The system VALIDATES THAT
the operating status is valid
4. The system VALIDATES THAT 
the movement is a valid kick
1. ABORT
5. The system SENDS the valid !
kick status TO the STO Controller
2. ABORT
true
true
false
false
A
B
C
D
E
F
H
G
TC1 TC2 TC3
12
A
B
C
D
F
E
G
Old product
A
B
C
D
F
E
G
New product
reusable
H H
Test Cases Classification:
Reusable Tests
Same sequence of steps in two products
13
B
C
D
F
E
G
Old product New product
retestable
A
C
D
F
E
G
B
Internal step:
represent internal
system operations
H
A
H
Test Cases Classification:
Retestable Tests
The sequence of inputs and outputs remains valid
Test Cases Classification:
Obsolete Tests
14
A
B
C
D
F
E
G
Old product New product
obsolete
C
D
F
E
G
A Input step:
represent system-
actor interactions
H
B
H
The sequence of test inputs and outputs might
be invalidated by the change
Refer to our paper
for a complete list of rules
16
B
C
D
F
E
H
X
Z
A • Perform depth-first traversal
guided by use case scenarios
of previous products
- We analyze scenarios
covered by retestable and
obsolete test cases
• Any traversed path that
includes steps that were not
exercised by any test case for
previous product is considered
a new scenario
Identification of New Scenarios
Use Case Scenario Model
for New Product
Guidance Generation
17
• We compare old and new scenarios
• determine their differences
• We provide a set of suggestions for adding, removing and
updating test case steps that correspond to added, removed
and updated use case steps in the old and new scenario
Guidance Example Outputs
18
1. The system requests the move
capacitance from the sensors
2. INCLUDE USE CASE Identify
System Operating Status
1. The system increments the
OveruseCounter by the increment step
3. The system VALIDATES THAT
the operating status is valid
4. The system VALIDATES THAT
the movement is a valid kick
2. ABORT
A
B
C
D
H
G
Please update the existing test
case “TC2” to account for the
fact that the step in red was
deleted from the scenario of the
use case specifications of the
previous product.
Test Case Classification and
Prioritization
1. Classify previous
Test Cases
2. Create New
Test Cases
Using Guidance
Partial Test Suite
for the New Product
Test suite for
the new Product
Start
Use Case
specifications
for the new
product
Decision Model
for the new
product
Test Cases
for previous
Products
Trace
Links
Use Case
specifications
for previous
products
Decision
models for
previous
Products
TC1 TC1
TC2
Guidance to
Update Test
Cases
•
• •
• •
• •
• •
• •
• •
• •
•
VP1
VP2
VP3
VP1
VP2
VP3
VP1
VP2
VP3
VP1
VP2
VP3
20
Test Case Classification and
Prioritization
1. Classify previous
Test Cases
2. Create New
Test Cases
Using Guidance
3. Prioritize System
Test Cases for the
New Product
Partial Test Suite
for the New Product
Test suite for
the new Product
• Test Execution History
• Variability Information
• Size of Use Case Scenarios
• Classification of Test Cases
Prioritized Test Suite
for the New Product
Start
Use Case
specifications
for the new
product
Decision Model
for the new
product
•
• •
• •
• •
• •
• •
• •
• •
•
Test Cases
for previous
Products
Trace
Links
Use Case
specifications
for previous
products
Decision
models for
previous
Products
TC1 TC1
TC2
Guidance to
Update Test
Cases
•
• •
• •
• •
• •
• •
• •
• •
•
VP1
VP2
VP3
VP1
VP2
VP3
VP1
VP2
VP3
VP1
VP2
VP3
Test Case Prioritization Approach
22
Identifying Significant
Factors
1
Degree of
variabilty
Test case is
retestable?
Prioritizing Test Cases Based on
Significant Factors
2
List of Significant
Factors
Prioritized Test Suite
# of failing
products
Rely on Logistic
Regression
# steps in Use
Case Scenario
# of failing
versions
The regression
model predicts
the probability
of failure
Sorted in
descending
order of
probability
Based on
p-value
for each
parameter
Empirical Evaluation
• RQ1: Does the proposed approach provide correct test case
classification results?
• RQ2: Does the proposed approach accurately identify new
scenarios that are relevant for testing a new product?
• RQ3: Does the proposed approach successfully prioritize test
cases?
• RQ4: Can the proposed approach significantly reduce test
development cost compared to current industrial practice?
31
Empirical Evaluation
• RQ1: Does the proposed approach provide correct test case
classification results?
• RQ2: Does the proposed approach accurately identify new
scenarios that are relevant for testing a new product?
• RQ3: Does the proposed approach successfully prioritize test
cases?
• RQ4: Can the proposed approach significantly reduce test
development cost compared to current industrial practice?
32
Case Study Subject
• Smart Trunk Opener (STO) system developed
by our industry partner IEE
• 14 variant use cases, 8 variation points, 13
optional alternative flows and 27 optional steps
33
Product ID # Versions # Use Cases # Use Case Flows # Use Case Steps # Test Cases
P1 22 28 236 689 110
P2 8 25 169 568 86
P3 10 28 234 685 96
P4 5 26 212 618 83
P5 9 28 238 695 113
Our approach identifies more than 80% of the failures by
executing less than 50% of the test cases
RQ3: Effectiveness of Test Case
Prioritization
34
Classified
Test Suites
Product to be
Tested
% Test Case Executed to Identify
All Failures 80% of Failures
P1 P2 72.09 38.37
P1, P2 P3 41.66 22.91
P1, P2, P3 P4 51.80 22.89
P1, P2, P3, P4 P5 26.54 18.58
In the paper, we also compare results with the ideal situation where
all failing test cases are executed first.
Result: When data is available for at least two products, we achieve
the same results with half of the test cases.
• We compared results from our approach with the ideal
situation where all failing test cases are executed first
• For both results (ideal and that of our approach):
- We computed the Area Under Curve (AUC) for the cumulative
percentage of failures triggered by executed test cases
- We computed the AUC ratio
35
RQ3: Effectiveness of Test Case
Prioritization
36
0 20 40 60 80
0.0
0.2
0.4
0.6
0.8
1.0
TCs
Percentage
of
failures
(cumulative)
Ideal
Observed
0 20 40 60 80
0.0
0.2
0.4
0.6
0.8
1.0
TCs
Percentage
of
failures
(cumulative)
Ideal
Observed
0 20 40 60 80
0.2
0.4
0.6
0.8
1.0
TCs
Percentage
of
failures
(cumulative)
Ideal
Observed
0 20 40 60 80 100
0.2
0.4
0.6
0.8
1.0
TCs
Percentage
of
failures
(cumulative)
Ideal
Observed
Cumulative
Percentage
of
failure
Test Cases
AUC ratio = 0.98 AUC ratio = 0.99
AUC ratio = 0.97 AUC ratio = 0.95
RQ4: Reducing Test Development
Cost
37
• Number of test cases inherited from previous products
• Number of test cases that need to be implemented
Classified Test
Suites
New
Product
Test Cases Inherited
from Previous
Products
(Reusable/Retestabl
e)
New Test
Cases
Test Suite
Size for
The New
Product
P1 P2 83 3 86
P1, P2 P3 95 1 96
P1, P2, P3 P4 83 0 83
P1, P2, P3, P4 P5 110 14 113
RQ4: Reducing Test Development
Cost
38
• Number of test cases inherited from previous products
• Number of test cases that need to be implemented
Classified Test
Suites
New
Product
Test Cases Inherited
from Previous
Products
(Reusable/Retestabl
e)
New Test
Cases
Test Suite
Size for
The New
Product
P1 P2 83 3 86
P1, P2 P3 95 1 96
P1, P2, P3 P4 83 0 83
P1, P2, P3, P4 P5 110 14 113
95% of test cases can be inherited from test suites of previous
products
41
Objective
Support the definition and the prioritization
of the test suite for a new product
by maximizing the reuse
of test suites of existing products in a product line
and relying on requirements not source code analysis
3 20
Test Case Classification and
Prioritization
1. Classify previous
Test Cases
2. Create New
Test Cases
Using Guidance
3. Prioritize System
Test Cases for the
New Product
Partial Test Suite
for the New Product
Test suite for
the new Product
• Test Execution History
• Variability Information
• Size of Use Case Scenarios
• Classification of Test Cases
Prioritized Test Suite
for the New Product
Start
Use Case
specifications
for the new
product
Decision Model
for the new
product
•
• •
• •
• •
• •
• •
• •
• •
•
Test Cases
for previous
Products
Trace
Links
Use Case
specifications
for previous
products
Decision
models for
previous
Products
TC1 TC1
TC2
Guidance to
Update Test
Cases
•
• •
• •
• •
• •
• •
• •
• •
•
VP1
VP2
VP3
VP1
VP2
VP3
VP1
VP2
VP3
VP1
VP2
VP3
Empirical Evaluation
• RQ1: Does the proposed approach provide correct test case
classification results?
• RQ2: Does the proposed approach accurately identify new
scenarios that are relevant for testing a new product?
• RQ3: Does the proposed approach successfully prioritize test
cases?
• RQ4: Can the proposed approach significantly reduce testing
costs compared to current industrial practice?
31
Our approach identifies more than 80%
of the failures by
executing less than 50% of the test cases
95% of test cases can be inherited from test
suites of previous products
.lu
software verification & validation
V
V
S
Automating System Test Case
Classification and Prioritization
for Use Case-Driven Testing
in Product Lines
Ines Hajri1, Arda Goknil2, Fabrizio Pastore1, Lionel
Briand1,3
1 SnT Centre/University of Luxembourg, Luxembourg
2 SINTEF Digital, Norway
3 University of Ottawa, Canada

More Related Content

What's hot

Automatic Test Suite Generation for Key-Points Detection DNNs using Many-Obje...
Automatic Test Suite Generation for Key-Points Detection DNNs using Many-Obje...Automatic Test Suite Generation for Key-Points Detection DNNs using Many-Obje...
Automatic Test Suite Generation for Key-Points Detection DNNs using Many-Obje...Lionel Briand
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsLionel Briand
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsLionel Briand
 
Keynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingKeynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingLionel Briand
 
Automated Test Suite Generation for Time-Continuous Simulink Models
Automated Test Suite Generation for Time-Continuous Simulink ModelsAutomated Test Suite Generation for Time-Continuous Simulink Models
Automated Test Suite Generation for Time-Continuous Simulink ModelsLionel Briand
 
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...Lionel Briand
 
AI in SE: A 25-year Journey
AI in SE: A 25-year JourneyAI in SE: A 25-year Journey
AI in SE: A 25-year JourneyLionel Briand
 
Incremental Reconfiguration of Product Specific Use Case Models for Evolving ...
Incremental Reconfiguration of Product Specific Use Case Models for Evolving ...Incremental Reconfiguration of Product Specific Use Case Models for Evolving ...
Incremental Reconfiguration of Product Specific Use Case Models for Evolving ...Lionel Briand
 
Model-Driven Run-Time Enforcement of Complex Role-Based Access Control Policies
Model-Driven Run-Time Enforcement of Complex Role-Based Access Control PoliciesModel-Driven Run-Time Enforcement of Complex Role-Based Access Control Policies
Model-Driven Run-Time Enforcement of Complex Role-Based Access Control PoliciesLionel Briand
 
Enabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceEnabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceLionel Briand
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLLionel Briand
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynoteShiva Nejati
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...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
 
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...Lionel Briand
 
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Lionel Briand
 
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...Lionel Briand
 
Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)SungdoGu
 
Automated Inference of Access Control Policies for Web Applications
Automated Inference of Access Control Policies for Web ApplicationsAutomated Inference of Access Control Policies for Web Applications
Automated Inference of Access Control Policies for Web ApplicationsLionel Briand
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingLionel Briand
 

What's hot (20)

Automatic Test Suite Generation for Key-Points Detection DNNs using Many-Obje...
Automatic Test Suite Generation for Key-Points Detection DNNs using Many-Obje...Automatic Test Suite Generation for Key-Points Detection DNNs using Many-Obje...
Automatic Test Suite Generation for Key-Points Detection DNNs using Many-Obje...
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
Keynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingKeynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based Testing
 
Automated Test Suite Generation for Time-Continuous Simulink Models
Automated Test Suite Generation for Time-Continuous Simulink ModelsAutomated Test Suite Generation for Time-Continuous Simulink Models
Automated Test Suite Generation for Time-Continuous Simulink Models
 
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
 
AI in SE: A 25-year Journey
AI in SE: A 25-year JourneyAI in SE: A 25-year Journey
AI in SE: A 25-year Journey
 
Incremental Reconfiguration of Product Specific Use Case Models for Evolving ...
Incremental Reconfiguration of Product Specific Use Case Models for Evolving ...Incremental Reconfiguration of Product Specific Use Case Models for Evolving ...
Incremental Reconfiguration of Product Specific Use Case Models for Evolving ...
 
Model-Driven Run-Time Enforcement of Complex Role-Based Access Control Policies
Model-Driven Run-Time Enforcement of Complex Role-Based Access Control PoliciesModel-Driven Run-Time Enforcement of Complex Role-Based Access Control Policies
Model-Driven Run-Time Enforcement of Complex Role-Based Access Control Policies
 
Enabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceEnabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial Intelligence
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
 
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 ...
 
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: ...
 
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...
 
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
 
Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)
 
Automated Inference of Access Control Policies for Web Applications
Automated Inference of Access Control Policies for Web ApplicationsAutomated Inference of Access Control Policies for Web Applications
Automated Inference of Access Control Policies for Web Applications
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and Testing
 

Similar to Automating System Test Case Classification and Prioritization for Use Case-Driven Testing in Product Lines

Supporting Change in Product Lines within the Context of Use Case-driven Deve...
Supporting Change in Product Lines within the Context of Use Case-driven Deve...Supporting Change in Product Lines within the Context of Use Case-driven Deve...
Supporting Change in Product Lines within the Context of Use Case-driven Deve...Lionel Briand
 
Aplication of on line data analytics to a continuous process polybetene unit
Aplication of on line data analytics to a continuous process polybetene unitAplication of on line data analytics to a continuous process polybetene unit
Aplication of on line data analytics to a continuous process polybetene unitEmerson Exchange
 
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Lionel Briand
 
Automatic Generation of System Test Cases from Use Case Specifications
Automatic Generation of System Test Cases from Use Case SpecificationsAutomatic Generation of System Test Cases from Use Case Specifications
Automatic Generation of System Test Cases from Use Case SpecificationsLionel Briand
 
Smarter workflows with thermo scientific chromeleon cds
Smarter workflows with thermo scientific chromeleon cdsSmarter workflows with thermo scientific chromeleon cds
Smarter workflows with thermo scientific chromeleon cdsOskari Aro
 
Unit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringUnit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringKanchanPatil34
 
DCS_Check-Out_and_Operator_Training_with_HYSYS_Dynamics_White_v1.3.pdf
DCS_Check-Out_and_Operator_Training_with_HYSYS_Dynamics_White_v1.3.pdfDCS_Check-Out_and_Operator_Training_with_HYSYS_Dynamics_White_v1.3.pdf
DCS_Check-Out_and_Operator_Training_with_HYSYS_Dynamics_White_v1.3.pdfOkeke Livinus
 
(ATS6-APP08) ADQM Solution Deployment
(ATS6-APP08) ADQM Solution Deployment(ATS6-APP08) ADQM Solution Deployment
(ATS6-APP08) ADQM Solution DeploymentBIOVIA
 
bio statistical tools of process validation
bio statistical tools of process validationbio statistical tools of process validation
bio statistical tools of process validationmounika chowdary
 
aa-automation-apc-complex-industrial-processes
aa-automation-apc-complex-industrial-processesaa-automation-apc-complex-industrial-processes
aa-automation-apc-complex-industrial-processesDavid Lyon
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingAmr E. Mohamed
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsSAIL_QU
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designMaitree Patel
 
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...Iosif Itkin
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingAmr E. Mohamed
 

Similar to Automating System Test Case Classification and Prioritization for Use Case-Driven Testing in Product Lines (20)

Supporting Change in Product Lines within the Context of Use Case-driven Deve...
Supporting Change in Product Lines within the Context of Use Case-driven Deve...Supporting Change in Product Lines within the Context of Use Case-driven Deve...
Supporting Change in Product Lines within the Context of Use Case-driven Deve...
 
Aplication of on line data analytics to a continuous process polybetene unit
Aplication of on line data analytics to a continuous process polybetene unitAplication of on line data analytics to a continuous process polybetene unit
Aplication of on line data analytics to a continuous process polybetene unit
 
ABC of developer test
ABC of developer testABC of developer test
ABC of developer test
 
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
 
Automatic Generation of System Test Cases from Use Case Specifications
Automatic Generation of System Test Cases from Use Case SpecificationsAutomatic Generation of System Test Cases from Use Case Specifications
Automatic Generation of System Test Cases from Use Case Specifications
 
Smarter workflows with thermo scientific chromeleon cds
Smarter workflows with thermo scientific chromeleon cdsSmarter workflows with thermo scientific chromeleon cds
Smarter workflows with thermo scientific chromeleon cds
 
Unit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringUnit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineering
 
DCS_Check-Out_and_Operator_Training_with_HYSYS_Dynamics_White_v1.3.pdf
DCS_Check-Out_and_Operator_Training_with_HYSYS_Dynamics_White_v1.3.pdfDCS_Check-Out_and_Operator_Training_with_HYSYS_Dynamics_White_v1.3.pdf
DCS_Check-Out_and_Operator_Training_with_HYSYS_Dynamics_White_v1.3.pdf
 
Waferpro
WaferproWaferpro
Waferpro
 
(ATS6-APP08) ADQM Solution Deployment
(ATS6-APP08) ADQM Solution Deployment(ATS6-APP08) ADQM Solution Deployment
(ATS6-APP08) ADQM Solution Deployment
 
bio statistical tools of process validation
bio statistical tools of process validationbio statistical tools of process validation
bio statistical tools of process validation
 
aa-automation-apc-complex-industrial-processes
aa-automation-apc-complex-industrial-processesaa-automation-apc-complex-industrial-processes
aa-automation-apc-complex-industrial-processes
 
Van Kessel
Van KesselVan Kessel
Van Kessel
 
Reliability Case Results
Reliability Case ResultsReliability Case Results
Reliability Case Results
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software Testing
 
Testing Process
Testing ProcessTesting Process
Testing Process
 

More from Lionel Briand

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

More from Lionel Briand (20)

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

Recently uploaded

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%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 kaalfonteinmasabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
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...Jittipong Loespradit
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
%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 tembisamasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
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 AidPhilip Schwarz
 
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 pastPapp Krisztián
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
%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 Bahrainmasabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 

Recently uploaded (20)

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
 
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
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%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
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
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...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%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
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
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
 
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
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
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...
 
%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
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 

Automating System Test Case Classification and Prioritization for Use Case-Driven Testing in Product Lines

  • 1. .lu software verification & validation V V S Automating System Test Case Classification and Prioritization for Use Case-Driven Testing in Product Lines Ines Hajri1, Arda Goknil2, Fabrizio Pastore1, Lionel Briand1,3 Journal First, Empirical Software Engineering Journal (2020) 1 SnT Centre/University of Luxembourg, Luxembourg 2 SINTEF Digital, Norway 3 University of Ottawa, Canada ESEC/FSE 2021
  • 2. • In several product lines, Ø infeasible to define all the system-level test cases beforehand, at the PL level Ø infeasible to simply reuse and execute all test cases of previous products • Current test practice is "opportunistic reuse of test assets” [Da Mota 2011] Ø system test cases are manually selected for reuse - not systematic: a lot of test cases rewritten from scratch Ø no guidance to prioritize test cases - related work mostly relies on source code analysis but source code is partially available in industrial contexts - delays failure detection, risky and critical test cases potentially executed last 2 Motivation
  • 3. Objective Support the definition and the prioritization of the test suite for a new product by maximizing the reuse of test suites of existing products in a product line and relying on requirements not source code analysis 3
  • 4. 4 PL: Product Line PS: Product Specific Sensors Recognize Gesture Identify System Operating Status Storing Error Status Provide System Operating Status Tester <<include>> <<Variant>> Store Error Status <<include>> Clearing Error Status <<Variant>> Clear Error Status 0..1 0..1 <<require>> STO Controller <<include>> Model Variability in Use Case and Domain Models PL Use Case Diagram PL Use Case Specifications PL Domain Model ¨ <<s>> <<p>> <<p>> <<m >> Interactive Configuration of PS Use Case and Domain Models ≠ Automated Configuration of PS Use Change Impact Analysis for Incremental { <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> PS Use Case Diagram Impact Analysis Report PS Use Case Specifications PS Domain Model VP1 VP2 VP3 Decision Model Product Line Use Case Modeling [Hajri 2015]
  • 5. 5 PL: Product Line PS: Product Specific Sensors Recognize Gesture Identify System Operating Status Storing Error Status Provide System Operating Status Tester <<include>> <<Variant>> Store Error Status <<include>> Clearing Error Status <<Variant>> Clear Error Status 0..1 0..1 <<require>> STO Controller <<include>> Model Variability in Use Case and Domain Models PL Use Case Diagram PL Use Case Specifications PL Domain Model ¨ <<s>> <<p>> <<p>> <<m >> Interactive Configuration of PS Use Case and Domain Models ≠ Automated Configuration of PS Use Change Impact Analysis for Incremental { <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> PS Use Case Diagram Impact Analysis Report PS Use Case Specifications PS Domain Model VP1 VP2 VP3 Decision Model Product Line Use Case Modeling Use Case: Provide System User Data via Standard Mode Basic Flow 1. OPTIONAL STEP: The system requests the move capacitance from the sensors 2. INCLUDE VARIATION POINT: INCLUDE USE CASE Identify System Operati ng Status 3. The system VALIDATES THAT the operating status is valid 4. The system VALIDATES THAT the movement is a valid kick 5. The system SENDS the valid kick status TO the STO Controller Alternative Flow RFS 3 1. ABORT Alternative Flow RFS 4 1. The system increments the OveruseCounter by the increment step 2. ABORT Product 1 Basic Flow SELECTED SELECTED SELECTED SELECTED SELECTED Alternative Flow - SELECTED Alternative Flow - SELECTED SELECTED Product 2 Basic Flow NOT SELECTED NOT SELECTED SELECTED SELECTED SELECTED Alternative Flow - SELECTED Alternative Flow - SELECTED SELECTED
  • 6. 6 PL: Product Line PS: Product Specific Sensors Recognize Gesture Identify System Operating Status Storing Error Status Provide System Operating Status Tester <<include>> <<Variant>> Store Error Status <<include>> Clearing Error Status <<Variant>> Clear Error Status 0..1 0..1 <<require>> STO Controller <<include>> Model Variability in Use Case and Domain Models PL Use Case Diagram PL Use Case Specifications PL Domain Model ¨ <<s>> <<p>> <<p>> <<m >> Interactive Configuration of PS Use Case and Domain Models ≠ Automated Configuration of PS Use Change Impact Analysis for Incremental { <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> <latexit sha1_base64="(null)">(null)</latexit> PS Use Case Diagram Impact Analysis Report PS Use Case Specifications PS Domain Model VP1 VP2 VP3 Decision Model Product Line Use Case Modeling
  • 7. 7 Test Case Classification and Prioritization 1. Classify System Test Cases for the new Product 2. Create New Test Cases Using Guidance 3. Prioritize System Test Cases for the New Product • PS Models and Decision Model for the New Product • Test Cases, PS Models and their Traces, and Decision Models for Previous Product(s) • Partial Test Suite for the New Product • Guidance to Update Test Cases Test suite for the new Product • Test Execution History • Variability Information • Size of Use Case Scenarios • Classification of Test Cases Prioritized Test Suite for the New Product Start
  • 8. Test Case Classification and Prioritization 1. Classify previous Test Cases Partial Test Suite for the New Product Start Use Case specifications for the new product Decision Model for the new product Test Cases for previous Products Trace Links Use Case specifications for previous products Decision models for previous Products TC1 TC1 TC2 Guidance to Update Test Cases VP1 VP2 VP3 VP1 VP2 VP3 VP1 VP2 VP3 VP1 VP2 VP3
  • 9. Test Case Classification • Three classes [Briand 2009]: • reusable (may re-run) • retestable (shall re-run) • obsolete (shall delete) • Determined by comparing the sequence of use case steps traversed by a test case in the old and new product • rely on a use case scenario model 9
  • 10. Use Case Scenario Model 10 1. The system requests the move capacitance from the sensors 2. INCLUDE USE CASE Identify System Operating Status 1. The system increments the OveruseCounter by the increment step 3. The system VALIDATES THAT the operating status is valid 4. The system VALIDATES THAT the movement is a valid kick 1. ABORT 5. The system SENDS the valid kick status TO the STO Controller 2. ABORT true true false false A B C D E F H G
  • 11. 11 Use Case Scenario Model 1. The system requests the move! capacitance from the sensors 2. INCLUDE USE CASE Identify! System Operating Status 1. The system increments the ! OveruseCounter by the increment step 3. The system VALIDATES THAT the operating status is valid 4. The system VALIDATES THAT the movement is a valid kick 1. ABORT 5. The system SENDS the valid ! kick status TO the STO Controller 2. ABORT true true false false A B C D E F H G TC1 TC2 TC3
  • 12. 12 A B C D F E G Old product A B C D F E G New product reusable H H Test Cases Classification: Reusable Tests Same sequence of steps in two products
  • 13. 13 B C D F E G Old product New product retestable A C D F E G B Internal step: represent internal system operations H A H Test Cases Classification: Retestable Tests The sequence of inputs and outputs remains valid
  • 14. Test Cases Classification: Obsolete Tests 14 A B C D F E G Old product New product obsolete C D F E G A Input step: represent system- actor interactions H B H The sequence of test inputs and outputs might be invalidated by the change Refer to our paper for a complete list of rules
  • 15. 16 B C D F E H X Z A • Perform depth-first traversal guided by use case scenarios of previous products - We analyze scenarios covered by retestable and obsolete test cases • Any traversed path that includes steps that were not exercised by any test case for previous product is considered a new scenario Identification of New Scenarios Use Case Scenario Model for New Product
  • 16. Guidance Generation 17 • We compare old and new scenarios • determine their differences • We provide a set of suggestions for adding, removing and updating test case steps that correspond to added, removed and updated use case steps in the old and new scenario
  • 17. Guidance Example Outputs 18 1. The system requests the move capacitance from the sensors 2. INCLUDE USE CASE Identify System Operating Status 1. The system increments the OveruseCounter by the increment step 3. The system VALIDATES THAT the operating status is valid 4. The system VALIDATES THAT the movement is a valid kick 2. ABORT A B C D H G Please update the existing test case “TC2” to account for the fact that the step in red was deleted from the scenario of the use case specifications of the previous product.
  • 18. Test Case Classification and Prioritization 1. Classify previous Test Cases 2. Create New Test Cases Using Guidance Partial Test Suite for the New Product Test suite for the new Product Start Use Case specifications for the new product Decision Model for the new product Test Cases for previous Products Trace Links Use Case specifications for previous products Decision models for previous Products TC1 TC1 TC2 Guidance to Update Test Cases • • • • • • • • • • • • • • • • VP1 VP2 VP3 VP1 VP2 VP3 VP1 VP2 VP3 VP1 VP2 VP3
  • 19. 20 Test Case Classification and Prioritization 1. Classify previous Test Cases 2. Create New Test Cases Using Guidance 3. Prioritize System Test Cases for the New Product Partial Test Suite for the New Product Test suite for the new Product • Test Execution History • Variability Information • Size of Use Case Scenarios • Classification of Test Cases Prioritized Test Suite for the New Product Start Use Case specifications for the new product Decision Model for the new product • • • • • • • • • • • • • • • • Test Cases for previous Products Trace Links Use Case specifications for previous products Decision models for previous Products TC1 TC1 TC2 Guidance to Update Test Cases • • • • • • • • • • • • • • • • VP1 VP2 VP3 VP1 VP2 VP3 VP1 VP2 VP3 VP1 VP2 VP3
  • 20. Test Case Prioritization Approach 22 Identifying Significant Factors 1 Degree of variabilty Test case is retestable? Prioritizing Test Cases Based on Significant Factors 2 List of Significant Factors Prioritized Test Suite # of failing products Rely on Logistic Regression # steps in Use Case Scenario # of failing versions The regression model predicts the probability of failure Sorted in descending order of probability Based on p-value for each parameter
  • 21. Empirical Evaluation • RQ1: Does the proposed approach provide correct test case classification results? • RQ2: Does the proposed approach accurately identify new scenarios that are relevant for testing a new product? • RQ3: Does the proposed approach successfully prioritize test cases? • RQ4: Can the proposed approach significantly reduce test development cost compared to current industrial practice? 31
  • 22. Empirical Evaluation • RQ1: Does the proposed approach provide correct test case classification results? • RQ2: Does the proposed approach accurately identify new scenarios that are relevant for testing a new product? • RQ3: Does the proposed approach successfully prioritize test cases? • RQ4: Can the proposed approach significantly reduce test development cost compared to current industrial practice? 32
  • 23. Case Study Subject • Smart Trunk Opener (STO) system developed by our industry partner IEE • 14 variant use cases, 8 variation points, 13 optional alternative flows and 27 optional steps 33 Product ID # Versions # Use Cases # Use Case Flows # Use Case Steps # Test Cases P1 22 28 236 689 110 P2 8 25 169 568 86 P3 10 28 234 685 96 P4 5 26 212 618 83 P5 9 28 238 695 113
  • 24. Our approach identifies more than 80% of the failures by executing less than 50% of the test cases RQ3: Effectiveness of Test Case Prioritization 34 Classified Test Suites Product to be Tested % Test Case Executed to Identify All Failures 80% of Failures P1 P2 72.09 38.37 P1, P2 P3 41.66 22.91 P1, P2, P3 P4 51.80 22.89 P1, P2, P3, P4 P5 26.54 18.58 In the paper, we also compare results with the ideal situation where all failing test cases are executed first. Result: When data is available for at least two products, we achieve the same results with half of the test cases.
  • 25. • We compared results from our approach with the ideal situation where all failing test cases are executed first • For both results (ideal and that of our approach): - We computed the Area Under Curve (AUC) for the cumulative percentage of failures triggered by executed test cases - We computed the AUC ratio 35 RQ3: Effectiveness of Test Case Prioritization
  • 26. 36 0 20 40 60 80 0.0 0.2 0.4 0.6 0.8 1.0 TCs Percentage of failures (cumulative) Ideal Observed 0 20 40 60 80 0.0 0.2 0.4 0.6 0.8 1.0 TCs Percentage of failures (cumulative) Ideal Observed 0 20 40 60 80 0.2 0.4 0.6 0.8 1.0 TCs Percentage of failures (cumulative) Ideal Observed 0 20 40 60 80 100 0.2 0.4 0.6 0.8 1.0 TCs Percentage of failures (cumulative) Ideal Observed Cumulative Percentage of failure Test Cases AUC ratio = 0.98 AUC ratio = 0.99 AUC ratio = 0.97 AUC ratio = 0.95
  • 27. RQ4: Reducing Test Development Cost 37 • Number of test cases inherited from previous products • Number of test cases that need to be implemented Classified Test Suites New Product Test Cases Inherited from Previous Products (Reusable/Retestabl e) New Test Cases Test Suite Size for The New Product P1 P2 83 3 86 P1, P2 P3 95 1 96 P1, P2, P3 P4 83 0 83 P1, P2, P3, P4 P5 110 14 113
  • 28. RQ4: Reducing Test Development Cost 38 • Number of test cases inherited from previous products • Number of test cases that need to be implemented Classified Test Suites New Product Test Cases Inherited from Previous Products (Reusable/Retestabl e) New Test Cases Test Suite Size for The New Product P1 P2 83 3 86 P1, P2 P3 95 1 96 P1, P2, P3 P4 83 0 83 P1, P2, P3, P4 P5 110 14 113 95% of test cases can be inherited from test suites of previous products
  • 29. 41 Objective Support the definition and the prioritization of the test suite for a new product by maximizing the reuse of test suites of existing products in a product line and relying on requirements not source code analysis 3 20 Test Case Classification and Prioritization 1. Classify previous Test Cases 2. Create New Test Cases Using Guidance 3. Prioritize System Test Cases for the New Product Partial Test Suite for the New Product Test suite for the new Product • Test Execution History • Variability Information • Size of Use Case Scenarios • Classification of Test Cases Prioritized Test Suite for the New Product Start Use Case specifications for the new product Decision Model for the new product • • • • • • • • • • • • • • • • Test Cases for previous Products Trace Links Use Case specifications for previous products Decision models for previous Products TC1 TC1 TC2 Guidance to Update Test Cases • • • • • • • • • • • • • • • • VP1 VP2 VP3 VP1 VP2 VP3 VP1 VP2 VP3 VP1 VP2 VP3 Empirical Evaluation • RQ1: Does the proposed approach provide correct test case classification results? • RQ2: Does the proposed approach accurately identify new scenarios that are relevant for testing a new product? • RQ3: Does the proposed approach successfully prioritize test cases? • RQ4: Can the proposed approach significantly reduce testing costs compared to current industrial practice? 31 Our approach identifies more than 80% of the failures by executing less than 50% of the test cases 95% of test cases can be inherited from test suites of previous products
  • 30. .lu software verification & validation V V S Automating System Test Case Classification and Prioritization for Use Case-Driven Testing in Product Lines Ines Hajri1, Arda Goknil2, Fabrizio Pastore1, Lionel Briand1,3 1 SnT Centre/University of Luxembourg, Luxembourg 2 SINTEF Digital, Norway 3 University of Ottawa, Canada