SlideShare a Scribd company logo
1 of 65
Annibale Panichella Fitsum M. Kifetew Paolo Tonella
Results for EvoSuite-MOSA at
the Third Unit Testing Tool
Competition
What is MOSA?
A. Panichella, F. M. Kifetew, P. Tonella,
“Reformulating Branch Coverage as
Multi-Objective Optimization Problem”
8th IEEE International Conference on Software
Testing, Verification and Validation 2015
1
2 3
4 5
6
Control flow
graph
b7
Multi-Objective Optimization:
- Targeting all branches at once
- Chromosomes = Test Cases
- Running Many-Objective Genetic Algorithm
1
2 3
4 5
6
b1
b3
b2
b4
b5
b6
A. Panichella, F. M. Kifetew, P. Tonella,
“Reformulating Branch Coverage as
Multi-Objective Optimization Problem”
8th IEEE International Conference on Software
Testing, Verification and Validation 2015
What is MOSA?
Control flow
graph
Solving Multiple Branches at Once
Objectives
Objectives Functions =
1 2
2 5
2 4
5 6
1 3
3 6
f1 =
bn
b1
b3
b2
b4
b5
A. Panichella, F. M. Kifetew, P. Tonella,
“Reformulating Branch Coverage as
Multi-Objective Optimization Problem”
8th IEEE International Conference on Software
Testing, Verification and Validation 2015
f2 =
f3 =
f4 =
f5 =
fn =
…
Solving Multiple Branches at Once
Objectives
Objectives Functions =
1 2
2 5
2 4
5 6
1 3
3 6
f1 =
bn
b1
b3
b2
b4
b5
A. Panichella, F. M. Kifetew, P. Tonella,
“Reformulating Branch Coverage as
Multi-Objective Optimization Problem”
8th IEEE International Conference on Software
Testing, Verification and Validation 2015
f2 =
f3 =
f4 =
f5 =
fn =
= approach_level(b1) + branch_dist(b1)
= approach_level(b2) + branch_dist(b2)
= approach_level(b3) + branch_dist(b3)
= approach_level(b4) + branch_dist(b4)
= approach_level(b3) + branch_dist(b3)
= approach_level(bn) + branch_dist(bn)
… …
A. Panichella, F. M. Kifetew, P. Tonella,
“Reformulating Branch Coverage as
Multi-Objective Optimization Problem”
8th IEEE International Conference on Software
Testing, Verification and Validation 2015
b1
b2
What is MOSA?
Pareto Optimality: all solutions that are
not dominated by any other solutions
form the Pareto optimal set.
A. Panichella, F. M. Kifetew, P. Tonella,
“Reformulating Branch Coverage as
Multi-Objective Optimization Problem”
8th IEEE International Conference on Software
Testing, Verification and Validation 2015
b1
b2
What is MOSA?
Pareto Optimality: all solutions that are
not dominated by any other solutions
form the Pareto optimal set.
A
Test Cases Dominated by A
C
B
A
B
A. Panichella, F. M. Kifetew, P. Tonella,
“Reformulating Branch Coverage as
Multi-Objective Optimization Problem”
8th IEEE International Conference on Software
Testing, Verification and Validation 2015
b1
b2
What is MOSA?
Pareto Optimality: all solutions that are
not dominated by any other solutions
form the Pareto optimal set.
C
Many-objective Solvers
θ-Non-dominated Sorting
Genetic Algorithm-III
≤ 15 obj.
Grid-based Evolutionary
Algorithm
≤ 10 obj.
Hypervolume-based
Evolutionary Algorithm
≤ 25 obj.
ε-Multi-objective
Evolutionary Algorithm
≤ 3 obj.
Strength Pareto Evolutionary
Algorithm
≤ 3 obj.
Non-dominated Sorting
Genetic Algorithm-II
≤ 3 obj.
Many-objective Solvers
θ-Non-dominated Sorting
Genetic Algorithm-III
≤ 15 obj.
Grid-based Evolutionary
Algorithm
≤ 10 obj.
Hypervolume-based
Evolutionary Algorithm
≤ 25 obj.
ε-Multi-objective
Evolutionary Algorithm
≤ 3 obj.
Strength Pareto Evolutionary
Algorithm
≤ 3 obj.
Non-dominated Sorting
Genetic Algorithm-II
≤ 3 obj.
Many-Objective Solvers do not
scale beyond 25 Objectives
We cannot use Standard Many-
Objective Solvers
Branch Coverage
b2 = |b-c|
Example
b1 = |a-b|
Branch Coverage
b2 = |b-c|
Example
min
Point closest to cover b1
b1 = |a-b|
Branch Coverage
b2 = |b-c|
Example
Point closest to cover b1
b1 = |a-b|
Point closest to
cover b2
min
Branch Coverage
b2 = |b-c|
Example
Point closest to cover b1
b1 = |a-b|
Point closest to
cover b2
Not all non-dominated
Solutions are optimal
Branch Coverage
b2 = |b-c|
Example
Point closest to cover b1
b1 = |a-b|
Point closest to
cover b2
Not all non-dominated
Solutions are optimal
These points
are better than
the others
Preference Criterion:
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
Point closest to cover b1
b1 = |a-b|
Point closest to
cover b2
Not all non-dominated
Solutions are optimal
These points
are better than
the others
Given a branch bi, a test case x is
preferred over another test case y if and
only if the values of the objective function
for bi satisfy the following condition:
bi(x) < bi(y)
MOSA: a New Many Objective Sorting Algorithm
Given a branch bi, a test case x is
preferred over another test case y if and
only if the values of the objective function
for bi satisfy the following condition:
bi(x) < bi(y)
or
bi(x) == bi(y) and #size(x) < #size(y)
Preference Criterion:
b2 = |b-c|
b1 = |a-b|
These points
are better than
the others
MOSA: a New Many Objective Sorting Algorithm
Preference Criterion:
b2 = |b-c|
b1 = |a-b|
First front
Given a branch bi, a test case x is
preferred over another test case y if and
only if the values of the objective function
for bi satisfy the following condition:
bi(x) < bi(y)
or
bi(x) == bi(y) and #size(x) < #size(y)
MOSA: a New Many Objective Sorting Algorithm
Preference Criterion:
b2 = |b-c|
b1 = |a-b|
Second front
Given a branch bi, a test case x is
preferred over another test case y if and
only if the values of the objective function
for bi satisfy the following condition:
bi(x) < bi(y)
or
bi(x) == bi(y) and #size(x) < #size(y)
MOSA: a New Many Objective Sorting Algorithm
Preference Criterion:
b2 = |b-c|
b1 = |a-b|
Third front
Given a branch bi, a test case x is
preferred over another test case y if and
only if the values of the objective function
for bi satisfy the following condition:
bi(x) < bi(y)
or
bi(x) == bi(y) and #size(x) < #size(y)
MOSA: a New Many Objective Sorting Algorithm
Preference Criterion:
b2 = |b-c|
b1 = |a-b|
Fourth front
Given a branch bi, a test case x is
preferred over another test case y if and
only if the values of the objective function
for bi satisfy the following condition:
bi(x) < bi(y)
or
bi(x) == bi(y) and #size(x) < #size(y)
MOSA: a New Many Objective Sorting Algorithm
Preference Criterion:
b2 = |b-c|
b1 = |a-b|
Fifth front
Given a branch bi, a test case x is
preferred over another test case y if and
only if the values of the objective function
for bi satisfy the following condition:
bi(x) < bi(y)
or
bi(x) == bi(y) and #size(x) < #size(y)
yes
Random Test Cases
Crossover
Mutation
Selection
End?
no
MOSA: a New Many Objective Sorting Algorithm
1. Crossover: Single-point
2. Mutation: add, modify or
delete statements
3. Selection: preference
criterion + crowding
distance
5. Archive: keep track of the
best test cases covering
branches
yes
Random Test Cases
Crossover
Mutation
Selection
End?
no
Update Archive
MOSA: a New Many Objective Sorting Algorithm
Main Criterion = covered goals
Secondary Criterion = TC size
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Archive
TC1
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Crossover: single-point
Archive
TC1
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Mutation: add, delete, modify statements
Archive
TC1
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Point closest to cover b1
Point closest to
cover b2
Update Archive:
1* Criterion = covered goals
2* Criterion = TC size
Selection: preference criterionArchive
TC1
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Second front
Update Archive:
1* Criterion = covered goals
2* Criterion = TC size
Selection: preference criterionArchive
TC1
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Third front
Update Archive:
1* Criterion = covered goals
2* Criterion = TC size
Selection: preference criterionArchive
TC1
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Archive
TC1
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Archive
TC1
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
b2 is covered
Archive
TC1
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
b2 is covered
Archive
TC1 TC2
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Covered goals are not
considered (optimized)
Archive
TC1 TC2
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Archive
TC1 TC2
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Archive
TC1 TC2
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
Archive
TC1 TC2
MOSA: a New Many Objective Sorting Algorithm
b2 = |b-c|
b1 = |a-b|
TC3 Final Test
Suite
Archive
TC1 TC2
Evosuite-MOSA: the tool
We have implemented MOSA in a
prototype tool by extending EvoSuite
Evosuite-MOSA uses the new Many-
Objective Genetic Algorithms (MOSA)
instead of the traditional single
objective GAs
Many-Objective approach instead of
Whole Suite approach
Third Unit Testing Tool Competition
Results
Total Score = 189.22
Statement Coverage = 56.41%
Branch Coverage = 46.13%
Mutation Coverage = 38.53%
Mean Number of Test Case = 20
Mean Running Time = 84s
Evosuite-MOSA uses branch
coverage as testing criterion
Results
Total Score = 189.22
Statement Coverage = 56.41%
Branch Coverage = 46.13%
Mutation Coverage = 38.53%
Mean Number of Test Case = 20
Mean Running Time = 84s
EvoSuite-MOSA requires
only 25% the time needed
other tools with highest
ranks in the contest
%BranchCoverage
0%
12,5%
25%
37,5%
50%
Running Time (sec)
0 100 200 300 400
Other Tools Evosuite-MOSA
Main Issues
Some classes of the
benchmark crashed our tool
due to bugs fixed in later
versions of EvoSuite
We used an older version of
EvoSuite when implementing
MOSA
LIST
Main Issues
Our tool was not able to handle
classes extending the Java class
Exception
For example
SearchException.java
TwitterException.java
Our tool crashed in few seconds.
Thus, it achieved 0% coverage
Java Exception✗
LIST
Main Issues
ARFFHandler.java take as input an
external file. Such file must respect the
standard format of ARFF files.
Page.java requires a valid instance of
Wikipedia.java and indirectly a valid
instance of the class
DatabaseConfiguration.java
Our tool achieved 0% coverage
Java Exception
Environmental dependencies
✗
LIST
✗
Main Issues
For example, for
Predicates.java
our tool crashed in some runs because
of an Out-of-memory exception
Java Exception
Environmental dependencies
Memory Consumption
✗
✗
✗
LIST
Some subjects lead to the generation of
test cases that may cause an excessive
memory consumption.
In other runs, for the same
subject, the tool didn’t
crash and generated test
cases providing the
following scores: 70% of
statement coverage, 62% of
branch coverage and 44%
of mutation score.
Main Issues
Our tool crashed in some runs for
CharMatcher.java, thus, terminating its
execution without generating any test case.
For CycleHandler.java and
WikipediaInfo.java classes, our tool
crashed in every run because of some bugs
related to our EvoSuite front-end.
Finally, for the class TwitterImpl.java
our tool had problems in finding all the
required dependences at preparation time.
Java Exception
Environmental dependencies
Memory Consumption
Other Issues
✗
✗
✗
✗
LIST
Remarks for the Contest
The analysis of the scores achieved by different tools in the contest
is challenging since multiple criteria are involved
Remarks for the Contest
The analysis of the scores achieved by different tools in the contest
is challenging since multiple criteria are involved
Total Score ≈ ωstat ⨉ covstat + ωbr ⨉ covbr+ωm ⨉ covm - ωt ⨉ Time/3600
Remarks for the Contest
The analysis of the scores achieved by different tools in the contest
is challenging since multiple criteria are involved
Execution times has marginal
relevance (weight)
Tools that were configured with few minutes of execution time are penalized
with respect to other tools that were configured with more time for the
generation process.
Total Score ≈ 1 ⨉ covstat + 2 ⨉ covbr+ 4 ⨉ covm- 1/3600 ⨉ Time
Remarks for the Contest
%BranchCoverage
0%
12,5%
25%
37,5%
50%
Running Time (sec)
0 100 200 300 400
Other Tools Evosuite-MOSA
Tools with the highest branch
coverage have been configured
with longer execution time
Remarks for the Contest
%BranchCoverage
0%
12,5%
25%
37,5%
50%
Running Time (sec)
0 100 200 300 400
Other Tools Evosuite-MOSA
Tools with the highest mutation
coverage have been configured
with longer execution time
Tools with the highest branch
coverage have been configured
with longer execution time
Remarks for the Contest
What about the size of the generated test cases?
Remarks for the Contest
What about the size of the generated test cases?
After our own experiment with some classes in the benchmark, at same level
of coverage, smaller test cases yielded lower mutation score.
Remarks for the Contest
Example
FlushLuceneWork.java
Average TC size = 26 statements
Branch coverage = 100%
Statement coverage = 89.74%
Mutation Score = 62%
Evosuite-MOSA maximizes branch
coverage while selecting the
shortest test cases at equal level of
branch coverage
What about the size of the generated test cases?
After our own experiment with some classes in the benchmark, at same level
of coverage, smaller test cases yielded lower mutation score.
Remarks for the Contest
Without minimization
Average TC size = 562 statements
Branch coverage = 100%
Statement coverage = 89.74%
Mutation Score = 86% (+26%)
Example
FlushLuceneWork.java
Average TC size = 26 statements
Branch coverage = 100%
Statement coverage = 89.74%
Mutation Score = 62%
What about the size of the generated test cases?
After our own experiment with some classes in the benchmark, at same level
of coverage, smaller test cases yielded lower mutation score.
Remarks for the Contest
Without minimization
Average TC size = 562 statements
Branch coverage = 100%
Statement coverage = 89.74%
Mutation Score = 86% (+26%)
Example
FlushLuceneWork.java
Average TC size = 26 statements
Branch coverage = 100%
Statement coverage = 89.74%
Mutation Score = 62%
What about the size of the generated test cases?
After our own experiment with some classes in the benchmark, at same level
of coverage, smaller test cases yielded lower mutation score.
Non-minimized test cases are able to kill more
mutants, but they are much longer
(more difficult to be analyzed manually)
Summary
Summary
Summary
Summary
Summary
Summary
Thank You!

More Related Content

What's hot

How to Build your First Neural Network
How to Build your First Neural NetworkHow to Build your First Neural Network
How to Build your First Neural NetworkHichem Felouat
 
Natural Language Processing (NLP)
Natural Language Processing (NLP)Natural Language Processing (NLP)
Natural Language Processing (NLP)Hichem Felouat
 
Introduction To Generative Adversarial Networks GANs
Introduction To Generative Adversarial Networks GANsIntroduction To Generative Adversarial Networks GANs
Introduction To Generative Adversarial Networks GANsHichem Felouat
 
Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...
Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...
Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...Universitat Politècnica de Catalunya
 
Numerical analysis m1 l3slides
Numerical analysis  m1 l3slidesNumerical analysis  m1 l3slides
Numerical analysis m1 l3slidesSHAMJITH KM
 
Build your own Convolutional Neural Network CNN
Build your own Convolutional Neural Network CNNBuild your own Convolutional Neural Network CNN
Build your own Convolutional Neural Network CNNHichem Felouat
 
Interval programming
Interval programming Interval programming
Interval programming Zahra Sadeghi
 
Predict future time series forecasting
Predict future time series forecastingPredict future time series forecasting
Predict future time series forecastingHichem Felouat
 
SemiBoost: Boosting for Semi-supervised Learning
SemiBoost: Boosting for Semi-supervised LearningSemiBoost: Boosting for Semi-supervised Learning
SemiBoost: Boosting for Semi-supervised Learningbutest
 
Two strategies for large-scale multi-label classification on the YouTube-8M d...
Two strategies for large-scale multi-label classification on the YouTube-8M d...Two strategies for large-scale multi-label classification on the YouTube-8M d...
Two strategies for large-scale multi-label classification on the YouTube-8M d...Dalei Li
 
A complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsA complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsMukesh Kumar
 
Machine Learning Algorithms
Machine Learning AlgorithmsMachine Learning Algorithms
Machine Learning AlgorithmsHichem Felouat
 
Pairwise testing sagar_hadawale
Pairwise  testing sagar_hadawalePairwise  testing sagar_hadawale
Pairwise testing sagar_hadawaleSagar Hadawale
 
Pycon2015 scope
Pycon2015 scopePycon2015 scope
Pycon2015 scopearthi v
 

What's hot (17)

How to Build your First Neural Network
How to Build your First Neural NetworkHow to Build your First Neural Network
How to Build your First Neural Network
 
Second chapter-java
Second chapter-javaSecond chapter-java
Second chapter-java
 
Natural Language Processing (NLP)
Natural Language Processing (NLP)Natural Language Processing (NLP)
Natural Language Processing (NLP)
 
Introduction To Generative Adversarial Networks GANs
Introduction To Generative Adversarial Networks GANsIntroduction To Generative Adversarial Networks GANs
Introduction To Generative Adversarial Networks GANs
 
Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...
Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...
Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...
 
Numerical analysis m1 l3slides
Numerical analysis  m1 l3slidesNumerical analysis  m1 l3slides
Numerical analysis m1 l3slides
 
Build your own Convolutional Neural Network CNN
Build your own Convolutional Neural Network CNNBuild your own Convolutional Neural Network CNN
Build your own Convolutional Neural Network CNN
 
Interval programming
Interval programming Interval programming
Interval programming
 
Predict future time series forecasting
Predict future time series forecastingPredict future time series forecasting
Predict future time series forecasting
 
SemiBoost: Boosting for Semi-supervised Learning
SemiBoost: Boosting for Semi-supervised LearningSemiBoost: Boosting for Semi-supervised Learning
SemiBoost: Boosting for Semi-supervised Learning
 
Two strategies for large-scale multi-label classification on the YouTube-8M d...
Two strategies for large-scale multi-label classification on the YouTube-8M d...Two strategies for large-scale multi-label classification on the YouTube-8M d...
Two strategies for large-scale multi-label classification on the YouTube-8M d...
 
A complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsA complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projects
 
ML-MCQ.pdf
ML-MCQ.pdfML-MCQ.pdf
ML-MCQ.pdf
 
Machine Learning Algorithms
Machine Learning AlgorithmsMachine Learning Algorithms
Machine Learning Algorithms
 
Chapter 05
Chapter 05Chapter 05
Chapter 05
 
Pairwise testing sagar_hadawale
Pairwise  testing sagar_hadawalePairwise  testing sagar_hadawale
Pairwise testing sagar_hadawale
 
Pycon2015 scope
Pycon2015 scopePycon2015 scope
Pycon2015 scope
 

Viewers also liked

Ea21 konpetentziak11
Ea21 konpetentziak11Ea21 konpetentziak11
Ea21 konpetentziak11beanton
 
Britishfoodanddrink kids
Britishfoodanddrink kidsBritishfoodanddrink kids
Britishfoodanddrink kidsRobert Wilson
 
Dress to play design challenge
Dress to play design challengeDress to play design challenge
Dress to play design challengePam Currie
 
Fact or Fiction? What Software Analytics Can Do For Us
Fact or Fiction? What Software Analytics Can Do For UsFact or Fiction? What Software Analytics Can Do For Us
Fact or Fiction? What Software Analytics Can Do For UsAndy Zaidman
 
Consumption analysis method for optimizing reactive compensation at MV
Consumption analysis method for optimizing reactive compensation at MVConsumption analysis method for optimizing reactive compensation at MV
Consumption analysis method for optimizing reactive compensation at MVFrancesc Fornieles Castells
 
Accurate Lock: Pulls and Other Architectural Hardware
Accurate Lock: Pulls and Other Architectural HardwareAccurate Lock: Pulls and Other Architectural Hardware
Accurate Lock: Pulls and Other Architectural HardwareAccurate Lock and Hardware
 
Melda dan eri tanda bahaya kehamilan muda dan lanjut
Melda dan eri tanda bahaya kehamilan muda dan lanjutMelda dan eri tanda bahaya kehamilan muda dan lanjut
Melda dan eri tanda bahaya kehamilan muda dan lanjutuniversitas islam madura
 
Helium Weather Balloon project, Karunya University, Coimbatore, Tamil Nadu, I...
Helium Weather Balloon project, Karunya University, Coimbatore, Tamil Nadu, I...Helium Weather Balloon project, Karunya University, Coimbatore, Tamil Nadu, I...
Helium Weather Balloon project, Karunya University, Coimbatore, Tamil Nadu, I...InvestInn
 
Buku Panduan Praktis BPJS Kesehatan - Skrining Kesehatan
Buku Panduan Praktis BPJS Kesehatan - Skrining KesehatanBuku Panduan Praktis BPJS Kesehatan - Skrining Kesehatan
Buku Panduan Praktis BPJS Kesehatan - Skrining KesehatanBPJS Kesehatan RI
 
Scandinavian airlines v1.5
Scandinavian airlines v1.5Scandinavian airlines v1.5
Scandinavian airlines v1.5Rekha Srivatsan
 
Data Center Infrastructure Trends
Data Center Infrastructure TrendsData Center Infrastructure Trends
Data Center Infrastructure TrendsViridity Software
 

Viewers also liked (19)

finished
finishedfinished
finished
 
ArturoAraujoBermudez Fotografia
ArturoAraujoBermudez FotografiaArturoAraujoBermudez Fotografia
ArturoAraujoBermudez Fotografia
 
Rhinestones
RhinestonesRhinestones
Rhinestones
 
Ea21 konpetentziak11
Ea21 konpetentziak11Ea21 konpetentziak11
Ea21 konpetentziak11
 
Britishfoodanddrink kids
Britishfoodanddrink kidsBritishfoodanddrink kids
Britishfoodanddrink kids
 
Laisuat khcn
Laisuat khcnLaisuat khcn
Laisuat khcn
 
Dress to play design challenge
Dress to play design challengeDress to play design challenge
Dress to play design challenge
 
Resume
ResumeResume
Resume
 
Healthy golf.4
Healthy golf.4Healthy golf.4
Healthy golf.4
 
Fact or Fiction? What Software Analytics Can Do For Us
Fact or Fiction? What Software Analytics Can Do For UsFact or Fiction? What Software Analytics Can Do For Us
Fact or Fiction? What Software Analytics Can Do For Us
 
Blue Brain
Blue BrainBlue Brain
Blue Brain
 
Consumption analysis method for optimizing reactive compensation at MV
Consumption analysis method for optimizing reactive compensation at MVConsumption analysis method for optimizing reactive compensation at MV
Consumption analysis method for optimizing reactive compensation at MV
 
Accurate Lock: Pulls and Other Architectural Hardware
Accurate Lock: Pulls and Other Architectural HardwareAccurate Lock: Pulls and Other Architectural Hardware
Accurate Lock: Pulls and Other Architectural Hardware
 
Melda dan eri tanda bahaya kehamilan muda dan lanjut
Melda dan eri tanda bahaya kehamilan muda dan lanjutMelda dan eri tanda bahaya kehamilan muda dan lanjut
Melda dan eri tanda bahaya kehamilan muda dan lanjut
 
Helium Weather Balloon project, Karunya University, Coimbatore, Tamil Nadu, I...
Helium Weather Balloon project, Karunya University, Coimbatore, Tamil Nadu, I...Helium Weather Balloon project, Karunya University, Coimbatore, Tamil Nadu, I...
Helium Weather Balloon project, Karunya University, Coimbatore, Tamil Nadu, I...
 
Buku Panduan Praktis BPJS Kesehatan - Skrining Kesehatan
Buku Panduan Praktis BPJS Kesehatan - Skrining KesehatanBuku Panduan Praktis BPJS Kesehatan - Skrining Kesehatan
Buku Panduan Praktis BPJS Kesehatan - Skrining Kesehatan
 
Scandinavian airlines v1.5
Scandinavian airlines v1.5Scandinavian airlines v1.5
Scandinavian airlines v1.5
 
Data Center Infrastructure Trends
Data Center Infrastructure TrendsData Center Infrastructure Trends
Data Center Infrastructure Trends
 
f7
f7f7
f7
 

Similar to MOSA approach for branch coverage

Incremental Control Dependency Frontier Exploration for Many-Criteria Test C...
Incremental Control Dependency Frontier Exploration for Many-Criteria  Test C...Incremental Control Dependency Frontier Exploration for Many-Criteria  Test C...
Incremental Control Dependency Frontier Exploration for Many-Criteria Test C...Annibale Panichella
 
Parallelisation of the PC Algorithm (CAEPIA2015)
Parallelisation of the PC Algorithm (CAEPIA2015)Parallelisation of the PC Algorithm (CAEPIA2015)
Parallelisation of the PC Algorithm (CAEPIA2015)AMIDST Toolbox
 
Real-time ranking with concept drift using expert advice
Real-time ranking with concept drift using expert adviceReal-time ranking with concept drift using expert advice
Real-time ranking with concept drift using expert adviceHila Becker
 
apsis - Automatic Hyperparameter Optimization Framework for Machine Learning
apsis - Automatic Hyperparameter Optimization Framework for Machine Learningapsis - Automatic Hyperparameter Optimization Framework for Machine Learning
apsis - Automatic Hyperparameter Optimization Framework for Machine Learningandi1400
 
LNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine LearningLNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine Learningbutest
 
White Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR ChandigarhWhite Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR ChandigarhPankaj Thakur
 
Nagios Conference 2013 - BOF Nagios Plugins New Threshold Specification Syntax
Nagios Conference 2013 - BOF Nagios Plugins New Threshold Specification SyntaxNagios Conference 2013 - BOF Nagios Plugins New Threshold Specification Syntax
Nagios Conference 2013 - BOF Nagios Plugins New Threshold Specification SyntaxNagios
 
Optimization techniques
Optimization techniquesOptimization techniques
Optimization techniquesprashik shimpi
 
Towards explanations for Data-Centric AI using provenance records
Towards explanations for Data-Centric AI using provenance recordsTowards explanations for Data-Centric AI using provenance records
Towards explanations for Data-Centric AI using provenance recordsPaolo Missier
 
Lecture7 cross validation
Lecture7 cross validationLecture7 cross validation
Lecture7 cross validationStéphane Canu
 
Facebook Talk at Netflix ML Platform meetup Sep 2019
Facebook Talk at Netflix ML Platform meetup Sep 2019Facebook Talk at Netflix ML Platform meetup Sep 2019
Facebook Talk at Netflix ML Platform meetup Sep 2019Faisal Siddiqi
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ FyberDaniel Hen
 
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.comULLPTT
 
Mb0048 operations research
Mb0048  operations researchMb0048  operations research
Mb0048 operations researchsmumbahelp
 

Similar to MOSA approach for branch coverage (20)

Incremental Control Dependency Frontier Exploration for Many-Criteria Test C...
Incremental Control Dependency Frontier Exploration for Many-Criteria  Test C...Incremental Control Dependency Frontier Exploration for Many-Criteria  Test C...
Incremental Control Dependency Frontier Exploration for Many-Criteria Test C...
 
Parallelisation of the PC Algorithm (CAEPIA2015)
Parallelisation of the PC Algorithm (CAEPIA2015)Parallelisation of the PC Algorithm (CAEPIA2015)
Parallelisation of the PC Algorithm (CAEPIA2015)
 
Real-time ranking with concept drift using expert advice
Real-time ranking with concept drift using expert adviceReal-time ranking with concept drift using expert advice
Real-time ranking with concept drift using expert advice
 
apsis - Automatic Hyperparameter Optimization Framework for Machine Learning
apsis - Automatic Hyperparameter Optimization Framework for Machine Learningapsis - Automatic Hyperparameter Optimization Framework for Machine Learning
apsis - Automatic Hyperparameter Optimization Framework for Machine Learning
 
LNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine LearningLNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine Learning
 
White Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR ChandigarhWhite Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR Chandigarh
 
Nagios Conference 2013 - BOF Nagios Plugins New Threshold Specification Syntax
Nagios Conference 2013 - BOF Nagios Plugins New Threshold Specification SyntaxNagios Conference 2013 - BOF Nagios Plugins New Threshold Specification Syntax
Nagios Conference 2013 - BOF Nagios Plugins New Threshold Specification Syntax
 
Guide
GuideGuide
Guide
 
Optimization techniques
Optimization techniquesOptimization techniques
Optimization techniques
 
Vb.net
Vb.netVb.net
Vb.net
 
Towards explanations for Data-Centric AI using provenance records
Towards explanations for Data-Centric AI using provenance recordsTowards explanations for Data-Centric AI using provenance records
Towards explanations for Data-Centric AI using provenance records
 
[ppt]
[ppt][ppt]
[ppt]
 
[ppt]
[ppt][ppt]
[ppt]
 
APSEC2020 Keynote
APSEC2020 KeynoteAPSEC2020 Keynote
APSEC2020 Keynote
 
Lecture7 cross validation
Lecture7 cross validationLecture7 cross validation
Lecture7 cross validation
 
Facebook Talk at Netflix ML Platform meetup Sep 2019
Facebook Talk at Netflix ML Platform meetup Sep 2019Facebook Talk at Netflix ML Platform meetup Sep 2019
Facebook Talk at Netflix ML Platform meetup Sep 2019
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ Fyber
 
16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx
 
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
 
Mb0048 operations research
Mb0048  operations researchMb0048  operations research
Mb0048 operations research
 

More from 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 EngineeringAnnibale 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
 
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 IntelligenceAnnibale 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 RoundAnnibale Panichella
 
Evolutionary Testing for Crash Reproduction
Evolutionary Testing for Crash ReproductionEvolutionary Testing for Crash Reproduction
Evolutionary Testing for Crash ReproductionAnnibale 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 TestingAnnibale 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 RecoveryAnnibale 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 AlgorithmsAnnibale 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 PredictionAnnibale Panichella
 

More from Annibale Panichella (19)

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

CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...henrik385807
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubssamaasim06
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024eCommerce Institute
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AITatiana Gurgel
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Pooja Nehwal
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )Pooja Nehwal
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024eCommerce Institute
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...Sheetaleventcompany
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Vipesco
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardsticksaastr
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMoumonDas2
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Chameera Dedduwage
 

Recently uploaded (20)

CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptx
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 

MOSA approach for branch coverage

  • 1. Annibale Panichella Fitsum M. Kifetew Paolo Tonella Results for EvoSuite-MOSA at the Third Unit Testing Tool Competition
  • 2. What is MOSA? A. Panichella, F. M. Kifetew, P. Tonella, “Reformulating Branch Coverage as Multi-Objective Optimization Problem” 8th IEEE International Conference on Software Testing, Verification and Validation 2015 1 2 3 4 5 6 Control flow graph
  • 3. b7 Multi-Objective Optimization: - Targeting all branches at once - Chromosomes = Test Cases - Running Many-Objective Genetic Algorithm 1 2 3 4 5 6 b1 b3 b2 b4 b5 b6 A. Panichella, F. M. Kifetew, P. Tonella, “Reformulating Branch Coverage as Multi-Objective Optimization Problem” 8th IEEE International Conference on Software Testing, Verification and Validation 2015 What is MOSA? Control flow graph
  • 4. Solving Multiple Branches at Once Objectives Objectives Functions = 1 2 2 5 2 4 5 6 1 3 3 6 f1 = bn b1 b3 b2 b4 b5 A. Panichella, F. M. Kifetew, P. Tonella, “Reformulating Branch Coverage as Multi-Objective Optimization Problem” 8th IEEE International Conference on Software Testing, Verification and Validation 2015 f2 = f3 = f4 = f5 = fn = …
  • 5. Solving Multiple Branches at Once Objectives Objectives Functions = 1 2 2 5 2 4 5 6 1 3 3 6 f1 = bn b1 b3 b2 b4 b5 A. Panichella, F. M. Kifetew, P. Tonella, “Reformulating Branch Coverage as Multi-Objective Optimization Problem” 8th IEEE International Conference on Software Testing, Verification and Validation 2015 f2 = f3 = f4 = f5 = fn = = approach_level(b1) + branch_dist(b1) = approach_level(b2) + branch_dist(b2) = approach_level(b3) + branch_dist(b3) = approach_level(b4) + branch_dist(b4) = approach_level(b3) + branch_dist(b3) = approach_level(bn) + branch_dist(bn) … …
  • 6. A. Panichella, F. M. Kifetew, P. Tonella, “Reformulating Branch Coverage as Multi-Objective Optimization Problem” 8th IEEE International Conference on Software Testing, Verification and Validation 2015 b1 b2 What is MOSA? Pareto Optimality: all solutions that are not dominated by any other solutions form the Pareto optimal set.
  • 7. A. Panichella, F. M. Kifetew, P. Tonella, “Reformulating Branch Coverage as Multi-Objective Optimization Problem” 8th IEEE International Conference on Software Testing, Verification and Validation 2015 b1 b2 What is MOSA? Pareto Optimality: all solutions that are not dominated by any other solutions form the Pareto optimal set. A Test Cases Dominated by A C B
  • 8. A B A. Panichella, F. M. Kifetew, P. Tonella, “Reformulating Branch Coverage as Multi-Objective Optimization Problem” 8th IEEE International Conference on Software Testing, Verification and Validation 2015 b1 b2 What is MOSA? Pareto Optimality: all solutions that are not dominated by any other solutions form the Pareto optimal set. C
  • 9. Many-objective Solvers θ-Non-dominated Sorting Genetic Algorithm-III ≤ 15 obj. Grid-based Evolutionary Algorithm ≤ 10 obj. Hypervolume-based Evolutionary Algorithm ≤ 25 obj. ε-Multi-objective Evolutionary Algorithm ≤ 3 obj. Strength Pareto Evolutionary Algorithm ≤ 3 obj. Non-dominated Sorting Genetic Algorithm-II ≤ 3 obj.
  • 10. Many-objective Solvers θ-Non-dominated Sorting Genetic Algorithm-III ≤ 15 obj. Grid-based Evolutionary Algorithm ≤ 10 obj. Hypervolume-based Evolutionary Algorithm ≤ 25 obj. ε-Multi-objective Evolutionary Algorithm ≤ 3 obj. Strength Pareto Evolutionary Algorithm ≤ 3 obj. Non-dominated Sorting Genetic Algorithm-II ≤ 3 obj. Many-Objective Solvers do not scale beyond 25 Objectives We cannot use Standard Many- Objective Solvers
  • 11. Branch Coverage b2 = |b-c| Example b1 = |a-b|
  • 12. Branch Coverage b2 = |b-c| Example min Point closest to cover b1 b1 = |a-b|
  • 13. Branch Coverage b2 = |b-c| Example Point closest to cover b1 b1 = |a-b| Point closest to cover b2 min
  • 14. Branch Coverage b2 = |b-c| Example Point closest to cover b1 b1 = |a-b| Point closest to cover b2 Not all non-dominated Solutions are optimal
  • 15. Branch Coverage b2 = |b-c| Example Point closest to cover b1 b1 = |a-b| Point closest to cover b2 Not all non-dominated Solutions are optimal These points are better than the others
  • 16. Preference Criterion: MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| Point closest to cover b1 b1 = |a-b| Point closest to cover b2 Not all non-dominated Solutions are optimal These points are better than the others Given a branch bi, a test case x is preferred over another test case y if and only if the values of the objective function for bi satisfy the following condition: bi(x) < bi(y)
  • 17. MOSA: a New Many Objective Sorting Algorithm Given a branch bi, a test case x is preferred over another test case y if and only if the values of the objective function for bi satisfy the following condition: bi(x) < bi(y) or bi(x) == bi(y) and #size(x) < #size(y) Preference Criterion: b2 = |b-c| b1 = |a-b| These points are better than the others
  • 18. MOSA: a New Many Objective Sorting Algorithm Preference Criterion: b2 = |b-c| b1 = |a-b| First front Given a branch bi, a test case x is preferred over another test case y if and only if the values of the objective function for bi satisfy the following condition: bi(x) < bi(y) or bi(x) == bi(y) and #size(x) < #size(y)
  • 19. MOSA: a New Many Objective Sorting Algorithm Preference Criterion: b2 = |b-c| b1 = |a-b| Second front Given a branch bi, a test case x is preferred over another test case y if and only if the values of the objective function for bi satisfy the following condition: bi(x) < bi(y) or bi(x) == bi(y) and #size(x) < #size(y)
  • 20. MOSA: a New Many Objective Sorting Algorithm Preference Criterion: b2 = |b-c| b1 = |a-b| Third front Given a branch bi, a test case x is preferred over another test case y if and only if the values of the objective function for bi satisfy the following condition: bi(x) < bi(y) or bi(x) == bi(y) and #size(x) < #size(y)
  • 21. MOSA: a New Many Objective Sorting Algorithm Preference Criterion: b2 = |b-c| b1 = |a-b| Fourth front Given a branch bi, a test case x is preferred over another test case y if and only if the values of the objective function for bi satisfy the following condition: bi(x) < bi(y) or bi(x) == bi(y) and #size(x) < #size(y)
  • 22. MOSA: a New Many Objective Sorting Algorithm Preference Criterion: b2 = |b-c| b1 = |a-b| Fifth front Given a branch bi, a test case x is preferred over another test case y if and only if the values of the objective function for bi satisfy the following condition: bi(x) < bi(y) or bi(x) == bi(y) and #size(x) < #size(y)
  • 24. 1. Crossover: Single-point 2. Mutation: add, modify or delete statements 3. Selection: preference criterion + crowding distance 5. Archive: keep track of the best test cases covering branches yes Random Test Cases Crossover Mutation Selection End? no Update Archive MOSA: a New Many Objective Sorting Algorithm Main Criterion = covered goals Secondary Criterion = TC size
  • 25. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b|
  • 26. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Archive TC1
  • 27. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Crossover: single-point Archive TC1
  • 28. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Mutation: add, delete, modify statements Archive TC1
  • 29. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Point closest to cover b1 Point closest to cover b2 Update Archive: 1* Criterion = covered goals 2* Criterion = TC size Selection: preference criterionArchive TC1
  • 30. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Second front Update Archive: 1* Criterion = covered goals 2* Criterion = TC size Selection: preference criterionArchive TC1
  • 31. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Third front Update Archive: 1* Criterion = covered goals 2* Criterion = TC size Selection: preference criterionArchive TC1
  • 32. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Archive TC1
  • 33. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Archive TC1
  • 34. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| b2 is covered Archive TC1
  • 35. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| b2 is covered Archive TC1 TC2
  • 36. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Covered goals are not considered (optimized) Archive TC1 TC2
  • 37. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Archive TC1 TC2
  • 38. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Archive TC1 TC2
  • 39. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| Archive TC1 TC2
  • 40. MOSA: a New Many Objective Sorting Algorithm b2 = |b-c| b1 = |a-b| TC3 Final Test Suite Archive TC1 TC2
  • 41. Evosuite-MOSA: the tool We have implemented MOSA in a prototype tool by extending EvoSuite Evosuite-MOSA uses the new Many- Objective Genetic Algorithms (MOSA) instead of the traditional single objective GAs Many-Objective approach instead of Whole Suite approach
  • 42. Third Unit Testing Tool Competition
  • 43. Results Total Score = 189.22 Statement Coverage = 56.41% Branch Coverage = 46.13% Mutation Coverage = 38.53% Mean Number of Test Case = 20 Mean Running Time = 84s Evosuite-MOSA uses branch coverage as testing criterion
  • 44. Results Total Score = 189.22 Statement Coverage = 56.41% Branch Coverage = 46.13% Mutation Coverage = 38.53% Mean Number of Test Case = 20 Mean Running Time = 84s EvoSuite-MOSA requires only 25% the time needed other tools with highest ranks in the contest %BranchCoverage 0% 12,5% 25% 37,5% 50% Running Time (sec) 0 100 200 300 400 Other Tools Evosuite-MOSA
  • 45. Main Issues Some classes of the benchmark crashed our tool due to bugs fixed in later versions of EvoSuite We used an older version of EvoSuite when implementing MOSA LIST
  • 46. Main Issues Our tool was not able to handle classes extending the Java class Exception For example SearchException.java TwitterException.java Our tool crashed in few seconds. Thus, it achieved 0% coverage Java Exception✗ LIST
  • 47. Main Issues ARFFHandler.java take as input an external file. Such file must respect the standard format of ARFF files. Page.java requires a valid instance of Wikipedia.java and indirectly a valid instance of the class DatabaseConfiguration.java Our tool achieved 0% coverage Java Exception Environmental dependencies ✗ LIST ✗
  • 48. Main Issues For example, for Predicates.java our tool crashed in some runs because of an Out-of-memory exception Java Exception Environmental dependencies Memory Consumption ✗ ✗ ✗ LIST Some subjects lead to the generation of test cases that may cause an excessive memory consumption.
  • 49. In other runs, for the same subject, the tool didn’t crash and generated test cases providing the following scores: 70% of statement coverage, 62% of branch coverage and 44% of mutation score. Main Issues Our tool crashed in some runs for CharMatcher.java, thus, terminating its execution without generating any test case. For CycleHandler.java and WikipediaInfo.java classes, our tool crashed in every run because of some bugs related to our EvoSuite front-end. Finally, for the class TwitterImpl.java our tool had problems in finding all the required dependences at preparation time. Java Exception Environmental dependencies Memory Consumption Other Issues ✗ ✗ ✗ ✗ LIST
  • 50. Remarks for the Contest The analysis of the scores achieved by different tools in the contest is challenging since multiple criteria are involved
  • 51. Remarks for the Contest The analysis of the scores achieved by different tools in the contest is challenging since multiple criteria are involved Total Score ≈ ωstat ⨉ covstat + ωbr ⨉ covbr+ωm ⨉ covm - ωt ⨉ Time/3600
  • 52. Remarks for the Contest The analysis of the scores achieved by different tools in the contest is challenging since multiple criteria are involved Execution times has marginal relevance (weight) Tools that were configured with few minutes of execution time are penalized with respect to other tools that were configured with more time for the generation process. Total Score ≈ 1 ⨉ covstat + 2 ⨉ covbr+ 4 ⨉ covm- 1/3600 ⨉ Time
  • 53. Remarks for the Contest %BranchCoverage 0% 12,5% 25% 37,5% 50% Running Time (sec) 0 100 200 300 400 Other Tools Evosuite-MOSA Tools with the highest branch coverage have been configured with longer execution time
  • 54. Remarks for the Contest %BranchCoverage 0% 12,5% 25% 37,5% 50% Running Time (sec) 0 100 200 300 400 Other Tools Evosuite-MOSA Tools with the highest mutation coverage have been configured with longer execution time Tools with the highest branch coverage have been configured with longer execution time
  • 55. Remarks for the Contest What about the size of the generated test cases?
  • 56. Remarks for the Contest What about the size of the generated test cases? After our own experiment with some classes in the benchmark, at same level of coverage, smaller test cases yielded lower mutation score.
  • 57. Remarks for the Contest Example FlushLuceneWork.java Average TC size = 26 statements Branch coverage = 100% Statement coverage = 89.74% Mutation Score = 62% Evosuite-MOSA maximizes branch coverage while selecting the shortest test cases at equal level of branch coverage What about the size of the generated test cases? After our own experiment with some classes in the benchmark, at same level of coverage, smaller test cases yielded lower mutation score.
  • 58. Remarks for the Contest Without minimization Average TC size = 562 statements Branch coverage = 100% Statement coverage = 89.74% Mutation Score = 86% (+26%) Example FlushLuceneWork.java Average TC size = 26 statements Branch coverage = 100% Statement coverage = 89.74% Mutation Score = 62% What about the size of the generated test cases? After our own experiment with some classes in the benchmark, at same level of coverage, smaller test cases yielded lower mutation score.
  • 59. Remarks for the Contest Without minimization Average TC size = 562 statements Branch coverage = 100% Statement coverage = 89.74% Mutation Score = 86% (+26%) Example FlushLuceneWork.java Average TC size = 26 statements Branch coverage = 100% Statement coverage = 89.74% Mutation Score = 62% What about the size of the generated test cases? After our own experiment with some classes in the benchmark, at same level of coverage, smaller test cases yielded lower mutation score. Non-minimized test cases are able to kill more mutants, but they are much longer (more difficult to be analyzed manually)