SlideShare a Scribd company logo
Incremental Control Dependency Frontier
Exploration for Many-Criteria
Test Case Generation
Annibale Panichella, Fitsum M. Kifetew, Paolo Tonella
September 11, 2017
!1
Background
Rojas et al. SSBSE 2015
"Optimising for several criteria at
the same time is feasible without
increasing computational costs"
!2
Classical Approach (WSA)
1
2 3
4 5
8
Class Under Test
7
9
6
Suite-level Fitness Function
3
Classical Approach (WSA)
1
2 3
4 5
8
7
9
6
Suite-level Fitness Function
Branch
Coverage
b2b1
b3 b4
b5
b6 b7
b8
b9
b10
b11 b12
F = f(b1) + f(b2) + … +f (b12)
Class Under Test
4
Classical Approach (WSA)
Suite-level Fitness Function
Statement
Coverage
F = f(b1) + f(b2) + … +f (b12)
+
f(s1) + f(s2) + … +f (s9)
1
2 3
5 4
8
7
9
6
Class Under Test
5
Classical Approach (WSA)
Suite-level Fitness Function
Weak Mutation
Coverage
F = f(b1) + f(b2) + … +f (b12)
+
f(s1) + f(s2) + … +f (s9)
f(m1) + f(m2) + … +f (m3)
+
1
2 m1
m2 m3
8
7
9
6
Class Under Test
5
Incremental Exploration
7
Enhanced Control Flow Graph
6 Annibale Panichella1
, Fitsum Meshesha Kifetew2
, and Paolo Tonella3
(a) Example program (b) Single criterion (c) Multiple criteria
Fig. 1. Code (left), CDG (middle), and ECDG (right) of an example program
Algorithm 1: MC-DynaMOSA
Input:
B = {⌧1, . . . , ⌧m} the set of coverage targets of a program.
CDG = hN, E, si: control dependency graph of the program
Result: A test suite T
L1
L2
L5
L3
b1
b4
b2
b3
L6
L7
L8
b5
b6
b0
Control Flow Graph
Branches + Statements
7
Enhanced Control Flow Graph
6 Annibale Panichella1
, Fitsum Meshesha Kifetew2
, and Paolo Tonella3
(a) Example program (b) Single criterion (c) Multiple criteria
Fig. 1. Code (left), CDG (middle), and ECDG (right) of an example program
Algorithm 1: MC-DynaMOSA
Input:
B = {⌧1, . . . , ⌧m} the set of coverage targets of a program.
CDG = hN, E, si: control dependency graph of the program
Result: A test suite T
L1
L2
L5
b1
b4
b2
L7
L8
b5
b6
b0
Enhanced CFG
L3, μ1
L6, μ2
Branches + Statements +

+ Weak Mutation
b3
8
Enhanced Control Flow Graph
6 Annibale Panichella1
, Fitsum Meshesha Kifetew2
, and Paolo Tonella3
(a) Example program (b) Single criterion (c) Multiple criteria
Fig. 1. Code (left), CDG (middle), and ECDG (right) of an example program
Algorithm 1: MC-DynaMOSA
Input:
B = {⌧1, . . . , ⌧m} the set of coverage targets of a program.
CDG = hN, E, si: control dependency graph of the program
Result: A test suite T
L1
L2
L5
b1
b4
b2
L7
b5
b6
b0
Enhanced CFG
L3, μ1
L6, μ2// o2: x<0, o3: x>0,…
L8, o1, o2
Branches + Statements

+ Weak Mutation
+ Output Diversity
b3
9
Dynamic Many-Objective Sorting Algorithm for
Multi-Criteria Coverage
L1
L2
L5
b1
b4
b2
L7
b5
b6
b0
L3, μ1
L6, μ2
L8, o1, o2
b3
Status Current Objectives Covered Targets
Init. {b0}
10
Dynamic Many-Objective Sorting Algorithm for
Multi-Criteria Coverage
L1
L2
L5
b1
b4
b2
L7
b5
b6
b0
L3, μ1
L6, μ2
L8, o1, o2
b3
Status Current Objectives Covered Targets
Init. {b0}
b0 covered {b1, b5} {b0, L1}
11
Dynamic Many-Objective Sorting Algorithm for
Multi-Criteria Coverage
L1
L2
L5
b1
b4
b2
L7
b5
b6
b0
L3, μ1
L6, μ2
L8, o1, o2
b3
11
f(b1)
f(b5)
Dynamic Many-Objective Sorting Algorithm for
Multi-Criteria Coverage
L1
L2
L5
b1
b4
b2
L7
b5
b6
b0
L3, μ1
L6, μ2
L8, o1, o2
b3
11
f(b1)
f(b5)
T1
T2
T3
T4
Dynamic Many-Objective Sorting Algorithm for
Multi-Criteria Coverage
L1
L2
L5
b1
b4
b2
L7
b5
b6
b0
L3, μ1
L6, μ2
L8, o1, o2
b3
Status Current Objectives Covered Targets
Init. {b0}
b0 covered {b1, b5} {b0, L1}
b1 covered {b2, b3, b5} {b0, L1, b1, L2}
12
Dynamic Many-Objective Sorting Algorithm for
Multi-Criteria Coverage
L1
L2
L5
b1
b4
b2
L7
b5
b6
b0
L3, μ1
L6, μ2
L8, o1, o2
b3
Status Current Objectives Covered Targets
Init. {b0}
b0 covered {b1, b5} {b0, L1}
b1 covered {b2, b3, b5} {b0, L1, b1, L2}
b5 covered {b2, b3, µ2, b4, b6}
{b0, L1, b1, L2, b5,
L6}
13
Dynamic Many-Objective Sorting Algorithm for
Multi-Criteria Coverage
L1
L2
L5
b1
b4
b2
L7
b5
b6
b0
L3, μ1
L6, μ2
L8, o1, o2
b3
Status Current Objectives Covered Targets
Init. {b0}
b0 covered {b1, b5} {b0, L1}
b1 covered {b2, b3, b5} {b0, L1, b1, L2}
b5 covered {b2, b3, µ2, b4, b6} {b0, L1, b1, L2, b5, L6}
b2 covered {b3, b4, b6}
{b0, L1, b1, L2, b5, L6, b2,
L3, µ1, µ2}
b3 covered {b4, b6}
{b0, L1, b1, L2, b5, L6, b2,
L3, µ1, µ2, b3, L5}
14
Empirical Study
18
Study Context
Benchmark:
180 non-trivial classes sampled from SF110
Selection Procedure:
• Computing the McCabe’s cyclomatic complexity (MCC)
• Filtering out all trivial classes (having only methods with MCC <5)
• Random sampling from the pruned projects
Search Budget: Three minutes
16
RQ1: DynaMOSA vs. WSAFrequency
0
35
70
105
140
Coverage Criterion
Branch Line WeakMutation Output
Equivalent Better (p-value<0.05) Worse (p-value<0.05)
17
DynaMOSA is better
than WSA
WSA is better
than DynaMOSA
RQ1: DynaMOSA vs. WSA
%DifferenceinBranchCoverage
-50
-38
-25
-13
0
13
25
38
50
Classes Under Test
18
RQ1: DynaMOSA vs. WSA
%DifferenceinBranchCoverage
-10
1
13
24
35
Classes Under Test
Larger difference
CUT = TableMeta
Project = schemaspy
N.Branches = 68
% Cov. Diff = +31.71%
Larger Class
CUT = JVCParserTokenMan.
Project = JVC
N.Branches = 4252
% Cov. Diff = +13.09%
19
RQ2: DynaMOSA vs. MOSAFrequency
0
35
70
105
140
Coverage Criterion
Branch Line WeakMutation Output
Equivalent Better (p-value<0.05) Worse (p-value<0.05)
20
RQ2: DynaMOSA vs. MOSA
%DifferenceinBranchCoverage
-10
-1
8
16
25
Classes Under Test
Larger difference
CUT = CoordSystemUtilities
Project = schemaspy
N.Branches = 882
% Cov. Diff = +23.68%
Larger Class
CUT = JVCParserTokenMan.
Project = JVC
N.Branches = 4252
% Cov. Diff = +13.79%
21
RQ3: DynaMOSA Multi-Criteria vs. Branch OnlyFrequency
0
30
60
90
120
Coverage Criterion
Branch Line WeakMutation Output
Equivalent Better (p-value<0.05) Worse (p-value<0.05)
22
RQ4: What Are the Benefits in Terms of
Fault Detection Capability?Frequency
0
25
50
75
100
DynaMOSA vs WSA DynaMOSA vs MOSA Multi-Criteria vs Branch Only
Equivalent Better (p-value<0.05) Worse (p-value<0.05)
23
RQ4: What Are the Benefits in Terms of
Fault Detection Capability?
DynaMOSA vs MOSA DynaMOSA vs WSA Multi-Criteria vs Branch Only
DifferenceinMutationScore
60%
40%
20%
0%
-20%
24
What EAs to Choose?
Even Larger
Incremental Control Dependency Frontier
Exploration for Many-Criteria
Test Case Generation
Annibale Panichella, Fitsum M. Kifetew, Paolo Tonella
September 11, 2017

More Related Content

Similar to Incremental Control Dependency Frontier Exploration for Many-Criteria Test Case Generation

GCC
GCCGCC
Compiler Design Unit 5
Compiler Design Unit 5Compiler Design Unit 5
Compiler Design Unit 5
Jena Catherine Bel D
 
Optimizing the Catalyst Optimizer for Complex Plans
Optimizing the Catalyst Optimizer for Complex PlansOptimizing the Catalyst Optimizer for Complex Plans
Optimizing the Catalyst Optimizer for Complex Plans
Databricks
 
Sample Exam Questions on Python for revision
Sample Exam Questions on Python for revisionSample Exam Questions on Python for revision
Sample Exam Questions on Python for revision
afsheenfaiq2
 
Study on Application of Ensemble learning on Credit Scoring
Study on Application of Ensemble learning on Credit ScoringStudy on Application of Ensemble learning on Credit Scoring
Study on Application of Ensemble learning on Credit Scoring
harmonylab
 
Code Optimization.ppt
Code Optimization.pptCode Optimization.ppt
Code Optimization.ppt
JohnSamuel280314
 
CS540-2-lecture11 - Copy.ppt
CS540-2-lecture11 - Copy.pptCS540-2-lecture11 - Copy.ppt
CS540-2-lecture11 - Copy.ppt
ssuser0be977
 
Quality By Design
Quality By DesignQuality By Design
Quality By Design
realmayank
 
Iterative Multilevel Empirical Bayes (IMEB): An efficient flexible and robust...
Iterative Multilevel Empirical Bayes (IMEB): An efficient flexible and robust...Iterative Multilevel Empirical Bayes (IMEB): An efficient flexible and robust...
Iterative Multilevel Empirical Bayes (IMEB): An efficient flexible and robust...
SKIM
 
Control Flow Graphs
Control Flow GraphsControl Flow Graphs
Control Flow Graphs
daimk2020
 
Control Flow Graphs
Control Flow GraphsControl Flow Graphs
Control Flow Graphs
daimk2020
 
A Performance Study of BDD-Based Model Checking
A Performance Study of BDD-Based Model CheckingA Performance Study of BDD-Based Model Checking
A Performance Study of BDD-Based Model Checking
Olivier Coudert
 
Kaggle boschコンペ振り返り
Kaggle boschコンペ振り返りKaggle boschコンペ振り返り
Kaggle boschコンペ振り返り
Keisuke Hosaka
 
Code optimisation presnted
Code optimisation presntedCode optimisation presnted
Code optimisation presnted
bhavanatmithun
 
Lp (2)
Lp (2)Lp (2)
Lp (2)
Samo Alwatan
 
Principal Sources of Optimization in compiler design
Principal Sources of Optimization in compiler design Principal Sources of Optimization in compiler design
Principal Sources of Optimization in compiler design
LogsAk
 
Code optimization
Code optimizationCode optimization
Code optimization
veena venugopal
 
Code optimization
Code optimizationCode optimization
Code optimization
veena venugopal
 
Dat 305 dat305 dat 305 education for service uopstudy.com
Dat 305 dat305 dat 305 education for service   uopstudy.comDat 305 dat305 dat 305 education for service   uopstudy.com
Dat 305 dat305 dat 305 education for service uopstudy.com
ULLPTT
 
Fm G As
Fm G AsFm G As
Fm G As
ysemet
 

Similar to Incremental Control Dependency Frontier Exploration for Many-Criteria Test Case Generation (20)

GCC
GCCGCC
GCC
 
Compiler Design Unit 5
Compiler Design Unit 5Compiler Design Unit 5
Compiler Design Unit 5
 
Optimizing the Catalyst Optimizer for Complex Plans
Optimizing the Catalyst Optimizer for Complex PlansOptimizing the Catalyst Optimizer for Complex Plans
Optimizing the Catalyst Optimizer for Complex Plans
 
Sample Exam Questions on Python for revision
Sample Exam Questions on Python for revisionSample Exam Questions on Python for revision
Sample Exam Questions on Python for revision
 
Study on Application of Ensemble learning on Credit Scoring
Study on Application of Ensemble learning on Credit ScoringStudy on Application of Ensemble learning on Credit Scoring
Study on Application of Ensemble learning on Credit Scoring
 
Code Optimization.ppt
Code Optimization.pptCode Optimization.ppt
Code Optimization.ppt
 
CS540-2-lecture11 - Copy.ppt
CS540-2-lecture11 - Copy.pptCS540-2-lecture11 - Copy.ppt
CS540-2-lecture11 - Copy.ppt
 
Quality By Design
Quality By DesignQuality By Design
Quality By Design
 
Iterative Multilevel Empirical Bayes (IMEB): An efficient flexible and robust...
Iterative Multilevel Empirical Bayes (IMEB): An efficient flexible and robust...Iterative Multilevel Empirical Bayes (IMEB): An efficient flexible and robust...
Iterative Multilevel Empirical Bayes (IMEB): An efficient flexible and robust...
 
Control Flow Graphs
Control Flow GraphsControl Flow Graphs
Control Flow Graphs
 
Control Flow Graphs
Control Flow GraphsControl Flow Graphs
Control Flow Graphs
 
A Performance Study of BDD-Based Model Checking
A Performance Study of BDD-Based Model CheckingA Performance Study of BDD-Based Model Checking
A Performance Study of BDD-Based Model Checking
 
Kaggle boschコンペ振り返り
Kaggle boschコンペ振り返りKaggle boschコンペ振り返り
Kaggle boschコンペ振り返り
 
Code optimisation presnted
Code optimisation presntedCode optimisation presnted
Code optimisation presnted
 
Lp (2)
Lp (2)Lp (2)
Lp (2)
 
Principal Sources of Optimization in compiler design
Principal Sources of Optimization in compiler design Principal Sources of Optimization in compiler design
Principal Sources of Optimization in compiler design
 
Code optimization
Code optimizationCode optimization
Code optimization
 
Code optimization
Code optimizationCode optimization
Code optimization
 
Dat 305 dat305 dat 305 education for service uopstudy.com
Dat 305 dat305 dat 305 education for service   uopstudy.comDat 305 dat305 dat 305 education for service   uopstudy.com
Dat 305 dat305 dat 305 education for service uopstudy.com
 
Fm G As
Fm G AsFm G As
Fm G As
 

More from Annibale Panichella

MIP Award presentation at the IEEE International Conference on Software Analy...
MIP Award presentation at the IEEE International Conference on Software Analy...MIP Award presentation at the IEEE International Conference on Software Analy...
MIP Award presentation at the IEEE International Conference on Software Analy...
Annibale Panichella
 
Breaking the Silence: the Threats of Using LLMs in Software Engineering
Breaking the Silence: the Threats of Using LLMs in Software EngineeringBreaking the Silence: the Threats of Using LLMs in Software Engineering
Breaking the Silence: the Threats of Using LLMs in Software Engineering
Annibale Panichella
 
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
Annibale Panichella
 
A Fast Multi-objective Evolutionary Approach for Designing Large-Scale Optica...
A Fast Multi-objective Evolutionary Approach for Designing Large-Scale Optica...A Fast Multi-objective Evolutionary Approach for Designing Large-Scale Optica...
A Fast Multi-objective Evolutionary Approach for Designing Large-Scale Optica...
Annibale Panichella
 
An Improved Pareto Front Modeling Algorithm for Large-scale Many-Objective Op...
An Improved Pareto Front Modeling Algorithm for Large-scale Many-Objective Op...An Improved Pareto Front Modeling Algorithm for Large-scale Many-Objective Op...
An Improved Pareto Front Modeling Algorithm for Large-scale Many-Objective Op...
Annibale Panichella
 
VST2022.pdf
VST2022.pdfVST2022.pdf
VST2022.pdf
Annibale Panichella
 
IPA Fall Days 2019
 IPA Fall Days 2019 IPA Fall Days 2019
IPA Fall Days 2019
Annibale Panichella
 
An Adaptive Evolutionary Algorithm based on Non-Euclidean Geometry for Many-O...
An Adaptive Evolutionary Algorithm based on Non-Euclidean Geometry for Many-O...An Adaptive Evolutionary Algorithm based on Non-Euclidean Geometry for Many-O...
An Adaptive Evolutionary Algorithm based on Non-Euclidean Geometry for Many-O...
Annibale Panichella
 
Speeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational IntelligenceSpeeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational Intelligence
Annibale Panichella
 
Sbst2018 contest2018
Sbst2018 contest2018Sbst2018 contest2018
Sbst2018 contest2018
Annibale Panichella
 
Java Unit Testing Tool Competition — Fifth Round
Java Unit Testing Tool Competition — Fifth RoundJava Unit Testing Tool Competition — Fifth Round
Java Unit Testing Tool Competition — Fifth Round
Annibale Panichella
 
ICSE 2017 - Evocrash
ICSE 2017 - EvocrashICSE 2017 - Evocrash
ICSE 2017 - Evocrash
Annibale Panichella
 
Evolutionary Testing for Crash Reproduction
Evolutionary Testing for Crash ReproductionEvolutionary Testing for Crash Reproduction
Evolutionary Testing for Crash Reproduction
Annibale Panichella
 
Parameterizing and Assembling IR-based Solutions for SE Tasks using Genetic A...
Parameterizing and Assembling IR-based Solutions for SE Tasks using Genetic A...Parameterizing and Assembling IR-based Solutions for SE Tasks using Genetic A...
Parameterizing and Assembling IR-based Solutions for SE Tasks using Genetic A...
Annibale Panichella
 
Security Threat Identification and Testing
Security Threat Identification and TestingSecurity Threat Identification and Testing
Security Threat Identification and Testing
Annibale Panichella
 
Adaptive User Feedback for IR-based Traceability Recovery
Adaptive User Feedback for IR-based Traceability RecoveryAdaptive User Feedback for IR-based Traceability Recovery
Adaptive User Feedback for IR-based Traceability Recovery
Annibale Panichella
 
Diversity mechanisms for evolutionary populations in Search-Based Software En...
Diversity mechanisms for evolutionary populations in Search-Based Software En...Diversity mechanisms for evolutionary populations in Search-Based Software En...
Diversity mechanisms for evolutionary populations in Search-Based Software En...
Annibale Panichella
 
Estimating the Evolution Direction of Populations to Improve Genetic Algorithms
Estimating the Evolution Direction of Populations to Improve Genetic AlgorithmsEstimating the Evolution Direction of Populations to Improve Genetic Algorithms
Estimating the Evolution Direction of Populations to Improve Genetic Algorithms
Annibale Panichella
 
When and How Using Structural Information to Improve IR-Based Traceability Re...
When and How Using Structural Information to Improve IR-Based Traceability Re...When and How Using Structural Information to Improve IR-Based Traceability Re...
When and How Using Structural Information to Improve IR-Based Traceability Re...
Annibale Panichella
 
Multi-Objective Cross-Project Defect Prediction
Multi-Objective Cross-Project Defect PredictionMulti-Objective Cross-Project Defect Prediction
Multi-Objective Cross-Project Defect Prediction
Annibale Panichella
 

More from Annibale Panichella (20)

MIP Award presentation at the IEEE International Conference on Software Analy...
MIP Award presentation at the IEEE International Conference on Software Analy...MIP Award presentation at the IEEE International Conference on Software Analy...
MIP Award presentation at the IEEE International Conference on Software Analy...
 
Breaking the Silence: the Threats of Using LLMs in Software Engineering
Breaking the Silence: the Threats of Using LLMs in Software EngineeringBreaking the Silence: the Threats of Using LLMs in Software Engineering
Breaking the Silence: the Threats of Using LLMs in Software Engineering
 
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
 
A Fast Multi-objective Evolutionary Approach for Designing Large-Scale Optica...
A Fast Multi-objective Evolutionary Approach for Designing Large-Scale Optica...A Fast Multi-objective Evolutionary Approach for Designing Large-Scale Optica...
A Fast Multi-objective Evolutionary Approach for Designing Large-Scale Optica...
 
An Improved Pareto Front Modeling Algorithm for Large-scale Many-Objective Op...
An Improved Pareto Front Modeling Algorithm for Large-scale Many-Objective Op...An Improved Pareto Front Modeling Algorithm for Large-scale Many-Objective Op...
An Improved Pareto Front Modeling Algorithm for Large-scale Many-Objective Op...
 
VST2022.pdf
VST2022.pdfVST2022.pdf
VST2022.pdf
 
IPA Fall Days 2019
 IPA Fall Days 2019 IPA Fall Days 2019
IPA Fall Days 2019
 
An Adaptive Evolutionary Algorithm based on Non-Euclidean Geometry for Many-O...
An Adaptive Evolutionary Algorithm based on Non-Euclidean Geometry for Many-O...An Adaptive Evolutionary Algorithm based on Non-Euclidean Geometry for Many-O...
An Adaptive Evolutionary Algorithm based on Non-Euclidean Geometry for Many-O...
 
Speeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational IntelligenceSpeeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational Intelligence
 
Sbst2018 contest2018
Sbst2018 contest2018Sbst2018 contest2018
Sbst2018 contest2018
 
Java Unit Testing Tool Competition — Fifth Round
Java Unit Testing Tool Competition — Fifth RoundJava Unit Testing Tool Competition — Fifth Round
Java Unit Testing Tool Competition — Fifth Round
 
ICSE 2017 - Evocrash
ICSE 2017 - EvocrashICSE 2017 - Evocrash
ICSE 2017 - Evocrash
 
Evolutionary Testing for Crash Reproduction
Evolutionary Testing for Crash ReproductionEvolutionary Testing for Crash Reproduction
Evolutionary Testing for Crash Reproduction
 
Parameterizing and Assembling IR-based Solutions for SE Tasks using Genetic A...
Parameterizing and Assembling IR-based Solutions for SE Tasks using Genetic A...Parameterizing and Assembling IR-based Solutions for SE Tasks using Genetic A...
Parameterizing and Assembling IR-based Solutions for SE Tasks using Genetic A...
 
Security Threat Identification and Testing
Security Threat Identification and TestingSecurity Threat Identification and Testing
Security Threat Identification and Testing
 
Adaptive User Feedback for IR-based Traceability Recovery
Adaptive User Feedback for IR-based Traceability RecoveryAdaptive User Feedback for IR-based Traceability Recovery
Adaptive User Feedback for IR-based Traceability Recovery
 
Diversity mechanisms for evolutionary populations in Search-Based Software En...
Diversity mechanisms for evolutionary populations in Search-Based Software En...Diversity mechanisms for evolutionary populations in Search-Based Software En...
Diversity mechanisms for evolutionary populations in Search-Based Software En...
 
Estimating the Evolution Direction of Populations to Improve Genetic Algorithms
Estimating the Evolution Direction of Populations to Improve Genetic AlgorithmsEstimating the Evolution Direction of Populations to Improve Genetic Algorithms
Estimating the Evolution Direction of Populations to Improve Genetic Algorithms
 
When and How Using Structural Information to Improve IR-Based Traceability Re...
When and How Using Structural Information to Improve IR-Based Traceability Re...When and How Using Structural Information to Improve IR-Based Traceability Re...
When and How Using Structural Information to Improve IR-Based Traceability Re...
 
Multi-Objective Cross-Project Defect Prediction
Multi-Objective Cross-Project Defect PredictionMulti-Objective Cross-Project Defect Prediction
Multi-Objective Cross-Project Defect Prediction
 

Recently uploaded

Disaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other usesDisaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other uses
RIDHIMAGARG21
 
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussionArtificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
OECD Directorate for Financial and Enterprise Affairs
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
artemacademy2
 
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
kekzed
 
Using-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptxUsing-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptx
kainatfatyma9
 
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
OECD Directorate for Financial and Enterprise Affairs
 
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
gpww3sf4
 
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussionPro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdfWhy Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Ben Linders
 
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussionPro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussionArtificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Proposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP IncProposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP Inc
Raheem Muhammad
 
nationalismineurope-230420140400-1c53f60e.pptx
nationalismineurope-230420140400-1c53f60e.pptxnationalismineurope-230420140400-1c53f60e.pptx
nationalismineurope-230420140400-1c53f60e.pptx
silki0908
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
OECD Directorate for Financial and Enterprise Affairs
 
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
 
IEEE CIS Webinar Sustainable futures.pdf
IEEE CIS Webinar Sustainable futures.pdfIEEE CIS Webinar Sustainable futures.pdf
IEEE CIS Webinar Sustainable futures.pdf
Claudio Gallicchio
 
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdfBRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
Robin Haunschild
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
SkillCertProExams
 

Recently uploaded (20)

Disaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other usesDisaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other uses
 
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussionArtificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
 
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
 
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
 
Using-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptxUsing-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptx
 
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
 
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
 
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussionPro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
 
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdfWhy Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
 
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussionPro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
 
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussionArtificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
 
Proposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP IncProposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP Inc
 
nationalismineurope-230420140400-1c53f60e.pptx
nationalismineurope-230420140400-1c53f60e.pptxnationalismineurope-230420140400-1c53f60e.pptx
nationalismineurope-230420140400-1c53f60e.pptx
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
 
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
 
IEEE CIS Webinar Sustainable futures.pdf
IEEE CIS Webinar Sustainable futures.pdfIEEE CIS Webinar Sustainable futures.pdf
IEEE CIS Webinar Sustainable futures.pdf
 
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdfBRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
 
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
 

Incremental Control Dependency Frontier Exploration for Many-Criteria Test Case Generation

  • 1. Incremental Control Dependency Frontier Exploration for Many-Criteria Test Case Generation Annibale Panichella, Fitsum M. Kifetew, Paolo Tonella September 11, 2017 !1
  • 2. Background Rojas et al. SSBSE 2015 "Optimising for several criteria at the same time is feasible without increasing computational costs" !2
  • 3. Classical Approach (WSA) 1 2 3 4 5 8 Class Under Test 7 9 6 Suite-level Fitness Function 3
  • 4. Classical Approach (WSA) 1 2 3 4 5 8 7 9 6 Suite-level Fitness Function Branch Coverage b2b1 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 F = f(b1) + f(b2) + … +f (b12) Class Under Test 4
  • 5. Classical Approach (WSA) Suite-level Fitness Function Statement Coverage F = f(b1) + f(b2) + … +f (b12) + f(s1) + f(s2) + … +f (s9) 1 2 3 5 4 8 7 9 6 Class Under Test 5
  • 6. Classical Approach (WSA) Suite-level Fitness Function Weak Mutation Coverage F = f(b1) + f(b2) + … +f (b12) + f(s1) + f(s2) + … +f (s9) f(m1) + f(m2) + … +f (m3) + 1 2 m1 m2 m3 8 7 9 6 Class Under Test 5
  • 8. Enhanced Control Flow Graph 6 Annibale Panichella1 , Fitsum Meshesha Kifetew2 , and Paolo Tonella3 (a) Example program (b) Single criterion (c) Multiple criteria Fig. 1. Code (left), CDG (middle), and ECDG (right) of an example program Algorithm 1: MC-DynaMOSA Input: B = {⌧1, . . . , ⌧m} the set of coverage targets of a program. CDG = hN, E, si: control dependency graph of the program Result: A test suite T L1 L2 L5 L3 b1 b4 b2 b3 L6 L7 L8 b5 b6 b0 Control Flow Graph Branches + Statements 7
  • 9. Enhanced Control Flow Graph 6 Annibale Panichella1 , Fitsum Meshesha Kifetew2 , and Paolo Tonella3 (a) Example program (b) Single criterion (c) Multiple criteria Fig. 1. Code (left), CDG (middle), and ECDG (right) of an example program Algorithm 1: MC-DynaMOSA Input: B = {⌧1, . . . , ⌧m} the set of coverage targets of a program. CDG = hN, E, si: control dependency graph of the program Result: A test suite T L1 L2 L5 b1 b4 b2 L7 L8 b5 b6 b0 Enhanced CFG L3, μ1 L6, μ2 Branches + Statements +
 + Weak Mutation b3 8
  • 10. Enhanced Control Flow Graph 6 Annibale Panichella1 , Fitsum Meshesha Kifetew2 , and Paolo Tonella3 (a) Example program (b) Single criterion (c) Multiple criteria Fig. 1. Code (left), CDG (middle), and ECDG (right) of an example program Algorithm 1: MC-DynaMOSA Input: B = {⌧1, . . . , ⌧m} the set of coverage targets of a program. CDG = hN, E, si: control dependency graph of the program Result: A test suite T L1 L2 L5 b1 b4 b2 L7 b5 b6 b0 Enhanced CFG L3, μ1 L6, μ2// o2: x<0, o3: x>0,… L8, o1, o2 Branches + Statements
 + Weak Mutation + Output Diversity b3 9
  • 11. Dynamic Many-Objective Sorting Algorithm for Multi-Criteria Coverage L1 L2 L5 b1 b4 b2 L7 b5 b6 b0 L3, μ1 L6, μ2 L8, o1, o2 b3 Status Current Objectives Covered Targets Init. {b0} 10
  • 12. Dynamic Many-Objective Sorting Algorithm for Multi-Criteria Coverage L1 L2 L5 b1 b4 b2 L7 b5 b6 b0 L3, μ1 L6, μ2 L8, o1, o2 b3 Status Current Objectives Covered Targets Init. {b0} b0 covered {b1, b5} {b0, L1} 11
  • 13. Dynamic Many-Objective Sorting Algorithm for Multi-Criteria Coverage L1 L2 L5 b1 b4 b2 L7 b5 b6 b0 L3, μ1 L6, μ2 L8, o1, o2 b3 11 f(b1) f(b5)
  • 14. Dynamic Many-Objective Sorting Algorithm for Multi-Criteria Coverage L1 L2 L5 b1 b4 b2 L7 b5 b6 b0 L3, μ1 L6, μ2 L8, o1, o2 b3 11 f(b1) f(b5) T1 T2 T3 T4
  • 15. Dynamic Many-Objective Sorting Algorithm for Multi-Criteria Coverage L1 L2 L5 b1 b4 b2 L7 b5 b6 b0 L3, μ1 L6, μ2 L8, o1, o2 b3 Status Current Objectives Covered Targets Init. {b0} b0 covered {b1, b5} {b0, L1} b1 covered {b2, b3, b5} {b0, L1, b1, L2} 12
  • 16. Dynamic Many-Objective Sorting Algorithm for Multi-Criteria Coverage L1 L2 L5 b1 b4 b2 L7 b5 b6 b0 L3, μ1 L6, μ2 L8, o1, o2 b3 Status Current Objectives Covered Targets Init. {b0} b0 covered {b1, b5} {b0, L1} b1 covered {b2, b3, b5} {b0, L1, b1, L2} b5 covered {b2, b3, µ2, b4, b6} {b0, L1, b1, L2, b5, L6} 13
  • 17. Dynamic Many-Objective Sorting Algorithm for Multi-Criteria Coverage L1 L2 L5 b1 b4 b2 L7 b5 b6 b0 L3, μ1 L6, μ2 L8, o1, o2 b3 Status Current Objectives Covered Targets Init. {b0} b0 covered {b1, b5} {b0, L1} b1 covered {b2, b3, b5} {b0, L1, b1, L2} b5 covered {b2, b3, µ2, b4, b6} {b0, L1, b1, L2, b5, L6} b2 covered {b3, b4, b6} {b0, L1, b1, L2, b5, L6, b2, L3, µ1, µ2} b3 covered {b4, b6} {b0, L1, b1, L2, b5, L6, b2, L3, µ1, µ2, b3, L5} 14
  • 19. Study Context Benchmark: 180 non-trivial classes sampled from SF110 Selection Procedure: • Computing the McCabe’s cyclomatic complexity (MCC) • Filtering out all trivial classes (having only methods with MCC <5) • Random sampling from the pruned projects Search Budget: Three minutes 16
  • 20. RQ1: DynaMOSA vs. WSAFrequency 0 35 70 105 140 Coverage Criterion Branch Line WeakMutation Output Equivalent Better (p-value<0.05) Worse (p-value<0.05) 17
  • 21. DynaMOSA is better than WSA WSA is better than DynaMOSA RQ1: DynaMOSA vs. WSA %DifferenceinBranchCoverage -50 -38 -25 -13 0 13 25 38 50 Classes Under Test 18
  • 22. RQ1: DynaMOSA vs. WSA %DifferenceinBranchCoverage -10 1 13 24 35 Classes Under Test Larger difference CUT = TableMeta Project = schemaspy N.Branches = 68 % Cov. Diff = +31.71% Larger Class CUT = JVCParserTokenMan. Project = JVC N.Branches = 4252 % Cov. Diff = +13.09% 19
  • 23. RQ2: DynaMOSA vs. MOSAFrequency 0 35 70 105 140 Coverage Criterion Branch Line WeakMutation Output Equivalent Better (p-value<0.05) Worse (p-value<0.05) 20
  • 24. RQ2: DynaMOSA vs. MOSA %DifferenceinBranchCoverage -10 -1 8 16 25 Classes Under Test Larger difference CUT = CoordSystemUtilities Project = schemaspy N.Branches = 882 % Cov. Diff = +23.68% Larger Class CUT = JVCParserTokenMan. Project = JVC N.Branches = 4252 % Cov. Diff = +13.79% 21
  • 25. RQ3: DynaMOSA Multi-Criteria vs. Branch OnlyFrequency 0 30 60 90 120 Coverage Criterion Branch Line WeakMutation Output Equivalent Better (p-value<0.05) Worse (p-value<0.05) 22
  • 26. RQ4: What Are the Benefits in Terms of Fault Detection Capability?Frequency 0 25 50 75 100 DynaMOSA vs WSA DynaMOSA vs MOSA Multi-Criteria vs Branch Only Equivalent Better (p-value<0.05) Worse (p-value<0.05) 23
  • 27. RQ4: What Are the Benefits in Terms of Fault Detection Capability? DynaMOSA vs MOSA DynaMOSA vs WSA Multi-Criteria vs Branch Only DifferenceinMutationScore 60% 40% 20% 0% -20% 24
  • 28. What EAs to Choose? Even Larger
  • 29. Incremental Control Dependency Frontier Exploration for Many-Criteria Test Case Generation Annibale Panichella, Fitsum M. Kifetew, Paolo Tonella September 11, 2017