SlideShare a Scribd company logo
1 of 42
Download to read offline
1 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
On the application of SAT solvers for
Search Based Software Testing
Francisco Chicano
Departamento de Lenguajes y Ciencias de la Computación
Universidad de Málaga
Spain
2 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
An optimization problem is a pair: P = (S,f) where:
S is a set of solutions (solution or search space)
f: S → R is an objective function to minimize or maximize
If our goal is to minimize the function we search for:
Global maximum
Local maximum
Global minimum
Local minimum
s’ ∈ S | f(s’) ≤ f(s), ∀s ∈ S
Optimization Problem
Search Software Testing SBSE
3 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
In a MO problem there are several objectives (functions) we want to optimize
Multi-Objective Optimization Problem
Search Software Testing SBSE
4 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Optimization Techniques
EXACT APPROXIMATED
AD HOC HEURISTICS METAHEURISTICS
Gradient
Lagrange multipliers
Based on Calculus
Dynamic Programming
Branch and Bound
Enumerative
SA
VNS
TS
Trajectory
EA
ACO
PSO
Population
Optimization Techniques
Search Software Testing SBSE
5 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Pseudocode of a simple EA
Three main steps: selection, reproduction, replacement
Variation operators à Make the population to evolve
Recombination: exchange of features
Mutation: generation of new features
P = generateInitialPopulation ();
evaluate (P);
while not stoppingCondition () do
P´ = selectParents (P);
P´ = applyVariationOpterators (P´);
evaluate(P´);
P = selectNewPopulation (P,P´);
end while
return the best solution found
Evolutionary Algorithm
Search Software Testing SBSE
6 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Genetic Algorithms
•  Individuals
•  Recombination
§  One point
§  Two points
§  Uniform
•  Mutation → bit flips
0111000110
Binary Chromosome
0111000110
1100011001
000110 0111
011001 1100
1001 011010
1010 100101
0111010010 1 0
Evolutionary Algorithm
Search Software Testing SBSE
7 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
•  What is software testing?
–  It is the process of running a software product or a portion of it in
a controlled environment with a given input followed by the
collection and analysis of the output and/or other relevant
information of the execution.
•  What is the goal of software testing?
–  To find out errors in a portion or the complete software product
and/or to assure with a high probability that the software is
correct (according to the requirements).
Software Testing: Definition and Goal
Search Software Testing SBSE
8 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Software testing is important because…
60.000 M$ annually
(0,6% GDP) in USA
Software
errors
60 % of project
cost
Software Testing: Impact
Search Software Testing SBSE
9 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Classification of testing techniques (by goal)
–  Unit testing: test one module of the software.
–  Integration testing: test the interfaces between different modules in the software.
–  System testing: test the complete system.
–  Validation testing: test if the software system fulfills the requirements.
–  Acceptance testing: the client test whether the system is what s/he wants.
–  Regression testing: after a change in the software test whether a new error has
been introduced.
–  Stress testing: test the system under a high load
–  Load testing: test the response of the system under a normal load of work.
Software Testing: Classification
Search Software Testing SBSE
10 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
1.0, 2.3 Error!
Test case design Test case run Check of results
2.7, 5.4
JUnit, EasyMock,
XMLUnit, Jmeter,
Selenium
Automatic test
case generation
Software Testing: Automatization
Search
Techniques
Search Based
Software Testing
Search Software Testing SBSE
11 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Search Based Software Engineering
Search Based
Software Engineering
(SBSE)
Search Based
Software Testing
Search Software Testing SBSE
12 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Our Research on SBSE
Search Software Testing SBSE
• Software Project Scheduling
• White-box Software Testing
• Testing of Concurrent Systems (based on Model Checking)
• Test Sequences for Functional Testing
• Test Suite Minimization in Regression Testing
• Software Product Lines Testing
• Prioritized Pairwise Combinatorial Interaction Testing
• Testing Complexity
13 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Problem Formulation SAT Transf. Results
14 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Test Suite Minimization
Given:
Ø A set of test cases T = {t1, t2, ..., tn}
Ø A set of program elements to be covered (e.g., branches) E= {e1, e2, ..., ek}
Ø A coverage matrix
Find a subset of tests X ⊆ T maximizing coverage and minimizing the testing cost
The single-objective version of this problem consists in finding a subset of
sts X ✓ T with minimum cost covering all the program elements. In formal
rms:
minimize cost(X) =
nX
i=1
ti2X
ci (2)
ubject to:
ej 2 E, 9ti 2 X such that element ej is covered by test ti, that is, mij = 1.
The multi-objective version of the TSMP does not impose the constraint of
ll coverage, but it defines the coverage as the second objective to optimize,
ading to a bi-objective problem. In short, the bi-objective TSMP consists in
nding a subset of tests X ✓ T having minimum cost and maximum coverage.
ormally:
minimize cost(X) =
nX
i=1
ti2X
ci (3)
maximize cov(X) = |{ej 2 E|9ti 2 X with mij = 1}| (4)
e1 e2 e3 ... ek
t1 1 0 1 … 1
t2 0 0 1 … 0
… … … … … …
tn 1 1 0 … 0
M=
3 Test Suite Minimization Problem
When a piece of software is modified, the new software is tested using
previous test cases in order to check if new errors were introduced. This
is known as regression testing. One problem related to regression testing
Test Suite Minimization Problem (TSMP). This problem is equivalent t
Minimal Hitting Set Problem which is NP-hard [17]. Let T = {t1, t2, · · ·
be a set of tests for a program where the cost of running test ti is ci an
E = {e1, e2, · · · , em} be a set of elements of the program that we want to
with the tests. After running all the tests T we find that each test can
several program elements. This information is stored in a matrix M = [m
dimension n ⇥ m that is defined as:
mij =
(
1 if element ej is covered by test ti
0 otherwise
The single-objective version of this problem consists in finding a subs
tests X ✓ T with minimum cost covering all the program elements. In fo
terms:
minimize cost(X) =
nX
i=1
ti2X
ci
subject to:
8ej 2 E, 9ti 2 X such that element ej is covered by test ti, that is, mi
Yoo & Harman
Problem Formulation SAT Transf. Results
15 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
NP-hard Problems
In many papers we can read…
“Our optimization problem is NP-hard, and for this reason we use…
… which do not ensure an optimal solution but they are able to find
good solutions in a reasonable time.”
•  Metaheuristic techniques
•  Heuristic algorithms
•  Stochastic algorithms
As far as we know: no efficient (polynomial time) algorithm exists for solving
NP-hard problems
But we know inefficient algorithms (at least exponential time)
Problem Formulation SAT Transf. Results
16 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
The SATisfiability Problem
Can we find an assignment of boolean values (true and false) to the variables
such that all the formulas are satisfied?
The first NP-complete problem (Stephen Cook, 1971)
If it can be solved efficiently (polynomial time) then P=NP
The known algorithms solve this problem in exponential time (worst case)
Nowadays, SAT solvers can solve instances with 500 000 boolean variables
This means a search space of 2500 000 ≈ 10150514
State-of-the-art algorithms in SAT
Problem Formulation SAT Transf. Results
17 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
The SATisfiability Problem
My favourite
problem
SAT
instance
Use SAT
solvers
Optimal
solution
Main research question:
Can we use the advances of SAT solvers to
solve optimization algorithms up to optimality?
Test Suite
Minimization
Translation to SAT
Algorithms
MiniSAT+
Experimental
Results
Problem Formulation SAT Transf. Results
18 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Outline
Original
TSM
Instance
PB
Constraints
SAT
Instance
F. Arito et al., SSBSE 2012
Problem Formulation SAT Transf. Results
19 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Pseudo-Boolean Constraints
A Pseudo-Boolean (PB) constraint has the form:
der to use SAT solvers to solve optimization problems,
ate the constraints f(y)  B to Boolean formulas. To
f Pseudo-Boolean constraint plays a main role. A Pseudo
t is an inequality on a linear combination of Boolean va
nX
i=1
aixi B
2 {<, , =, 6=, >, }, ai, B 2 Z, and xi 2 {0, 1}. A PB co
isfied under an assignment if the sum of the coe cient
tisfies the relational operator with respect to B.
nstraints can be translated into SAT instances. The simpl
the PB constraint to an equivalent Boolean formula w
The main drawback of these approaches is that the num
grows exponentially with respect to the variables. In
2 2
...
fm(y)  Bm
er to use SAT solvers to solve optimization problems, we sti
te the constraints f(y)  B to Boolean formulas. To this a
Pseudo-Boolean constraint plays a main role. A Pseudo-Boolea
is an inequality on a linear combination of Boolean variables:
nX
i=1
aixi B
2 {<, , =, 6=, >, }, ai, B 2 Z, and xi 2 {0, 1}. A PB constraint
sfied under an assignment if the sum of the coe cients ai for
isfies the relational operator with respect to B.
nstraints can be translated into SAT instances. The simplest appr
the PB constraint to an equivalent Boolean formula with th
The main drawback of these approaches is that the number of
where
.
fm(y)  Bm
In order to use SAT solvers to solve opti
to translate the constraints f(y)  B to Bo
concept of Pseudo-Boolean constraint plays a m
constraint is an inequality on a linear combina
nX
i=1
aixi B
where 2 {<, , =, 6=, >, }, ai, B 2 Z, and x
to be satisfied under an assignment if the sum
xi = 1 satisfies the relational operator with
PB constraints can be translated into SAT in
translate the PB constraint to an equivalent
variables. The main drawback of these approac
generated grows exponentially with respect t
f2(y)  B2
...
fm(y)  Bm
order to use SAT solvers to solve optimization problems, we
slate the constraints f(y)  B to Boolean formulas. To this
of Pseudo-Boolean constraint plays a main role. A Pseudo-Boo
int is an inequality on a linear combination of Boolean variable
nX
i=1
aixi B
2 {<, , =, 6=, >, }, ai, B 2 Z, and xi 2 {0, 1}. A PB constra
atisfied under an assignment if the sum of the coe cients ai
satisfies the relational operator with respect to B.
constraints can be translated into SAT instances. The simplest ap
te the PB constraint to an equivalent Boolean formula with
es. The main drawback of these approaches is that the number
Can be translated to SAT instances (usually efficient)
Are a higher level formalism to specify a decision problem
Can be the input for MiniSAT+
Problem Formulation SAT Transf. Results
20 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Translating Optimization to Decision Problems
Let us assume we want to minimize f(x)
B
f(x)  B
Check
B B B
f(x)  B
Check
f(x)  B
Check
f(x)  B
Check
no no no yes
Optimal solution found
The same can be done with multi-objective problems, but we need more
PB constraints
s of generality that we want to find a solution x⇤
2 X
, f(x⇤
)  f(x) for all the solutions x 2 X. This opti-
transformed in a series of decision problems in which
lution y 2 X for which the constraint f(y)  B holds,
nt integer values. This series of decision problems can
l (minimal) solution of the optimization problem. The
ows. We start with a value of B low enough for the
be. We solve the decision problem to check that it is
ter a loop in which the value of B is increased and the
n. The loop is repeated until the result is satisfiable.
e value of B is the minimal value of f in the search
the decision problem is an optimal solution of the
blem has several objective functions f1, f2, . . . , fm to
nstraint for each objective function:
f1(y)  B1
f2(y)  B2
.
ose without loss of generality that we want to find a solution x⇤
2 X
izes3
f, that is, f(x⇤
)  f(x) for all the solutions x 2 X. This opti-
oblem can be transformed in a series of decision problems in which
ve is to find a solution y 2 X for which the constraint f(y)  B holds,
Z takes di↵erent integer values. This series of decision problems can
find the optimal (minimal) solution of the optimization problem. The
ould be as follows. We start with a value of B low enough for the
o be unsatisfiabe. We solve the decision problem to check that it is
e. Then, we enter a loop in which the value of B is increased and the
s checked again. The loop is repeated until the result is satisfiable.
oop finishes, the value of B is the minimal value of f in the search
the solution to the decision problem is an optimal solution of the
n problem.
ptimization problem has several objective functions f1, f2, . . . , fm to
we need one constraint for each objective function:
f1(y)  B1
f2(y)  B2
...
that minimizes3
f, that is, f(x⇤
)  f(x) for all the solutions x 2 X
mization problem can be transformed in a series of decision problem
the objective is to find a solution y 2 X for which the constraint f(y)
where B 2 Z takes di↵erent integer values. This series of decision pr
be used to find the optimal (minimal) solution of the optimization pr
procedure could be as follows. We start with a value of B low eno
constraint to be unsatisfiabe. We solve the decision problem to chec
unsatisfiable. Then, we enter a loop in which the value of B is increa
constraint is checked again. The loop is repeated until the result is
Once the loop finishes, the value of B is the minimal value of f in
space and the solution to the decision problem is an optimal solu
optimization problem.
If the optimization problem has several objective functions f1, f2
minimize, we need one constraint for each objective function:
f1(y)  B1
f2(y)  B2
...
fm(y)  Bm
In order to use SAT solvers to solve optimization problems, w
…
Problem Formulation SAT Transf. Results
21 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
PB Constraints for the TSM Problem
e1 e2 e3 ... em
t1 1 0 1 … 1
t2 0 0 1 … 0
… … … … … …
tn 1 1 0 … 0
M=
previous test cases in order to check if new errors were introduced. This
is known as regression testing. One problem related to regression testing
Test Suite Minimization Problem (TSMP). This problem is equivalent t
Minimal Hitting Set Problem which is NP-hard [17]. Let T = {t1, t2, · · ·
be a set of tests for a program where the cost of running test ti is ci an
E = {e1, e2, · · · , em} be a set of elements of the program that we want to
with the tests. After running all the tests T we find that each test can
several program elements. This information is stored in a matrix M = [m
dimension n ⇥ m that is defined as:
mij =
(
1 if element ej is covered by test ti
0 otherwise
The single-objective version of this problem consists in finding a subs
tests X ✓ T with minimum cost covering all the program elements. In fo
terms:
minimize cost(X) =
nX
i=1
ti2X
ci
subject to:
8ej 2 E, 9ti 2 X such that element ej is covered by test ti, that is, mi
The multi-objective version of the TSMP does not impose the constra
full coverage, but it defines the coverage as the second objective to opti
leading to a bi-objective problem. In short, the bi-objective TSMP consi
finding a subset of tests X ✓ T having minimum cost and maximum cove
Formally:
n
ase is not included. We also introduce m binary variables e
ch program element to cover. If ej = 1 then the correspondin
by one of the selected test cases and if ej = 0 the elem
y a selected test case.
lues of the ej variables are not independent of the ti variable
j must be 1 if and only if there exists a ti variable for whic
1. The dependence between both sets of variables can be wr
ing 2m PB constraints:
ej 
nX
i=1
mijti  n · ej 1  j  m.
n see that if the sum in the middle is zero (no test is co
j) then the variable ej = 0. However, if the sum is greater
ow we need to introduce a constraint related to each objectiv
o transform the optimization problem in a decision probl
in Section 2.2. These constraints are:
variables are not independent of the ti variables. A given
and only if there exists a ti variable for which mij = 1
ence between both sets of variables can be written with
nstraints:
nX
i=1
mijti  n · ej 1  j  m. (5)
the sum in the middle is zero (no test is covering the
ariable ej = 0. However, if the sum is greater than zero
introduce a constraint related to each objective function
the optimization problem in a decision problem, as we
. These constraints are:
nX
i=1
citi  B, (6)
mX
the following 2m PB constraints:
ej 
nX
i=1
mijti  n · ej 1  j 
We can see that if the sum in the middle is zero (no
element ej) then the variable ej = 0. However, if the sum
ej = 1. Now we need to introduce a constraint related to ea
in order to transform the optimization problem in a dec
described in Section 2.2. These constraints are:
nX
i=1
citi  B,
mX
j=1
ej P,
Cost Coverage
Problem Formulation SAT Transf. Results
22 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Example
e
ough a small example how to model with PB con-
SMP according to the methodology above described.
E = {e1, e2, e3, e4} and M:
e1 e2 e3 e4
t1 1 0 1 0
t2 1 1 0 0
t3 0 0 1 0
t4 1 0 0 0
t5 1 0 0 1
t6 0 1 1 0
-obj TSMP we need to instantiate Eqs. (5), (6) and
 t1 + t2 + t4 + t5  4e1 (10)
 t2 + t6  4e2 (11)
 t1 + t3 + t6  4e3 (12)
 t5  4e4 (13)
t5 1 0 0 1
t6 0 1 1 0
If we want to solve the 2-obj TSMP we need to instantia
(7). The result is:
e1  t1 + t2 + t4 + t5  4e1
e2  t2 + t6  4e2
e3  t1 + t3 + t6  4e3
e4  t5  4e4
t1 + t2 + t3 + t4 + t5 + t6  B
e1 + e2 + e3 + e4 P
where P, B 2 N.
If we are otherwise interested in the 1-obj version the form
t1 + t2 + t4 + t5 1
t2 + t6 1
t1 + t3 + t6 1
t5 1
t1 + t2 + t3 + t4 + t5 + t6  B
(7). The result is:
e1  t1 + t2 + t4 + t5  4e1
e2  t2 + t6  4e2
e3  t1 + t3 + t6  4e3
e4  t5  4e4
t1 + t2 + t3 + t4 + t5 + t6  B
e1 + e2 + e3 + e4 P
where P, B 2 N.
If we are otherwise interested in the 1-obj version th
t1 + t2 + t4 + t5 1
t2 + t6 1
t1 + t3 + t6 1
t5 1
t1 + t2 + t3 + t4 + t5 + t6  B
e2  t2 + t6  4e2
e3  t1 + t3 + t6  4e3
e4  t5  4e4
t1 + t2 + t3 + t4 + t5 + t6  B
e1 + e2 + e3 + e4 P
where P, B 2 N.
If we are otherwise interested in the 1-obj version the for
t1 + t2 + t4 + t5 1
t2 + t6 1
t1 + t3 + t6 1
t5 1
t1 + t2 + t3 + t4 + t5 + t6  B
Bi-objective problem
Single-objective problem
(total coverage)
f(x)  B
e1  t1 + t2 + t4 + t5  6e1
e2  t2 + t6  6e2
e3  t1 + t3 + t6  6e3
e4  t5  6e4
Problem Formulation SAT Transf. Results
23 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Algorithm for Solving the 2-obj TSM
Cost
Coverage
Total coverage
With coverage=|E| increase cost until success
Decrease cost and find
the maximum coverage
again
and again
Problem Formulation SAT Transf. Results
24 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Instances from the Software-artifact Infrastructure Repository (SIR)
TSM Instances
The result is an instance with fewer test cases but having the same P
These transformed instances were solved using Algorithm 2. Table
size of the test suites with and without the reduction for each progr
observe a really great reduction in the number of test cases when t
approach is used.
Table 1: Details of the instances used in the experiments
Instance Original Size Reduced Size Elements to co
printtokens 4130 40
printtokens2 4115 28
replace 5542 215
schedule 2650 4
schedule2 2710 13
tcas 1608 5
totinfo 1052 21
In Table 2 we present the Pareto optimal set and the Pareto fr
t is an instance with fewer test cases but having the same Pareto front.
nsformed instances were solved using Algorithm 2. Table 1 shows the
e test suites with and without the reduction for each program. We can
really great reduction in the number of test cases when the previous
is used.
Table 1: Details of the instances used in the experiments
stance Original Size Reduced Size Elements to cover
rinttokens 4130 40 195
rinttokens2 4115 28 192
eplace 5542 215 208
chedule 2650 4 126
chedule2 2710 13 119
cas 1608 5 54
otinfo 1052 21 117
ble 2 we present the Pareto optimal set and the Pareto front for the
Tests
http://sir.unl.edu/portal/index.php !
Cost of each test: 1
Problem Formulation SAT Transf. Results
25 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Pareto Front
80
82.5
85
87.5
90
92.5
95
97.5
100
0 1 2 3 4 5 6 7 8 9
coveragelevel
number of test cases
Pareto front
printtokens
printtokens2
replace
schedule
schedule2
tcas
totinfo
printtokens
printtokens2
replace
schedule
schedule2
tcas
totinfo
The result is an instance with fewer test cases but having the same Pareto front.
These transformed instances were solved using Algorithm 2. Table 1 shows the
size of the test suites with and without the reduction for each program. We can
observe a really great reduction in the number of test cases when the previous
approach is used.
Table 1: Details of the instances used in the experiments
Instance Original Size Reduced Size Elements to cover
printtokens 4130 40 195
printtokens2 4115 28 192
replace 5542 215 208
schedule 2650 4 126
schedule2 2710 13 119
tcas 1608 5 54
totinfo 1052 21 117
In Table 2 we present the Pareto optimal set and the Pareto front for the
instances described above. The columns “Tests” and “Elements” correspond to
the functions cost and cov of the 2-obj TSMP. The column “Coverage” is the
number of covered elements divided by the total number of elements. The optimal
solution for the 1-obj TSMP can be found in the lines with 100% coverage,
as explained in Section 3. It is not common to show the Pareto optimal set
or the Pareto front in numbers in the multi-objective literature because only
approximate Pareto fronts can be obtained for NP-hard problems. However, in
this case we obtain the exact Pareto fronts and optimal sets, so we think that this
The result is an instance with fewer test cases but having the same Pareto front.
These transformed instances were solved using Algorithm 2. Table 1 shows the
size of the test suites with and without the reduction for each program. We can
observe a really great reduction in the number of test cases when the previous
approach is used.
Table 1: Details of the instances used in the experiments
Instance Original Size Reduced Size Elements to cover
printtokens 4130 40 195
printtokens2 4115 28 192
replace 5542 215 208
schedule 2650 4 126
schedule2 2710 13 119
tcas 1608 5 54
totinfo 1052 21 117
In Table 2 we present the Pareto optimal set and the Pareto front for the
instances described above. The columns “Tests” and “Elements” correspond to
the functions cost and cov of the 2-obj TSMP. The column “Coverage” is the
number of covered elements divided by the total number of elements. The optimal
solution for the 1-obj TSMP can be found in the lines with 100% coverage,
as explained in Section 3. It is not common to show the Pareto optimal set
or the Pareto front in numbers in the multi-objective literature because only
approximate Pareto fronts can be obtained for NP-hard problems. However, in
this case we obtain the exact Pareto fronts and optimal sets, so we think that this
80
0 1 2 3
tcas
Fig. 1: Pareto fron
Table 3: Information about clauses-t
gorithm 2, average coverage and num
rithms for the instances from SIR.
Instance Ratio Algorithm 2
Original (s) Reduced (
printtokens 4.61 3400.74 2.1
printtokens2 4.61 3370.44 1.4
replace 4.62 1469272.00 345.6
schedule 2.19 492.38 0.2
schedule2 4.61 195.55 0.2
tcas 4.61 73.44 0.3
totinfo 4.53 181823.50 0.9
independent runs. However, the requ
printtokens, printtokens2 and re
rest of the programs. However, we sh
the result is an optimal solution, as
Tests Time
Problem Formulation SAT Transf. Results
26 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Pareto Front Table 2: Pareto optimal set and Front for the instances of SIR.
Instance Elements Tests Coverage Solution
printtokens 195 5 100% (t2222, t2375, t3438, t4100, t4101)
194 4 99.48% (t1908, t2375, t4099, t4101)
192 3 98.46% (t1658, t2363, t4072)
190 2 97.43% (t1658, t3669)
186 1 95.38% (t2597)
printtokens2 192 4 100% (t2521, t2526, t4085, t4088)
190 3 98.95% (t457, t3717, t4098)
188 2 97.91% (t2190, t3282)
184 1 95.83% (t3717)
replace 208 8 100% (t306, t410, t653, t1279, t1301, t3134, t4057, t4328)
207 7 99.51% (t309, t358, t653, t776, t1279, t1795, t3248)
206 6 99.03% (t275, t290, t1279, t1938, t2723, t2785)
205 5 98.55% (t426, t1279, t1898, t2875, t3324)
203 4 97.59% (t298, t653, t3324, t5054)
200 3 96.15% (t2723, t2901, t3324)
195 2 93.75% (t358, t5387)
187 1 89.90% (t358)
schedule 126 3 100% (t1403, t1559, t1564)
124 2 98.41% (t1570, t1595)
122 1 96.82% (t1572)
schedule2 119 4 100% (t2226, t2458, t2462, t2681)
118 3 99.15% (t101, t1406, t2516)
117 2 98.31% (t2461, t2710)
116 1 97.47% (t1584)
tcas 54 4 100% (t5, t1191, t1229, t1608)
53 3 98.14% (t13, t25, t1581)
50 2 92.59% (t72, t1584)
44 1 81.48% (t217)
totinfo 117 5 100% (t62, t118, t218, t1000, t1038)
115 4 98.29% (t62, t118, t913, t1016)
113 3 96.58% (t65, t216, t913)
111 2 94.87% (t65, t919)
110 1 94.01% (t179)
Problem Formulation SAT Transf. Results
27 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Reduction in the Number of Test Cases
Since we are considering cost 1 for the tests, we can apply an a priori reduction
in the original test suite
e1 e2 e3 ... em
t1 1 0 0 … 1
t2 1 0 1 … 1
… … … … … …
tn 1 1 0 … 0
Test t1 can be removedThe result is an instance with fewer test cases but having the same Pareto front.
These transformed instances were solved using Algorithm 2. Table 1 shows the
size of the test suites with and without the reduction for each program. We can
observe a really great reduction in the number of test cases when the previous
approach is used.
Table 1: Details of the instances used in the experiments
Instance Original Size Reduced Size Elements to cover
printtokens 4130 40 195
printtokens2 4115 28 192
replace 5542 215 208
schedule 2650 4 126
schedule2 2710 13 119
tcas 1608 5 54
totinfo 1052 21 117
Problem Formulation SAT Transf. Results
28 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Results with the Reduction
The optimal Pareto Front for the reduced test suite can be found from 200 to
180 000 times faster
Table 3: Information about clauses-to-variab
gorithm 2, average coverage and number of te
rithms for the instances from SIR.
Instance Ratio Algorithm 2
Original (s) Reduced (s) Avg.
printtokens 4.61 3400.74 2.17 100
printtokens2 4.61 3370.44 1.43 100
replace 4.62 1469272.00 345.62 100
schedule 2.19 492.38 0.24 100
schedule2 4.61 195.55 0.27 100
tcas 4.61 73.44 0.33 100
totinfo 4.53 181823.50 0.96 100
Problem Formulation SAT Transf. Results
29 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Background Testing SAT Transform. Results
R. Lopez-Herrejon et al., ICSM 2013
30 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Software Product Lines
A product line is a set of related products developed from a shared set of assets
•  The products have similar characteristics
•  The products have unique characteristics
Advantages
•  Support customization
•  Improves reuse
•  Reduce time to market
Product Lines are Pervasive
19
BMW Car Configurator
© RELH
Background Testing SAT Transform. Results
31 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Software Product Lines
In Software Product Lines the product is Software
They are modelled using Feature Models
Background Testing SAT Transform. Results
32 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Feature Models
Fig. 1. Graph Product Line Feature Model
Mandatory features Optional features
Exclusive-or
relations
Inclusive-or
relations
Cross-tree constraints
Graph Product Line Feature Model
Background Testing SAT Transform. Results
33 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Testing of Software Product Lines
Fig. 1. Graph Product Line Feature Model
In a feature model, each feature (except the root) has one
parent feature and can have a set of child features. Notice
here that a child feature can only be included in a feature
combination of a valid product if its parent is included as
well. The root feature is always included. There are four kinds
of feature relationships: i) Mandatory features are depicted
with a filled circle. A mandatory feature is selected whenever
its respective parent feature is selected. For example, features
Driver and GraphType, ii) Optional features are depicted
with an empty circle. An optional feature may or may not
be selected if its respective parent feature is selected. An
example is feature Weight, iii) Exclusive-or relations are
depicted as empty arcs crossing over a set of lines connecting
a parent feature with its child features. They indicate that
exactly one of the features in the exclusive-or group must be
selected whenever the parent feature is selected. For example,
if feature Search is selected, then either feature DFS or
feature BFS must be selected, iv) Inclusive-or relations are
depicted as filled arcs crossing over a set of lines connecting
a parent feature with its child features. They indicate that
at least one of the features in the inclusive-or group must
be selected if the parent is selected. If for instance, feature
Algorithms is selected then at least one of the features Num,
CC, SCC, Cycle, Shortest, Prim, and Kruskal must
be selected. Besides the parent-child relations, features can
also relate across different branches of the feature model with
the so called Cross-Tree Constraints (CTC). Figure 1 shows
some of the CTCs of our feature model2
. For instance, Cycle
requires DFS means that whenever feature Cycle is
an
co
pr
an
co
by
m
va
al
w
of
of
{0
xi
co
w
bo
C
w
pr
ea
de
W
co
The GPL Feature Model is small: 73 distinct products
But the number of products grows exponentially with the
number of features…
… and testing each particular product is not viable
Background Testing SAT Transform. Results
34 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Testing of SPLs: Combinatorial Interaction Testing
Assuming each features has been tested in isolation, most of the defects come
from the interaction between features
Combinatorial Interaction Testing consists in selecting the minimum number of
products that covers all t-wise interactions (t-wise coverage).
ZipMe
Compress Extract Checksum Adapt GZIP ArchCheck CRC
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔
✔ ✔ ✔
✔ ✔ ✔ ✔
1
2
3
4
5
6
64 productsExample: 2-wise
ICPL
CASA
Background Testing SAT Transform. Results
35 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Testing of SPLs: Multi-Objective Formulation
If we don’t have the resources to run all the tests, which one to choose?
Multi-objective formulation:
minimize the number of products
maximize the coverage (t-wise interactions)
The solution is not anymore a table of products, but a Pareto set
by the number of variables dj,k,l that
as:
1X
=1
fX
k=j+1
3X
l=0
dj,k,l (7)
rogram is composed of the goal (7)
(f 1) constraints given by (2) to (6)
he FM expressed with the inequalities
e number of variables of the program
). The solution to this zero-one linear
with the maximum coverage that can
ucts.
ALGORITHM
e for obtaining the optimal Pareto set
This algorithm takes as input the FM
l Pareto set. It starts by adding to the
always in the set: the empty solution
one arbitrary solution (with coverage
ons of the set of features). After that
h successive zero-one linear programs
creasing number of products starting
l model is solved using a extended
. This solver provides a test suite with
This solution is stored in the optimal
m stops when adding a new product to
crease the coverage. The result is the
EXPERIMENTS
s how the evaluation was carried out
sis. The experimental corpus of our
y a benchmark of 118 feature models,
ts ranges from 16 to 640 products, that
om the SPL Conqueror [16] and the
s. The objectives to optimize are the
//minisat.se/MiniSat+.html
want the algorithm to be as fast as possible. For comparison
these experiments were run in a cluster of 16 machines with
Intel Core2 Quad processors Q9400 at 2.66 GHz and 4 GB
running Ubuntu 12.04.1 LTS managed by the HT Condor 7.8.4
manager. Each experiment was executed in one core.
We computed the Pareto optimal front for each model.
Figure 2 shows this front for our running example GPL,
where the total coverage is obtained with 12 products, and
for every test suite size the obtained coverage is also optimal.
As our approach is able to compute the Pareto optimal front
for every feature model in our corpus, it makes no sense to
analyze the quality of the solutions. Instead, we consider more
interesting to study the scalability of our approach. For that,
we analyzed the execution time of the algorithm as a function
of the number of products represented by the feature model as
shown in Figure 3. In this figure we can observe a tendency:
the higher the number of products, the higher the execution
time. Although it cannot be clearly appreciated in the figure,
the execution time does not grow linearly with the number of
products, the growth is faster than linear.
Fig. 2. Pareto optimal front for our running example (GPL).
GPL
2-wise interactions
Background Testing SAT Transform. Results
36 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Testing of SPLs: Approach
Original
SPLT
Instance
PB
Constraints
SAT
Instance
Background Testing SAT Transform. Results
37 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Testing of SPLs: Approach
Modelling SPLT using PseudoBoolean constraints
All the variables are boolean {0,1}
The values of the signature are:
–  00 (both unselected)
–  10 (only first selected)
–  01 (only second selected)
–  11 (both selected)
1 Variables
Variable Meaning
xp,i Presence of feature i in product p
cp,i,j,k Product p covers the pair (i, j) with signature k
di,j,k The pair (i, j) with signature k is covered by some product
k takes values 0, 1, 2 and 3.
2 Equations
For each p:
The equations related to the constraints of the model
For all p, i and j:
2cp,i,j,3  xp,i + xp,j  1 + cp,i,j,3 (1
Background Testing SAT Transform. Results
38 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Testing of SPLs: Approach
Equations of the model
–  For each product p
•  Constraints imposed by the Feature Model
–  For each product p and pair of features i and j
tions
ions related to the constraints of the model
i and j:
2cp,i,j,3  xp,i + xp,j  1 + cp,i,j,3
2cp,i,j,2  xp,i + (1 xp,j)  1 + cp,i,j,3
2cp,i,j,1  (1 xp,i) + xp,j  1 + cp,i,j,3
2cp,i,j,0  (1 xp,i) + (1 xp,j)  1 + cp,i,j,3
and k:
Background Testing SAT Transform. Results
39 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Testing of SPLs: Approach
Equations of the model (cont.)
–  For each pair of features i and j and signature k
•  n is the number of products
–  Objective: maximize coverage
2cp,i,j,0  (1 xp,i) + (1 xp,j)  1 + cp,i,j,3
nd k:
di,j,k 
X
p
cp,i,j,k  ndi,j,k
umber of products
max :
X
i,j,k
di,j,k
k:
di,j,k 
X
p
cp,i,j,k  ndi,j,k
mber of products
max :
X
i,j,k
di,j,k
Background Testing SAT Transform. Results
40 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Testing of SPLs: Approach
 f:
,k,0 (2)
(3)
(4)
(5)
product.
when all
d dj,k,l,
k with
herwise.
he dj,k,l
lities for
Algorithm 1 Algorithm for obtaining the optimal Pareto set.
optimal set {;};
cov[0] 0;
cov[1] Cf
2 ;
sol arbitraryValidSolution(fm);
i 1;
while cov[i] 6= cov[i 1] do
optimal set optimal set [ {sol};
i i + 1;
m prepareMathModel(fm,i);
sol solveMathModel(m);
cov[i] |sol|;
end while
number of products required to test the SPL and the achieved
Background Testing SAT Transform. Results
41 / 42Polytechnique Montréal, July 10, 2014
Introduction
Test Suite
Minimization
Software
Product Lines
Testing of SPLs: Results
of the redundant constraints can incr
adding more constraints could help th
a solution. We plan to study the right b
and augmenting constraints. Second,
feature models to further study the sca
ACKNOWLEDGEME
Funded by Austrian Science Fund
N15 and Lise Meitner Fellowship M
Ministry of Economy and Competitive
contract TIN2011-28194 and fellowsh
REFERENCES
[1] P. Zave, “Faq sheet on
http://www.research.att.com/ pamela/faq.h
[2] K. Pohl, G. Bockle, and F. J. van der L
Engineering: Foundations, Principles and
Experiments on 118 feature models taken from
SPLOT repository (http://www.splot-research.org)
SPL Conqueror (http://wwwiti.cs.uni-magdeburg.de/~nsiegmun/SPLConqueror/)
16 to 640 products
Intel Core2 Quad Q9400
2.66 GHz, 4 GB
Background Testing SAT Transform. Results
42 / 42Polytechnique Montréal, July 10, 2014
Thanks for your attention !!!
On the application of SAT solvers for
Search Based Software Testing

More Related Content

What's hot

Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryTim Menzies
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTscatherinewall
 
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...Abdel Salam Sayyad
 
Using Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorUsing Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorTim Menzies
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingJaguaraci Silva
 
Experimental design
Experimental designExperimental design
Experimental designDan Toma
 
Cause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case DesignCause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case DesignTechWell
 
Exploratory testing STEW 2016
Exploratory testing STEW 2016Exploratory testing STEW 2016
Exploratory testing STEW 2016Per Runeson
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...Chakkrit (Kla) Tantithamthavorn
 
Software testing using genetic algorithms
Software testing using genetic algorithmsSoftware testing using genetic algorithms
Software testing using genetic algorithmsNurhussen Menza
 
Practical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A ReviewPractical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A Reviewinventionjournals
 
Complexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software ArchitecturesComplexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software ArchitecturesTim Menzies
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Chakkrit (Kla) Tantithamthavorn
 
Industry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringIndustry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringPer Runeson
 
130411 francis palma - detection of process antipatterns -- a bpel perspective
130411   francis palma - detection of process antipatterns -- a bpel perspective130411   francis palma - detection of process antipatterns -- a bpel perspective
130411 francis palma - detection of process antipatterns -- a bpel perspectivePtidej Team
 

What's hot (20)

[Tho Quan] Fault Localization - Where is the root cause of a bug?
[Tho Quan] Fault Localization - Where is the root cause of a bug?[Tho Quan] Fault Localization - Where is the root cause of a bug?
[Tho Quan] Fault Localization - Where is the root cause of a bug?
 
Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern Discovery
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTs
 
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
 
Ssbse12b.ppt
Ssbse12b.pptSsbse12b.ppt
Ssbse12b.ppt
 
Using Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorUsing Developer Information as a Prediction Factor
Using Developer Information as a Prediction Factor
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software Testing
 
Experimental design
Experimental designExperimental design
Experimental design
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
 
VST2022.pdf
VST2022.pdfVST2022.pdf
VST2022.pdf
 
Cause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case DesignCause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case Design
 
Exploratory testing STEW 2016
Exploratory testing STEW 2016Exploratory testing STEW 2016
Exploratory testing STEW 2016
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
 
Software testing using genetic algorithms
Software testing using genetic algorithmsSoftware testing using genetic algorithms
Software testing using genetic algorithms
 
Practical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A ReviewPractical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A Review
 
Complexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software ArchitecturesComplexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software Architectures
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...
 
Industry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringIndustry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software Engineering
 
130411 francis palma - detection of process antipatterns -- a bpel perspective
130411   francis palma - detection of process antipatterns -- a bpel perspective130411   francis palma - detection of process antipatterns -- a bpel perspective
130411 francis palma - detection of process antipatterns -- a bpel perspective
 

Viewers also liked

Fútbol Al Máximo
Fútbol Al Máximo Fútbol Al Máximo
Fútbol Al Máximo carlosagr96
 
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization ProblemsEfficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problemsjfrchicanog
 
Hemorragia uterina anormal
Hemorragia uterina anormalHemorragia uterina anormal
Hemorragia uterina anormalOscar Fernando
 
AF POSHCHUPAILOV, Aleksandr (RUSSIAN-CHENG-DP2-AHTS-PSV)
AF POSHCHUPAILOV, Aleksandr (RUSSIAN-CHENG-DP2-AHTS-PSV)AF POSHCHUPAILOV, Aleksandr (RUSSIAN-CHENG-DP2-AHTS-PSV)
AF POSHCHUPAILOV, Aleksandr (RUSSIAN-CHENG-DP2-AHTS-PSV)Aleksandr Poshchupailov
 
GAMBARAN PENGETAHUAN IBU TERHADAP JADWAL PEMBERIAN IMUNISASI DASARPADA BAYI 0...
GAMBARAN PENGETAHUAN IBU TERHADAP JADWAL PEMBERIAN IMUNISASI DASARPADA BAYI 0...GAMBARAN PENGETAHUAN IBU TERHADAP JADWAL PEMBERIAN IMUNISASI DASARPADA BAYI 0...
GAMBARAN PENGETAHUAN IBU TERHADAP JADWAL PEMBERIAN IMUNISASI DASARPADA BAYI 0...Warnet Raha
 
Aprendizajes y competencias básicas en la educación primaria
Aprendizajes y competencias básicas en la educación primariaAprendizajes y competencias básicas en la educación primaria
Aprendizajes y competencias básicas en la educación primariaSonia Montañez Gómez
 
The Meisner Law Group - Community Association Seminar pt 3
The Meisner Law Group - Community Association Seminar pt 3The Meisner Law Group - Community Association Seminar pt 3
The Meisner Law Group - Community Association Seminar pt 3Robert M. Meisner
 
The Norwegian telecare and telehealth program. Experiences and results
The Norwegian telecare and telehealth program. Experiences and resultsThe Norwegian telecare and telehealth program. Experiences and results
The Norwegian telecare and telehealth program. Experiences and resultsTHL
 
Adam lu trip advisor bl_en
Adam lu trip advisor bl_enAdam lu trip advisor bl_en
Adam lu trip advisor bl_enAdam Lü
 
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN IBU BERSALINPADA NY.“R”DENGAN RE...
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN  IBU BERSALINPADA NY.“R”DENGAN RE...MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN  IBU BERSALINPADA NY.“R”DENGAN RE...
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN IBU BERSALINPADA NY.“R”DENGAN RE...Warnet Raha
 
Prueba historia 7º año
Prueba historia 7º añoPrueba historia 7º año
Prueba historia 7º añoyessy1180
 
Materi Cyber Public Relation 1
Materi Cyber Public Relation 1Materi Cyber Public Relation 1
Materi Cyber Public Relation 1Adinda Suryandani
 
LAPISAN OZON DAN PEMANASAN GLOBAL
LAPISAN OZON DAN PEMANASAN GLOBALLAPISAN OZON DAN PEMANASAN GLOBAL
LAPISAN OZON DAN PEMANASAN GLOBALSiti Farida
 

Viewers also liked (20)

Lei do-m.i
Lei do-m.iLei do-m.i
Lei do-m.i
 
Fútbol Al Máximo
Fútbol Al Máximo Fútbol Al Máximo
Fútbol Al Máximo
 
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization ProblemsEfficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
 
Hemorragia uterina anormal
Hemorragia uterina anormalHemorragia uterina anormal
Hemorragia uterina anormal
 
Educacion
EducacionEducacion
Educacion
 
AF POSHCHUPAILOV, Aleksandr (RUSSIAN-CHENG-DP2-AHTS-PSV)
AF POSHCHUPAILOV, Aleksandr (RUSSIAN-CHENG-DP2-AHTS-PSV)AF POSHCHUPAILOV, Aleksandr (RUSSIAN-CHENG-DP2-AHTS-PSV)
AF POSHCHUPAILOV, Aleksandr (RUSSIAN-CHENG-DP2-AHTS-PSV)
 
5. Seguridad
5.  Seguridad5.  Seguridad
5. Seguridad
 
GAMBARAN PENGETAHUAN IBU TERHADAP JADWAL PEMBERIAN IMUNISASI DASARPADA BAYI 0...
GAMBARAN PENGETAHUAN IBU TERHADAP JADWAL PEMBERIAN IMUNISASI DASARPADA BAYI 0...GAMBARAN PENGETAHUAN IBU TERHADAP JADWAL PEMBERIAN IMUNISASI DASARPADA BAYI 0...
GAMBARAN PENGETAHUAN IBU TERHADAP JADWAL PEMBERIAN IMUNISASI DASARPADA BAYI 0...
 
Aprendizajes y competencias básicas en la educación primaria
Aprendizajes y competencias básicas en la educación primariaAprendizajes y competencias básicas en la educación primaria
Aprendizajes y competencias básicas en la educación primaria
 
The Meisner Law Group - Community Association Seminar pt 3
The Meisner Law Group - Community Association Seminar pt 3The Meisner Law Group - Community Association Seminar pt 3
The Meisner Law Group - Community Association Seminar pt 3
 
A fase pré processual
A fase pré processualA fase pré processual
A fase pré processual
 
The Norwegian telecare and telehealth program. Experiences and results
The Norwegian telecare and telehealth program. Experiences and resultsThe Norwegian telecare and telehealth program. Experiences and results
The Norwegian telecare and telehealth program. Experiences and results
 
Adam lu trip advisor bl_en
Adam lu trip advisor bl_enAdam lu trip advisor bl_en
Adam lu trip advisor bl_en
 
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN IBU BERSALINPADA NY.“R”DENGAN RE...
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN  IBU BERSALINPADA NY.“R”DENGAN RE...MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN  IBU BERSALINPADA NY.“R”DENGAN RE...
MANAJEMENDANPENDOKUMENTASIANASUHANKEBIDANAN IBU BERSALINPADA NY.“R”DENGAN RE...
 
Prueba historia 7º año
Prueba historia 7º añoPrueba historia 7º año
Prueba historia 7º año
 
Materi Cyber Public Relation 1
Materi Cyber Public Relation 1Materi Cyber Public Relation 1
Materi Cyber Public Relation 1
 
PEMANASAN GLOBAL
PEMANASAN GLOBALPEMANASAN GLOBAL
PEMANASAN GLOBAL
 
LAPISAN OZON DAN PEMANASAN GLOBAL
LAPISAN OZON DAN PEMANASAN GLOBALLAPISAN OZON DAN PEMANASAN GLOBAL
LAPISAN OZON DAN PEMANASAN GLOBAL
 
Presentazione ITALSIMPATIA ENGLISH
Presentazione ITALSIMPATIA ENGLISHPresentazione ITALSIMPATIA ENGLISH
Presentazione ITALSIMPATIA ENGLISH
 
Motivos
MotivosMotivos
Motivos
 

Similar to On the application of SAT solvers for Search Based Software Testing

Recent Research in Search Based Software Testing
Recent Research in Search Based Software TestingRecent Research in Search Based Software Testing
Recent Research in Search Based Software Testingjfrchicanog
 
Track g semiconductor test program - testinsight
Track g  semiconductor test program - testinsightTrack g  semiconductor test program - testinsight
Track g semiconductor test program - testinsightchiportal
 
Introduction to testing.
Introduction to testing.Introduction to testing.
Introduction to testing.Jithinctzz
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)Amr E. Mohamed
 
STAMP at Open Cloud Forum by OW2 2017
STAMP at Open Cloud Forum by OW2 2017STAMP at Open Cloud Forum by OW2 2017
STAMP at Open Cloud Forum by OW2 2017STAMP Project
 
STAMP: Software Testing Amplification in DevOps, Etienne Sauvage, OW2con'17
STAMP: Software Testing Amplification in DevOps, Etienne Sauvage, OW2con'17STAMP: Software Testing Amplification in DevOps, Etienne Sauvage, OW2con'17
STAMP: Software Testing Amplification in DevOps, Etienne Sauvage, OW2con'17OW2
 
RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG Greg.Helton
 
Stamp Project presentation at OW2con'17
Stamp Project presentation at OW2con'17Stamp Project presentation at OW2con'17
Stamp Project presentation at OW2con'17STAMP Project
 
SE-CyclomaticComplexityand Testing.ppt
SE-CyclomaticComplexityand Testing.pptSE-CyclomaticComplexityand Testing.ppt
SE-CyclomaticComplexityand Testing.pptvishal choudhary
 
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...acijjournal
 
Cs 568 Spring 10 Lecture 5 Estimation
Cs 568 Spring 10  Lecture 5 EstimationCs 568 Spring 10  Lecture 5 Estimation
Cs 568 Spring 10 Lecture 5 EstimationLawrence Bernstein
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software TestingNishant Worah
 
Test driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + EclipseTest driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + EclipseUTC Fire & Security
 
Upstate CSCI 540 Unit testing
Upstate CSCI 540 Unit testingUpstate CSCI 540 Unit testing
Upstate CSCI 540 Unit testingDanWooster1
 
Chapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxChapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxketurahhazelhurst
 

Similar to On the application of SAT solvers for Search Based Software Testing (20)

Recent Research in Search Based Software Testing
Recent Research in Search Based Software TestingRecent Research in Search Based Software Testing
Recent Research in Search Based Software Testing
 
Track g semiconductor test program - testinsight
Track g  semiconductor test program - testinsightTrack g  semiconductor test program - testinsight
Track g semiconductor test program - testinsight
 
Introduction to testing.
Introduction to testing.Introduction to testing.
Introduction to testing.
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)
 
Testing methodology
Testing methodologyTesting methodology
Testing methodology
 
STAMP at Open Cloud Forum by OW2 2017
STAMP at Open Cloud Forum by OW2 2017STAMP at Open Cloud Forum by OW2 2017
STAMP at Open Cloud Forum by OW2 2017
 
Testing
TestingTesting
Testing
 
STAMP: Software Testing Amplification in DevOps, Etienne Sauvage, OW2con'17
STAMP: Software Testing Amplification in DevOps, Etienne Sauvage, OW2con'17STAMP: Software Testing Amplification in DevOps, Etienne Sauvage, OW2con'17
STAMP: Software Testing Amplification in DevOps, Etienne Sauvage, OW2con'17
 
RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG
 
Stamp Project presentation at OW2con'17
Stamp Project presentation at OW2con'17Stamp Project presentation at OW2con'17
Stamp Project presentation at OW2con'17
 
SE-CyclomaticComplexityand Testing.ppt
SE-CyclomaticComplexityand Testing.pptSE-CyclomaticComplexityand Testing.ppt
SE-CyclomaticComplexityand Testing.ppt
 
Testing
TestingTesting
Testing
 
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
 
Cursus phpunit
Cursus phpunitCursus phpunit
Cursus phpunit
 
Cs 568 Spring 10 Lecture 5 Estimation
Cs 568 Spring 10  Lecture 5 EstimationCs 568 Spring 10  Lecture 5 Estimation
Cs 568 Spring 10 Lecture 5 Estimation
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
Test driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + EclipseTest driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + Eclipse
 
Upstate CSCI 540 Unit testing
Upstate CSCI 540 Unit testingUpstate CSCI 540 Unit testing
Upstate CSCI 540 Unit testing
 
Chapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxChapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docx
 
C41041120
C41041120C41041120
C41041120
 

More from jfrchicanog

Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or BúsquedaSeminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsquedajfrchicanog
 
Combinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGBCombinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGBjfrchicanog
 
Quasi-Optimal Recombination Operator
Quasi-Optimal Recombination OperatorQuasi-Optimal Recombination Operator
Quasi-Optimal Recombination Operatorjfrchicanog
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosjfrchicanog
 
Enhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points AnalysisEnhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points Analysisjfrchicanog
 
Search-Based Software Project Scheduling
Search-Based Software Project SchedulingSearch-Based Software Project Scheduling
Search-Based Software Project Schedulingjfrchicanog
 
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...jfrchicanog
 
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean OptimizationEfficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimizationjfrchicanog
 
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing ProblemMixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problemjfrchicanog
 
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...jfrchicanog
 
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...jfrchicanog
 
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...jfrchicanog
 
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization ProblemElementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problemjfrchicanog
 
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...jfrchicanog
 
Problem Understanding through Landscape Theory
Problem Understanding through Landscape TheoryProblem Understanding through Landscape Theory
Problem Understanding through Landscape Theoryjfrchicanog
 
Searching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACOSearching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACOjfrchicanog
 
Finding Safety Errors with ACO
Finding Safety Errors with ACOFinding Safety Errors with ACO
Finding Safety Errors with ACOjfrchicanog
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problemsjfrchicanog
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problemsjfrchicanog
 
Elementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment ProblemElementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment Problemjfrchicanog
 

More from jfrchicanog (20)

Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or BúsquedaSeminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
 
Combinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGBCombinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGB
 
Quasi-Optimal Recombination Operator
Quasi-Optimal Recombination OperatorQuasi-Optimal Recombination Operator
Quasi-Optimal Recombination Operator
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitos
 
Enhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points AnalysisEnhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points Analysis
 
Search-Based Software Project Scheduling
Search-Based Software Project SchedulingSearch-Based Software Project Scheduling
Search-Based Software Project Scheduling
 
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
 
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean OptimizationEfficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
 
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing ProblemMixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
 
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
 
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
 
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
 
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization ProblemElementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
 
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
 
Problem Understanding through Landscape Theory
Problem Understanding through Landscape TheoryProblem Understanding through Landscape Theory
Problem Understanding through Landscape Theory
 
Searching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACOSearching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACO
 
Finding Safety Errors with ACO
Finding Safety Errors with ACOFinding Safety Errors with ACO
Finding Safety Errors with ACO
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problems
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problems
 
Elementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment ProblemElementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment Problem
 

Recently uploaded

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 

Recently uploaded (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

On the application of SAT solvers for Search Based Software Testing

  • 1. 1 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines On the application of SAT solvers for Search Based Software Testing Francisco Chicano Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga Spain
  • 2. 2 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines An optimization problem is a pair: P = (S,f) where: S is a set of solutions (solution or search space) f: S → R is an objective function to minimize or maximize If our goal is to minimize the function we search for: Global maximum Local maximum Global minimum Local minimum s’ ∈ S | f(s’) ≤ f(s), ∀s ∈ S Optimization Problem Search Software Testing SBSE
  • 3. 3 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines In a MO problem there are several objectives (functions) we want to optimize Multi-Objective Optimization Problem Search Software Testing SBSE
  • 4. 4 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Optimization Techniques EXACT APPROXIMATED AD HOC HEURISTICS METAHEURISTICS Gradient Lagrange multipliers Based on Calculus Dynamic Programming Branch and Bound Enumerative SA VNS TS Trajectory EA ACO PSO Population Optimization Techniques Search Software Testing SBSE
  • 5. 5 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Pseudocode of a simple EA Three main steps: selection, reproduction, replacement Variation operators à Make the population to evolve Recombination: exchange of features Mutation: generation of new features P = generateInitialPopulation (); evaluate (P); while not stoppingCondition () do P´ = selectParents (P); P´ = applyVariationOpterators (P´); evaluate(P´); P = selectNewPopulation (P,P´); end while return the best solution found Evolutionary Algorithm Search Software Testing SBSE
  • 6. 6 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Genetic Algorithms •  Individuals •  Recombination §  One point §  Two points §  Uniform •  Mutation → bit flips 0111000110 Binary Chromosome 0111000110 1100011001 000110 0111 011001 1100 1001 011010 1010 100101 0111010010 1 0 Evolutionary Algorithm Search Software Testing SBSE
  • 7. 7 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines •  What is software testing? –  It is the process of running a software product or a portion of it in a controlled environment with a given input followed by the collection and analysis of the output and/or other relevant information of the execution. •  What is the goal of software testing? –  To find out errors in a portion or the complete software product and/or to assure with a high probability that the software is correct (according to the requirements). Software Testing: Definition and Goal Search Software Testing SBSE
  • 8. 8 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Software testing is important because… 60.000 M$ annually (0,6% GDP) in USA Software errors 60 % of project cost Software Testing: Impact Search Software Testing SBSE
  • 9. 9 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Classification of testing techniques (by goal) –  Unit testing: test one module of the software. –  Integration testing: test the interfaces between different modules in the software. –  System testing: test the complete system. –  Validation testing: test if the software system fulfills the requirements. –  Acceptance testing: the client test whether the system is what s/he wants. –  Regression testing: after a change in the software test whether a new error has been introduced. –  Stress testing: test the system under a high load –  Load testing: test the response of the system under a normal load of work. Software Testing: Classification Search Software Testing SBSE
  • 10. 10 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines 1.0, 2.3 Error! Test case design Test case run Check of results 2.7, 5.4 JUnit, EasyMock, XMLUnit, Jmeter, Selenium Automatic test case generation Software Testing: Automatization Search Techniques Search Based Software Testing Search Software Testing SBSE
  • 11. 11 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Search Based Software Engineering Search Based Software Engineering (SBSE) Search Based Software Testing Search Software Testing SBSE
  • 12. 12 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Our Research on SBSE Search Software Testing SBSE • Software Project Scheduling • White-box Software Testing • Testing of Concurrent Systems (based on Model Checking) • Test Sequences for Functional Testing • Test Suite Minimization in Regression Testing • Software Product Lines Testing • Prioritized Pairwise Combinatorial Interaction Testing • Testing Complexity
  • 13. 13 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Problem Formulation SAT Transf. Results
  • 14. 14 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Test Suite Minimization Given: Ø A set of test cases T = {t1, t2, ..., tn} Ø A set of program elements to be covered (e.g., branches) E= {e1, e2, ..., ek} Ø A coverage matrix Find a subset of tests X ⊆ T maximizing coverage and minimizing the testing cost The single-objective version of this problem consists in finding a subset of sts X ✓ T with minimum cost covering all the program elements. In formal rms: minimize cost(X) = nX i=1 ti2X ci (2) ubject to: ej 2 E, 9ti 2 X such that element ej is covered by test ti, that is, mij = 1. The multi-objective version of the TSMP does not impose the constraint of ll coverage, but it defines the coverage as the second objective to optimize, ading to a bi-objective problem. In short, the bi-objective TSMP consists in nding a subset of tests X ✓ T having minimum cost and maximum coverage. ormally: minimize cost(X) = nX i=1 ti2X ci (3) maximize cov(X) = |{ej 2 E|9ti 2 X with mij = 1}| (4) e1 e2 e3 ... ek t1 1 0 1 … 1 t2 0 0 1 … 0 … … … … … … tn 1 1 0 … 0 M= 3 Test Suite Minimization Problem When a piece of software is modified, the new software is tested using previous test cases in order to check if new errors were introduced. This is known as regression testing. One problem related to regression testing Test Suite Minimization Problem (TSMP). This problem is equivalent t Minimal Hitting Set Problem which is NP-hard [17]. Let T = {t1, t2, · · · be a set of tests for a program where the cost of running test ti is ci an E = {e1, e2, · · · , em} be a set of elements of the program that we want to with the tests. After running all the tests T we find that each test can several program elements. This information is stored in a matrix M = [m dimension n ⇥ m that is defined as: mij = ( 1 if element ej is covered by test ti 0 otherwise The single-objective version of this problem consists in finding a subs tests X ✓ T with minimum cost covering all the program elements. In fo terms: minimize cost(X) = nX i=1 ti2X ci subject to: 8ej 2 E, 9ti 2 X such that element ej is covered by test ti, that is, mi Yoo & Harman Problem Formulation SAT Transf. Results
  • 15. 15 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines NP-hard Problems In many papers we can read… “Our optimization problem is NP-hard, and for this reason we use… … which do not ensure an optimal solution but they are able to find good solutions in a reasonable time.” •  Metaheuristic techniques •  Heuristic algorithms •  Stochastic algorithms As far as we know: no efficient (polynomial time) algorithm exists for solving NP-hard problems But we know inefficient algorithms (at least exponential time) Problem Formulation SAT Transf. Results
  • 16. 16 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines The SATisfiability Problem Can we find an assignment of boolean values (true and false) to the variables such that all the formulas are satisfied? The first NP-complete problem (Stephen Cook, 1971) If it can be solved efficiently (polynomial time) then P=NP The known algorithms solve this problem in exponential time (worst case) Nowadays, SAT solvers can solve instances with 500 000 boolean variables This means a search space of 2500 000 ≈ 10150514 State-of-the-art algorithms in SAT Problem Formulation SAT Transf. Results
  • 17. 17 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines The SATisfiability Problem My favourite problem SAT instance Use SAT solvers Optimal solution Main research question: Can we use the advances of SAT solvers to solve optimization algorithms up to optimality? Test Suite Minimization Translation to SAT Algorithms MiniSAT+ Experimental Results Problem Formulation SAT Transf. Results
  • 18. 18 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Outline Original TSM Instance PB Constraints SAT Instance F. Arito et al., SSBSE 2012 Problem Formulation SAT Transf. Results
  • 19. 19 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Pseudo-Boolean Constraints A Pseudo-Boolean (PB) constraint has the form: der to use SAT solvers to solve optimization problems, ate the constraints f(y)  B to Boolean formulas. To f Pseudo-Boolean constraint plays a main role. A Pseudo t is an inequality on a linear combination of Boolean va nX i=1 aixi B 2 {<, , =, 6=, >, }, ai, B 2 Z, and xi 2 {0, 1}. A PB co isfied under an assignment if the sum of the coe cient tisfies the relational operator with respect to B. nstraints can be translated into SAT instances. The simpl the PB constraint to an equivalent Boolean formula w The main drawback of these approaches is that the num grows exponentially with respect to the variables. In 2 2 ... fm(y)  Bm er to use SAT solvers to solve optimization problems, we sti te the constraints f(y)  B to Boolean formulas. To this a Pseudo-Boolean constraint plays a main role. A Pseudo-Boolea is an inequality on a linear combination of Boolean variables: nX i=1 aixi B 2 {<, , =, 6=, >, }, ai, B 2 Z, and xi 2 {0, 1}. A PB constraint sfied under an assignment if the sum of the coe cients ai for isfies the relational operator with respect to B. nstraints can be translated into SAT instances. The simplest appr the PB constraint to an equivalent Boolean formula with th The main drawback of these approaches is that the number of where . fm(y)  Bm In order to use SAT solvers to solve opti to translate the constraints f(y)  B to Bo concept of Pseudo-Boolean constraint plays a m constraint is an inequality on a linear combina nX i=1 aixi B where 2 {<, , =, 6=, >, }, ai, B 2 Z, and x to be satisfied under an assignment if the sum xi = 1 satisfies the relational operator with PB constraints can be translated into SAT in translate the PB constraint to an equivalent variables. The main drawback of these approac generated grows exponentially with respect t f2(y)  B2 ... fm(y)  Bm order to use SAT solvers to solve optimization problems, we slate the constraints f(y)  B to Boolean formulas. To this of Pseudo-Boolean constraint plays a main role. A Pseudo-Boo int is an inequality on a linear combination of Boolean variable nX i=1 aixi B 2 {<, , =, 6=, >, }, ai, B 2 Z, and xi 2 {0, 1}. A PB constra atisfied under an assignment if the sum of the coe cients ai satisfies the relational operator with respect to B. constraints can be translated into SAT instances. The simplest ap te the PB constraint to an equivalent Boolean formula with es. The main drawback of these approaches is that the number Can be translated to SAT instances (usually efficient) Are a higher level formalism to specify a decision problem Can be the input for MiniSAT+ Problem Formulation SAT Transf. Results
  • 20. 20 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Translating Optimization to Decision Problems Let us assume we want to minimize f(x) B f(x)  B Check B B B f(x)  B Check f(x)  B Check f(x)  B Check no no no yes Optimal solution found The same can be done with multi-objective problems, but we need more PB constraints s of generality that we want to find a solution x⇤ 2 X , f(x⇤ )  f(x) for all the solutions x 2 X. This opti- transformed in a series of decision problems in which lution y 2 X for which the constraint f(y)  B holds, nt integer values. This series of decision problems can l (minimal) solution of the optimization problem. The ows. We start with a value of B low enough for the be. We solve the decision problem to check that it is ter a loop in which the value of B is increased and the n. The loop is repeated until the result is satisfiable. e value of B is the minimal value of f in the search the decision problem is an optimal solution of the blem has several objective functions f1, f2, . . . , fm to nstraint for each objective function: f1(y)  B1 f2(y)  B2 . ose without loss of generality that we want to find a solution x⇤ 2 X izes3 f, that is, f(x⇤ )  f(x) for all the solutions x 2 X. This opti- oblem can be transformed in a series of decision problems in which ve is to find a solution y 2 X for which the constraint f(y)  B holds, Z takes di↵erent integer values. This series of decision problems can find the optimal (minimal) solution of the optimization problem. The ould be as follows. We start with a value of B low enough for the o be unsatisfiabe. We solve the decision problem to check that it is e. Then, we enter a loop in which the value of B is increased and the s checked again. The loop is repeated until the result is satisfiable. oop finishes, the value of B is the minimal value of f in the search the solution to the decision problem is an optimal solution of the n problem. ptimization problem has several objective functions f1, f2, . . . , fm to we need one constraint for each objective function: f1(y)  B1 f2(y)  B2 ... that minimizes3 f, that is, f(x⇤ )  f(x) for all the solutions x 2 X mization problem can be transformed in a series of decision problem the objective is to find a solution y 2 X for which the constraint f(y) where B 2 Z takes di↵erent integer values. This series of decision pr be used to find the optimal (minimal) solution of the optimization pr procedure could be as follows. We start with a value of B low eno constraint to be unsatisfiabe. We solve the decision problem to chec unsatisfiable. Then, we enter a loop in which the value of B is increa constraint is checked again. The loop is repeated until the result is Once the loop finishes, the value of B is the minimal value of f in space and the solution to the decision problem is an optimal solu optimization problem. If the optimization problem has several objective functions f1, f2 minimize, we need one constraint for each objective function: f1(y)  B1 f2(y)  B2 ... fm(y)  Bm In order to use SAT solvers to solve optimization problems, w … Problem Formulation SAT Transf. Results
  • 21. 21 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines PB Constraints for the TSM Problem e1 e2 e3 ... em t1 1 0 1 … 1 t2 0 0 1 … 0 … … … … … … tn 1 1 0 … 0 M= previous test cases in order to check if new errors were introduced. This is known as regression testing. One problem related to regression testing Test Suite Minimization Problem (TSMP). This problem is equivalent t Minimal Hitting Set Problem which is NP-hard [17]. Let T = {t1, t2, · · · be a set of tests for a program where the cost of running test ti is ci an E = {e1, e2, · · · , em} be a set of elements of the program that we want to with the tests. After running all the tests T we find that each test can several program elements. This information is stored in a matrix M = [m dimension n ⇥ m that is defined as: mij = ( 1 if element ej is covered by test ti 0 otherwise The single-objective version of this problem consists in finding a subs tests X ✓ T with minimum cost covering all the program elements. In fo terms: minimize cost(X) = nX i=1 ti2X ci subject to: 8ej 2 E, 9ti 2 X such that element ej is covered by test ti, that is, mi The multi-objective version of the TSMP does not impose the constra full coverage, but it defines the coverage as the second objective to opti leading to a bi-objective problem. In short, the bi-objective TSMP consi finding a subset of tests X ✓ T having minimum cost and maximum cove Formally: n ase is not included. We also introduce m binary variables e ch program element to cover. If ej = 1 then the correspondin by one of the selected test cases and if ej = 0 the elem y a selected test case. lues of the ej variables are not independent of the ti variable j must be 1 if and only if there exists a ti variable for whic 1. The dependence between both sets of variables can be wr ing 2m PB constraints: ej  nX i=1 mijti  n · ej 1  j  m. n see that if the sum in the middle is zero (no test is co j) then the variable ej = 0. However, if the sum is greater ow we need to introduce a constraint related to each objectiv o transform the optimization problem in a decision probl in Section 2.2. These constraints are: variables are not independent of the ti variables. A given and only if there exists a ti variable for which mij = 1 ence between both sets of variables can be written with nstraints: nX i=1 mijti  n · ej 1  j  m. (5) the sum in the middle is zero (no test is covering the ariable ej = 0. However, if the sum is greater than zero introduce a constraint related to each objective function the optimization problem in a decision problem, as we . These constraints are: nX i=1 citi  B, (6) mX the following 2m PB constraints: ej  nX i=1 mijti  n · ej 1  j  We can see that if the sum in the middle is zero (no element ej) then the variable ej = 0. However, if the sum ej = 1. Now we need to introduce a constraint related to ea in order to transform the optimization problem in a dec described in Section 2.2. These constraints are: nX i=1 citi  B, mX j=1 ej P, Cost Coverage Problem Formulation SAT Transf. Results
  • 22. 22 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Example e ough a small example how to model with PB con- SMP according to the methodology above described. E = {e1, e2, e3, e4} and M: e1 e2 e3 e4 t1 1 0 1 0 t2 1 1 0 0 t3 0 0 1 0 t4 1 0 0 0 t5 1 0 0 1 t6 0 1 1 0 -obj TSMP we need to instantiate Eqs. (5), (6) and  t1 + t2 + t4 + t5  4e1 (10)  t2 + t6  4e2 (11)  t1 + t3 + t6  4e3 (12)  t5  4e4 (13) t5 1 0 0 1 t6 0 1 1 0 If we want to solve the 2-obj TSMP we need to instantia (7). The result is: e1  t1 + t2 + t4 + t5  4e1 e2  t2 + t6  4e2 e3  t1 + t3 + t6  4e3 e4  t5  4e4 t1 + t2 + t3 + t4 + t5 + t6  B e1 + e2 + e3 + e4 P where P, B 2 N. If we are otherwise interested in the 1-obj version the form t1 + t2 + t4 + t5 1 t2 + t6 1 t1 + t3 + t6 1 t5 1 t1 + t2 + t3 + t4 + t5 + t6  B (7). The result is: e1  t1 + t2 + t4 + t5  4e1 e2  t2 + t6  4e2 e3  t1 + t3 + t6  4e3 e4  t5  4e4 t1 + t2 + t3 + t4 + t5 + t6  B e1 + e2 + e3 + e4 P where P, B 2 N. If we are otherwise interested in the 1-obj version th t1 + t2 + t4 + t5 1 t2 + t6 1 t1 + t3 + t6 1 t5 1 t1 + t2 + t3 + t4 + t5 + t6  B e2  t2 + t6  4e2 e3  t1 + t3 + t6  4e3 e4  t5  4e4 t1 + t2 + t3 + t4 + t5 + t6  B e1 + e2 + e3 + e4 P where P, B 2 N. If we are otherwise interested in the 1-obj version the for t1 + t2 + t4 + t5 1 t2 + t6 1 t1 + t3 + t6 1 t5 1 t1 + t2 + t3 + t4 + t5 + t6  B Bi-objective problem Single-objective problem (total coverage) f(x)  B e1  t1 + t2 + t4 + t5  6e1 e2  t2 + t6  6e2 e3  t1 + t3 + t6  6e3 e4  t5  6e4 Problem Formulation SAT Transf. Results
  • 23. 23 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Algorithm for Solving the 2-obj TSM Cost Coverage Total coverage With coverage=|E| increase cost until success Decrease cost and find the maximum coverage again and again Problem Formulation SAT Transf. Results
  • 24. 24 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Instances from the Software-artifact Infrastructure Repository (SIR) TSM Instances The result is an instance with fewer test cases but having the same P These transformed instances were solved using Algorithm 2. Table size of the test suites with and without the reduction for each progr observe a really great reduction in the number of test cases when t approach is used. Table 1: Details of the instances used in the experiments Instance Original Size Reduced Size Elements to co printtokens 4130 40 printtokens2 4115 28 replace 5542 215 schedule 2650 4 schedule2 2710 13 tcas 1608 5 totinfo 1052 21 In Table 2 we present the Pareto optimal set and the Pareto fr t is an instance with fewer test cases but having the same Pareto front. nsformed instances were solved using Algorithm 2. Table 1 shows the e test suites with and without the reduction for each program. We can really great reduction in the number of test cases when the previous is used. Table 1: Details of the instances used in the experiments stance Original Size Reduced Size Elements to cover rinttokens 4130 40 195 rinttokens2 4115 28 192 eplace 5542 215 208 chedule 2650 4 126 chedule2 2710 13 119 cas 1608 5 54 otinfo 1052 21 117 ble 2 we present the Pareto optimal set and the Pareto front for the Tests http://sir.unl.edu/portal/index.php ! Cost of each test: 1 Problem Formulation SAT Transf. Results
  • 25. 25 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Pareto Front 80 82.5 85 87.5 90 92.5 95 97.5 100 0 1 2 3 4 5 6 7 8 9 coveragelevel number of test cases Pareto front printtokens printtokens2 replace schedule schedule2 tcas totinfo printtokens printtokens2 replace schedule schedule2 tcas totinfo The result is an instance with fewer test cases but having the same Pareto front. These transformed instances were solved using Algorithm 2. Table 1 shows the size of the test suites with and without the reduction for each program. We can observe a really great reduction in the number of test cases when the previous approach is used. Table 1: Details of the instances used in the experiments Instance Original Size Reduced Size Elements to cover printtokens 4130 40 195 printtokens2 4115 28 192 replace 5542 215 208 schedule 2650 4 126 schedule2 2710 13 119 tcas 1608 5 54 totinfo 1052 21 117 In Table 2 we present the Pareto optimal set and the Pareto front for the instances described above. The columns “Tests” and “Elements” correspond to the functions cost and cov of the 2-obj TSMP. The column “Coverage” is the number of covered elements divided by the total number of elements. The optimal solution for the 1-obj TSMP can be found in the lines with 100% coverage, as explained in Section 3. It is not common to show the Pareto optimal set or the Pareto front in numbers in the multi-objective literature because only approximate Pareto fronts can be obtained for NP-hard problems. However, in this case we obtain the exact Pareto fronts and optimal sets, so we think that this The result is an instance with fewer test cases but having the same Pareto front. These transformed instances were solved using Algorithm 2. Table 1 shows the size of the test suites with and without the reduction for each program. We can observe a really great reduction in the number of test cases when the previous approach is used. Table 1: Details of the instances used in the experiments Instance Original Size Reduced Size Elements to cover printtokens 4130 40 195 printtokens2 4115 28 192 replace 5542 215 208 schedule 2650 4 126 schedule2 2710 13 119 tcas 1608 5 54 totinfo 1052 21 117 In Table 2 we present the Pareto optimal set and the Pareto front for the instances described above. The columns “Tests” and “Elements” correspond to the functions cost and cov of the 2-obj TSMP. The column “Coverage” is the number of covered elements divided by the total number of elements. The optimal solution for the 1-obj TSMP can be found in the lines with 100% coverage, as explained in Section 3. It is not common to show the Pareto optimal set or the Pareto front in numbers in the multi-objective literature because only approximate Pareto fronts can be obtained for NP-hard problems. However, in this case we obtain the exact Pareto fronts and optimal sets, so we think that this 80 0 1 2 3 tcas Fig. 1: Pareto fron Table 3: Information about clauses-t gorithm 2, average coverage and num rithms for the instances from SIR. Instance Ratio Algorithm 2 Original (s) Reduced ( printtokens 4.61 3400.74 2.1 printtokens2 4.61 3370.44 1.4 replace 4.62 1469272.00 345.6 schedule 2.19 492.38 0.2 schedule2 4.61 195.55 0.2 tcas 4.61 73.44 0.3 totinfo 4.53 181823.50 0.9 independent runs. However, the requ printtokens, printtokens2 and re rest of the programs. However, we sh the result is an optimal solution, as Tests Time Problem Formulation SAT Transf. Results
  • 26. 26 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Pareto Front Table 2: Pareto optimal set and Front for the instances of SIR. Instance Elements Tests Coverage Solution printtokens 195 5 100% (t2222, t2375, t3438, t4100, t4101) 194 4 99.48% (t1908, t2375, t4099, t4101) 192 3 98.46% (t1658, t2363, t4072) 190 2 97.43% (t1658, t3669) 186 1 95.38% (t2597) printtokens2 192 4 100% (t2521, t2526, t4085, t4088) 190 3 98.95% (t457, t3717, t4098) 188 2 97.91% (t2190, t3282) 184 1 95.83% (t3717) replace 208 8 100% (t306, t410, t653, t1279, t1301, t3134, t4057, t4328) 207 7 99.51% (t309, t358, t653, t776, t1279, t1795, t3248) 206 6 99.03% (t275, t290, t1279, t1938, t2723, t2785) 205 5 98.55% (t426, t1279, t1898, t2875, t3324) 203 4 97.59% (t298, t653, t3324, t5054) 200 3 96.15% (t2723, t2901, t3324) 195 2 93.75% (t358, t5387) 187 1 89.90% (t358) schedule 126 3 100% (t1403, t1559, t1564) 124 2 98.41% (t1570, t1595) 122 1 96.82% (t1572) schedule2 119 4 100% (t2226, t2458, t2462, t2681) 118 3 99.15% (t101, t1406, t2516) 117 2 98.31% (t2461, t2710) 116 1 97.47% (t1584) tcas 54 4 100% (t5, t1191, t1229, t1608) 53 3 98.14% (t13, t25, t1581) 50 2 92.59% (t72, t1584) 44 1 81.48% (t217) totinfo 117 5 100% (t62, t118, t218, t1000, t1038) 115 4 98.29% (t62, t118, t913, t1016) 113 3 96.58% (t65, t216, t913) 111 2 94.87% (t65, t919) 110 1 94.01% (t179) Problem Formulation SAT Transf. Results
  • 27. 27 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Reduction in the Number of Test Cases Since we are considering cost 1 for the tests, we can apply an a priori reduction in the original test suite e1 e2 e3 ... em t1 1 0 0 … 1 t2 1 0 1 … 1 … … … … … … tn 1 1 0 … 0 Test t1 can be removedThe result is an instance with fewer test cases but having the same Pareto front. These transformed instances were solved using Algorithm 2. Table 1 shows the size of the test suites with and without the reduction for each program. We can observe a really great reduction in the number of test cases when the previous approach is used. Table 1: Details of the instances used in the experiments Instance Original Size Reduced Size Elements to cover printtokens 4130 40 195 printtokens2 4115 28 192 replace 5542 215 208 schedule 2650 4 126 schedule2 2710 13 119 tcas 1608 5 54 totinfo 1052 21 117 Problem Formulation SAT Transf. Results
  • 28. 28 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Results with the Reduction The optimal Pareto Front for the reduced test suite can be found from 200 to 180 000 times faster Table 3: Information about clauses-to-variab gorithm 2, average coverage and number of te rithms for the instances from SIR. Instance Ratio Algorithm 2 Original (s) Reduced (s) Avg. printtokens 4.61 3400.74 2.17 100 printtokens2 4.61 3370.44 1.43 100 replace 4.62 1469272.00 345.62 100 schedule 2.19 492.38 0.24 100 schedule2 4.61 195.55 0.27 100 tcas 4.61 73.44 0.33 100 totinfo 4.53 181823.50 0.96 100 Problem Formulation SAT Transf. Results
  • 29. 29 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Background Testing SAT Transform. Results R. Lopez-Herrejon et al., ICSM 2013
  • 30. 30 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Software Product Lines A product line is a set of related products developed from a shared set of assets •  The products have similar characteristics •  The products have unique characteristics Advantages •  Support customization •  Improves reuse •  Reduce time to market Product Lines are Pervasive 19 BMW Car Configurator © RELH Background Testing SAT Transform. Results
  • 31. 31 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Software Product Lines In Software Product Lines the product is Software They are modelled using Feature Models Background Testing SAT Transform. Results
  • 32. 32 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Feature Models Fig. 1. Graph Product Line Feature Model Mandatory features Optional features Exclusive-or relations Inclusive-or relations Cross-tree constraints Graph Product Line Feature Model Background Testing SAT Transform. Results
  • 33. 33 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Testing of Software Product Lines Fig. 1. Graph Product Line Feature Model In a feature model, each feature (except the root) has one parent feature and can have a set of child features. Notice here that a child feature can only be included in a feature combination of a valid product if its parent is included as well. The root feature is always included. There are four kinds of feature relationships: i) Mandatory features are depicted with a filled circle. A mandatory feature is selected whenever its respective parent feature is selected. For example, features Driver and GraphType, ii) Optional features are depicted with an empty circle. An optional feature may or may not be selected if its respective parent feature is selected. An example is feature Weight, iii) Exclusive-or relations are depicted as empty arcs crossing over a set of lines connecting a parent feature with its child features. They indicate that exactly one of the features in the exclusive-or group must be selected whenever the parent feature is selected. For example, if feature Search is selected, then either feature DFS or feature BFS must be selected, iv) Inclusive-or relations are depicted as filled arcs crossing over a set of lines connecting a parent feature with its child features. They indicate that at least one of the features in the inclusive-or group must be selected if the parent is selected. If for instance, feature Algorithms is selected then at least one of the features Num, CC, SCC, Cycle, Shortest, Prim, and Kruskal must be selected. Besides the parent-child relations, features can also relate across different branches of the feature model with the so called Cross-Tree Constraints (CTC). Figure 1 shows some of the CTCs of our feature model2 . For instance, Cycle requires DFS means that whenever feature Cycle is an co pr an co by m va al w of of {0 xi co w bo C w pr ea de W co The GPL Feature Model is small: 73 distinct products But the number of products grows exponentially with the number of features… … and testing each particular product is not viable Background Testing SAT Transform. Results
  • 34. 34 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Testing of SPLs: Combinatorial Interaction Testing Assuming each features has been tested in isolation, most of the defects come from the interaction between features Combinatorial Interaction Testing consists in selecting the minimum number of products that covers all t-wise interactions (t-wise coverage). ZipMe Compress Extract Checksum Adapt GZIP ArchCheck CRC ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ 1 2 3 4 5 6 64 productsExample: 2-wise ICPL CASA Background Testing SAT Transform. Results
  • 35. 35 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Testing of SPLs: Multi-Objective Formulation If we don’t have the resources to run all the tests, which one to choose? Multi-objective formulation: minimize the number of products maximize the coverage (t-wise interactions) The solution is not anymore a table of products, but a Pareto set by the number of variables dj,k,l that as: 1X =1 fX k=j+1 3X l=0 dj,k,l (7) rogram is composed of the goal (7) (f 1) constraints given by (2) to (6) he FM expressed with the inequalities e number of variables of the program ). The solution to this zero-one linear with the maximum coverage that can ucts. ALGORITHM e for obtaining the optimal Pareto set This algorithm takes as input the FM l Pareto set. It starts by adding to the always in the set: the empty solution one arbitrary solution (with coverage ons of the set of features). After that h successive zero-one linear programs creasing number of products starting l model is solved using a extended . This solver provides a test suite with This solution is stored in the optimal m stops when adding a new product to crease the coverage. The result is the EXPERIMENTS s how the evaluation was carried out sis. The experimental corpus of our y a benchmark of 118 feature models, ts ranges from 16 to 640 products, that om the SPL Conqueror [16] and the s. The objectives to optimize are the //minisat.se/MiniSat+.html want the algorithm to be as fast as possible. For comparison these experiments were run in a cluster of 16 machines with Intel Core2 Quad processors Q9400 at 2.66 GHz and 4 GB running Ubuntu 12.04.1 LTS managed by the HT Condor 7.8.4 manager. Each experiment was executed in one core. We computed the Pareto optimal front for each model. Figure 2 shows this front for our running example GPL, where the total coverage is obtained with 12 products, and for every test suite size the obtained coverage is also optimal. As our approach is able to compute the Pareto optimal front for every feature model in our corpus, it makes no sense to analyze the quality of the solutions. Instead, we consider more interesting to study the scalability of our approach. For that, we analyzed the execution time of the algorithm as a function of the number of products represented by the feature model as shown in Figure 3. In this figure we can observe a tendency: the higher the number of products, the higher the execution time. Although it cannot be clearly appreciated in the figure, the execution time does not grow linearly with the number of products, the growth is faster than linear. Fig. 2. Pareto optimal front for our running example (GPL). GPL 2-wise interactions Background Testing SAT Transform. Results
  • 36. 36 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Testing of SPLs: Approach Original SPLT Instance PB Constraints SAT Instance Background Testing SAT Transform. Results
  • 37. 37 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Testing of SPLs: Approach Modelling SPLT using PseudoBoolean constraints All the variables are boolean {0,1} The values of the signature are: –  00 (both unselected) –  10 (only first selected) –  01 (only second selected) –  11 (both selected) 1 Variables Variable Meaning xp,i Presence of feature i in product p cp,i,j,k Product p covers the pair (i, j) with signature k di,j,k The pair (i, j) with signature k is covered by some product k takes values 0, 1, 2 and 3. 2 Equations For each p: The equations related to the constraints of the model For all p, i and j: 2cp,i,j,3  xp,i + xp,j  1 + cp,i,j,3 (1 Background Testing SAT Transform. Results
  • 38. 38 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Testing of SPLs: Approach Equations of the model –  For each product p •  Constraints imposed by the Feature Model –  For each product p and pair of features i and j tions ions related to the constraints of the model i and j: 2cp,i,j,3  xp,i + xp,j  1 + cp,i,j,3 2cp,i,j,2  xp,i + (1 xp,j)  1 + cp,i,j,3 2cp,i,j,1  (1 xp,i) + xp,j  1 + cp,i,j,3 2cp,i,j,0  (1 xp,i) + (1 xp,j)  1 + cp,i,j,3 and k: Background Testing SAT Transform. Results
  • 39. 39 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Testing of SPLs: Approach Equations of the model (cont.) –  For each pair of features i and j and signature k •  n is the number of products –  Objective: maximize coverage 2cp,i,j,0  (1 xp,i) + (1 xp,j)  1 + cp,i,j,3 nd k: di,j,k  X p cp,i,j,k  ndi,j,k umber of products max : X i,j,k di,j,k k: di,j,k  X p cp,i,j,k  ndi,j,k mber of products max : X i,j,k di,j,k Background Testing SAT Transform. Results
  • 40. 40 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Testing of SPLs: Approach  f: ,k,0 (2) (3) (4) (5) product. when all d dj,k,l, k with herwise. he dj,k,l lities for Algorithm 1 Algorithm for obtaining the optimal Pareto set. optimal set {;}; cov[0] 0; cov[1] Cf 2 ; sol arbitraryValidSolution(fm); i 1; while cov[i] 6= cov[i 1] do optimal set optimal set [ {sol}; i i + 1; m prepareMathModel(fm,i); sol solveMathModel(m); cov[i] |sol|; end while number of products required to test the SPL and the achieved Background Testing SAT Transform. Results
  • 41. 41 / 42Polytechnique Montréal, July 10, 2014 Introduction Test Suite Minimization Software Product Lines Testing of SPLs: Results of the redundant constraints can incr adding more constraints could help th a solution. We plan to study the right b and augmenting constraints. Second, feature models to further study the sca ACKNOWLEDGEME Funded by Austrian Science Fund N15 and Lise Meitner Fellowship M Ministry of Economy and Competitive contract TIN2011-28194 and fellowsh REFERENCES [1] P. Zave, “Faq sheet on http://www.research.att.com/ pamela/faq.h [2] K. Pohl, G. Bockle, and F. J. van der L Engineering: Foundations, Principles and Experiments on 118 feature models taken from SPLOT repository (http://www.splot-research.org) SPL Conqueror (http://wwwiti.cs.uni-magdeburg.de/~nsiegmun/SPLConqueror/) 16 to 640 products Intel Core2 Quad Q9400 2.66 GHz, 4 GB Background Testing SAT Transform. Results
  • 42. 42 / 42Polytechnique Montréal, July 10, 2014 Thanks for your attention !!! On the application of SAT solvers for Search Based Software Testing