ABSTRACT Combinatorial
searching-based software testing (CSST) is a challenging optimization
procedure. The achievement of optimal solutions involves a careful formulation
of the optimization problem and the selection of an appropriate approach. Metaheuristic
searching procedures have proven to be effective for solving CSST issues. Black
Hole (BH) optimization is among the more recently developed meta-heuristic
searching algorithms. While this approach has been observed to be an effective
alternative to particle swarm optimization, its operation is based on only one
swarm. To date, no efforts have been made to modify this approach to
accommodate multiple swarms. This study proposes a new variant of BH which
involves a combination of multiple swarms. The BH optimizer was modified from
continuous searching to binary searching and subsequently applied for solving
CSST. The evaluation is based on a modified-benchmarking mathematical function and
well-known CSST problems. This modified BH method is superior to that of the
original BH, and that of the established particle swarm optimization (PSO)
approach. In terms of CSST problems, binary multiple black hole (BMBH)
optimizations generated a reduction rate of 68%.
Key words: black
hole optimization, combinatorial searching-based software testing, meta-heuristic
searching, multiple black hole optimization, swarm meta-heuristic.
1. INTRODUCTION
of
A novel multiple black hole inspired meta-heuristic searching optimization for combinatorial
testing
Currently,
the emergence of a variety of complicated systems in these software productsis
on the rise. Consequently, the development of an effective process for
assessing the quality of these systems has proven to be an arduous task. A
typical way for testing any system is to consider the possible values of input
interaction, to generate suite cases that are independent of each other, and
can be associated with different faults. Through our observation, the emphasis
of software developed over the last two decades has been on customizability to
user needs. This makes the configuration of such software an important issue [1]. Software testing
entails the coverage of all possible values of input or configuration and their
interactions. However, given the current speed of hardware, the coverage of all
possible variable interaction is not practical. Assuming a system with 9 input
variables, each with 5 levels, the coverage of all possible combinations of its
input variables in the traditional way, would require an overall of
. This is considered an exceedingly high level of
hardware power(Lin et al., 2015).
Combinatorial testing (CT) is a sub-topic
in software engineering for testing purposes. The goal of CT is the conversion
of an original space of software variables, into a reduced space. This reduced
space is considered the input for the testing process to detect faults. It
facilitates the coverage of variable interactions to generate possible faults
with the exclusion of superfluous operations [2]. In the context of
software generation, an automatic generation of the reduced space is crucial
when it comes to cost-effectiveness, time-saving, and quality. In a review by [3], CT based on
searching approaches were termed search-based software testing (SBST).
In addressing the various challenges
associated with SBST, it wasorated that “There exists a structured parallel
approach for test data generation, but an idea of using search together with
parallel islands has not been explored with branch selection”. Existing search
algorithms need upgrading before they can be applied for parallel-based
searching.
Relevant literature documented numerous
approaches related to meta-heuristic searching for optimization. Each approach
is based on a certain concept or metaphor. Some approaches were inspired by
genetic evolution, and their suitability with regards to the environment [4],(Qi, Wang, &
Li, 2016) ,(Li, Wong, Gao,
Hu, & Hosono, 2017), while others were inspired by
social aspects(Prakash,
Tatale, Kondhalkar, & Bewoor, 2019). Literature related to heuristic
searching reported a wide range of applicable models. The mechanism and
searching process vary from one approach to another, and this is reflected in
the outcome. In the research of artificial intelligence (AI), opinions vary on
the superiority of one searching model over another. While some models generate
superior results in certain applications, they perform less effectively in
others [5]. It is essential
that the evaluation of meta-heuristic searching must be application-dependent.
Some models are applicable for evolutionary searching, while others are more
suitable for parallel searching. Researchers have recommended several models
with a parallel searching forte, to overcome the problems associated with SBST.
This study emphasized on the upgrading of an existing meta-heuristic searching
algorithm termed black hole (BH) based
Optimization,
into a parallel based searching algorithm. In this report, the upgraded
meta-heuristic algorithm is named as the multiple black hole (MBH) optimization
method.
The
current article is separated into the following sections: Section 2 provides preliminaries.
Section 3 presents literature survey. Next, section 4 gives background and
terms, problem statement and contributions are given in Section 5.Next, we
present our proposed approach in Section 6. Next, section 7gives evaluation and
experiments results. Finally, section 8 presents the conclusion and future
work.
2 PRELIMINARIES: Several important preliminaries are
to explain the data and theory presented in this article with the following
definitions:
Definition.1
Software
under test (SUT) is a software or application that is tested based on the
possible values of its parameters by assuming that SUT has
parameters
, the parameters can represent a possible input, or
certain event (internal or external), or a configuration variable as
illustrated in Example.1. SUT has
variables (
)that take any possible value such that
,
, …
. Based on this
approach, the application of CSST is appropriate for solving the unlimited
array of problems associated with the software engineering industry. There
arethree examples from different types of applications: the first is the
service application known as the pizza ordering system case study, the second
is the smart mobile system case study, and the third is a heart disease case
study.
Example .1
This
example is found in the article by Alsewari &
Zamli (2012)as well as in other relevant and
summarized in Table 1. The pizza
ordering system comes with five variables: pizza type, crust, toppings, size,
and delivery. Three variables take one of two values: (pizza type, crust, and
delivery) while two variables take one of three values: (toppings and size).
Therefore, the covering array combined with the number of cases equal to
.
Table 2 shows encoding for the covering
array for pizza ordering system case study.Also, Table 3shows
the dataset for the pizza ordering system case study.
TABLE 1:
THE PIZZA ORDERING SYSTEM CASE
STUDY
Pizza options (parameters)
|
|
Pizza type
|
Crust
|
Toppings
|
Size
|
Delivery
|
Configurations
|
Vegetarian Cheese
|
Thin Crust
|
Roasted Chicken
|
Large
|
Eat In
|
Meat Lover
|
Extra Thick
|
Ground Beef
|
Medium
|
Takeaway
|
|
|
Mushroom
|
Small
|
|
TABLE
2:
ENCODING
OF POSSIBLE VALUES OF INPUT TO THE PIZZA ORDERING SYSTEM CASE STUDY
Table
3:
THE
DATASET EXTRACTED FROM THE PIZZA ORDERING SYSTEM CASE study
No
|
Pizza type
|
Crust
|
Toppings
|
Size
|
Delivery
|
|
|
1
|
0
|
0
|
0
|
0
|
0
|
|
2
|
0
|
0
|
0
|
0
|
1
|
|
3
|
0
|
0
|
0
|
1
|
0
|
|
4
|
0
|
0
|
0
|
1
|
1
|
|
|
|
|
|
|
|
|
72
|
1
|
1
|
2
|
2
|
1
|
|
Example .2
The
smart mobile system, this system was also utilized as a case study where the
selection is based on its capacity for offering a wide range of factors and
levels as explained in Figure 1 [6]. This renders it
favourable for software testing. The factors were correlated such that, every
factor has its relationship among several other factors. Thesmart mobile system consists of 18
features which are divided into two categories: one-valued and two-valued
parameter. There are ten features in the two-valued parameters category (video
call, voice message, video message,basic colour, higher solution screen,camera,
video player, music player, radio and voice recorder) and eight features in the
one-valued parameter category (smart mobile system ,calls ,messages, GPS, screen,
media, voice call and text message). From this, the possible configurations
that need to be tested are (210×18=1024).
Figure 1: Smart
Mobile System Case Stu
Example .3
The
Heart Disease case study [7] for predictions
comprises seven variables: gender (2 levels: male/female), age (four levels:
lower than 20, between 20 and 40, between 40 and 60, and more than 60),
morning, evening, and sleeping
heartbeat
rate (three levels: lower than 60, between 60 and 100, more than 100), the
blood test (three levels: lower than 10, between 10 and 15, and more than 15).
The full extent of the problem is
.
The states can be represented as in Table 4.
No
|
|
|
|
|
|
|
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
|
|
|
|
|
|
|
|
|
2
|
2
|
4
|
3
|
3
|
3
|
3
|
TABLE 4
HEART DISEASE PREDICTIONS CASE STUDY
Definition.2: The test case
is an n-tuple
where
,
, …
If a fault is
generated when testing the system based on TC, then the test case has served in
the t-testing of the system. Based on previous examples like the pizza ordering
system, which include vegetarian cheese, extra thick, ground beef, large, and
takeaway is regarded a
.
Definition.3:All possible test cases are denoted
,
,
, …
. In previous examples, the encoded possible values
with integer levels = 0, 1, 2... is portrayed in Table 2. Table 3 displays the
.
Definition.4: Covering Array (CA) is
adopted as a mathematical object for the description of the generated t-way
test suit. Generally, SUT is composed of multiple parameters that
cross-interact with their associated values. In this research,
denotes the number of
parameters. The associated levels are denoted by
, while
is the interaction strength. When all
parameters
have the same number of values (
), the CA is
represented as CA (
. That is, six rows of
test cases generated from two columns of parameters with two values per
parameter, can be represented as
,
. When the numbers of
values are not similar for all parameters, CA can be represented as MCA
. For instance, an
array with 12 rows, where four parameters have two values, while one parameter
has three values, can be represented as MCA
.
Definition.5: Orthogonal Array (OA)
with strength
, is defined
as
, where the
size of the array is
and it fulfills the two conditions:
1- Each column of OA with an index
contains all possible elements from the set
where
2- Any subset of
columns covers all possible
-tuples
exactly
3. LITERATURE SURVEY of A novel multiple black hole inspired
meta-heuristic searching optimization for combinatorial testing
The study is separated into two sub-sections of the
literature of (CSST) (Section 3.1) and a review of meta-heuristic-based
approaches focusing on the parallel nature of some methods (Section 3.2).
A. CSST
TESTING
The literature on CSST is relatively extensive
embracing numerous approaches. However, all these approaches share a common
factor: they exploit the power of random combinatorial searching when they are integrated
with heuristics for determining the t-strength covering array. The formulation
of the optimization problem calls for an emphasis on two aspects: the devising
of the objective function and the selection of the approach employed (pure
based approach or hybrid-based approach [8].In terms of the objective function
formulation, some models use a minimization formulation, while others use a
maximization formulation. The fitness function is the total number of different
pairs, covered by all the test cases in an individual. If an individual covers
more different pairs than others, it is superior to the others (Qi et al., 2016)). Thus, their formulation of the problem is a
maximization problem, where an individual becomes a solution when it covers all
pairs. In other work, the number of covered d-tuples
was used as a fitness value for the candidate solution [9]. On the other hand,
investigating the objective function was used as the number of non-covered
interaction tuples covered by the candidate solution (Zamli et al., 2016). In
another situation, the number of uncovered tuples was taken as the cost of the
candidate solution which requires minimization (Lin et al., 2015). The cardinality of the set and the objective
value represented by the number of non-covered interaction tuples covered by Z
(Zamli et al., 2018).
In terms
of the type of meta-heuristic algorithm applied, Zamli et al., (2017) proposed a new variant of the teaching
learning-based optimization (TLBO) algorithm. Their meta-heuristic algorithm
comes with a Mamdani fuzzy inference system, which not only provides a solution
to trapping in a local optimum but also greater diversity. In an undertaking by [10], the firefly
meta-heuristic algorithm was applied as a test suite generator. Their
computational comparison between the firefly meta-heuristic algorithm, genetic,
and ant colony optimization revealed that firefly has a shorter optimization
time. Other models developed for solving combinatorial software testing using
meta-heuristic searching include the Memetic algorithm (MA) [11], particle swarm
optimization (PSO) [12],artificial bees
colony (ABC), harmony search algorithm (HSA) [13], bat algorithm (BA) (Alsariera et al., 2015b), flower pollination algorithm (FPA) [14] and [15].All these models are
considered pure models as they utilize a common pure meta-heuristic approach.
In terms
of hybrid-based approaches, several researchers integrated meta-heuristic
algorithms with other models. For example, Mahmoud & Ahmed (2015) integrated the particle swarm optimization
approach with fuzzy logic, for the tuning of
,
, and
. They built three
fuzzy inference systems to monitor the PSO performance, and to adjust the
,
, and
for optimization improving efficiency. [16]developed a hybrid
artificial bee colony (HABC) strategy, by hybridizing an artificial bee colony
(ABC) algorithm, with a particle swarm optimization (PSO) algorithm.
B. PARALLEL META-HEURISTIC SEARCHING
Parallel meta-heuristic searching refers to methods
that come with a parallel searching quality. Researchers have made efforts to
improve the exploration qualities of existing meta-heuristic searching
algorithms, by converting them into parallel searching algorithms. Gülcü & Kodaz (2015) developed the parallel comprehensive learning
particle swarm optimizer (PCLPSO). This optimizer, which comes with multiple
swarms based on the master-slave paradigm, operates both cooperatively and
concurrently. [17].Fashioned a
multi-swarm optimizer for multi-objective optimization. They used a hybrid
strategy decomposition and dominance (MSMO/2D), to improve
1.
Input: Definition
of the solution space
2.
Iteration // the maximum number of iteration
3.
Output: ymin // the minimum value of y=f(x)
4.
Sol // the best solution
5.
Loop :
6.
P =init ()
// create array that represents population of Stars Distributed
randomly in the solution space
7.
For
t=1 until Iteration do // the maximum
iteration
8.
[EP,
BH]=update Fitness (P) //
update the fitness value and the black hole
9.
P=moveStars
(P, BH) // movement the stars toward
black hole
10.
[EP,
BH]=update Fitness (P)
11.
R=update
Radius (EP, BH) // update
the radius of black hole
12.
For
each S inside P do
13.
If
(dis (BH, S) <R)
14.
Replace (P,
S)
15.
End
16.
End
17.
[EP,
BH]=update Fitness (P)
18.
If
(Stop criteria is met) then
19.
Exit
20.
End
21.
End
22.
ymin =min
(P)
23.
Sol=argmin
(p)
24.
End
25.
Function
y=f(x) //definition of objective
function
26.
Function
[EP, BH] =update Fitness (P)
27.
EP= {} // initialize the evaluation array of
solutions as Empty array
28.
For
each S inside P do
29.
y=f(S)
30.
EP.Add(y) // add y to the
solution evaluation set array EP
31.
End
32.
BH=P (index
of min (EP)) // the
optimization is doing a minimization
33.
End
34.
Function
P=moveStars (P, BH)
35.
For
each S inside P do
36.
S=S+rand
(0, 1)*(xBH-S)// move the solutions toward the BH
37.
End
38.
For
each dimension in Sdo
39.
If(S
(dimension) <Bmin (dimension))
40.
S
(dimension) =Bmin (dimension).
41.
Else if
(S (dimension)>Bmax (dimension))
42.
S
(dimension) =Bmax (dimension)
43.
End
44.
End
45.
End
46. Function R=update
Radius (P, EP, BH) // update
the radius of black hole
47. Sum=0
48. For
each S in P do
49 Sum=sum+EP(S)
50. End
51. R=EP (BH)/sum
52. End
|
convergence and
diversity, by splitting the primary swarm into several sub-swarms. Similarly, Wang (2015) devised a multi-swarm algorithm, called the
multi-swarm bat algorithm (MBA), for global optimization. This algorithm
recommends the exchange of information between different swarms. Rule hiding is
among several applications using the MBA [18].
4. BACKGROUND AND TERMS of A novel multiple black hole inspired meta-heuristic
searching optimization for combinatorial testing
Scientists
define the black hole (BH) as a part of the universe, where a great
gravitational force draws, and subsequently swallows, anything (including
light). The drawing of anything moving around the black hole occurs in a region
with a certain radius. This region is known as the event horizon (EH). The
light that crosses the EH will inevitably disappear into the black hole for
good. This has inspired researchers, such as Hatamlou (2013), to apply this concept as a metaphor, to a
point in the solution space, that has a better objective value than its
surroundings. This will serve to remove all nearby solutions within a given
radius. Researchers associate this point in the solution space to the BH, and
its surrounding region to the EH.
The
pseudocode of the BH algorithm is provided in Figure 2. The sequence for this
algorithm is as follows: (a) random initialization of the solutions in the
solution space, (b) evaluation of each solution using the objective function,
(c) selection of the solution corresponding to the minimum cost value to
represent the BH, (d) shifting of all solutions towards the BH, (e) conducting
of a fresh evaluation of the population, to update the BH with the new
solutions corresponding to the minimum cost value, (f) calculation of the
radius of the BH and replacement of solutions that cross the radius with new
solutions (g) a fresh evaluation to update the BH with the new solution
corresponding to the minimum cost value, and lastly (h) checking of the
stopping criterion (the number of iterations or the convergence of the fitness
value). The algorithm is brought to a close when the stopping criterion is
met. The terms, notations, and solutions
used in the methodology are provided in Table 5. The solution space is defined
as dimension n. Any solution is presented as star
, while the black hole
is
. Prior to operating
the algorithm, it is essential that
, which represents the
number of black-holes, be defined. The radius of the EH for each BH is denoted
as
.
TABLE 5:
THE SYMBOLS OF THE MBH ALGORITHM AND THEIR
INTERPRETATIONS
No
|
Symbol
|
Meaning
|
1
|
|
Objective function for optimization
|
2
|
|
Star in the MBH algorithm
|
3
|
|
Number of solutions
|
4
|
|
Black hole
|
5
|
|
Minimum allowed number of solutions inside black
hole i
|
6
|
|
Number of black-hole
|
7
|
|
Maximum number of black holes
|
8
|
|
The radius for each black hole
|
9
|
|
Population of stars for each black hole
|
10
|
|
Evaluate Population for each black hole
|
11
|
|
Energy inside the black hole
|
12
|
|
the minimum energy for the black hole before it is
dead
|
13
|
|
the maximum energy of the black hole when it was
born
|
14
|
|
the lower boundary of the solution space
|
15
|
|
the upper boundary of the solution space
|
16
|
|
black hole new
|
17
|
|
black hole old
|
18
|
It
|
Number of iterations
|
5. PROBLEM STATEMENT AND CONTRIBUTION
FIGURE 2: THE PSEUDOCODE OF
THE BLACK HOLE Algorithm
|
Among the recently developed meta-heuristic searching algorithms,
is the black hole (BH) algorithm [19]. This algorithm is
based on the blackhole phenomenon, and the behaviour of stars, during their
interaction with the BH. A star that gets too close to the black hole will be
swallowed by it. In the context of the BH algorithm, a new star will be
randomly generated to represent a new solution. This new star will be included
in the search. Hatamlou (2013) compared the black hole algorithm to other
meta-heuristic optimization algorithms. Among them, the performance of PSO was
observed to be exceptional. As presented in Section 3, our literature survey
identified CSST as one of the computational problems that are attained through
meta-heuristic searching. The computational difficulties associated with CSST
call for the application of a powerful meta-heuristic optimization. Considering
the substantial power of the multi-swarm-based optimization algorithm, the
modification of black hole optimization into multi-black hole with multiple swarms
of stars, delivered improved optimization results. Combinatorial t-way testing
is one of the most well-known optimization problems solvable through
meta-heuristic optimization. We successfully developed a multi-swarm variant of
the BH searching optimizer. Christened multiple black hole (MBH) optimization,
it was applied to the problem of CSST.
Based on the problem
statement stated, the following contributions are presented.
- A novel variant of the black hole optimization
approach based on the multi-swarm concept has been proposed which can be
characterized as a variant multiple black hole or MBH optimization. This
was supported by introducing the energy of the black hole concept to
facilitate the elimination of certain black hole swarms and to generate
fresh ones.
- A binary variant of the MBH optimization
algorithm has been offered and given the name of the binary multiple black
hole (BMBH) optimization algorithms. The purpose of this offer was to
solve the combinatory problems of CSST.
- A benchmarking mathematical functions to provide
a comprehensive comparison between PSO, the classical BH, and the BH
variant MBH has been proposed.
- A well-known benchmarking problem of CSST documented
in relevant literature has been applied to evaluate BMBH in conjunction
with its binary original variant BH, and particle swarm optimization
(PSO).
6. THE PROPOSED APPROACH of A novel multiple black hole inspired
meta-heuristic searching optimization for combinatorial testing
The purpose of this section is to describe the
methodology employed to realize the objectives of this investigation by
proposing a new variant of the BH algorithm named as the multiple black hole
(MBH) algorithm (Sub-section 6.1). Another algorithm of a binary variant of the
MBH algorithm named as the binary multiple black hole (BMBH) algorithm
(Sub-section 6.2) was also employed. The BMBH algorithm for solving CSST
(Sub-section 6.3) was demonstrated.
A. MBH Algorithm
In this section, the focus is on an explanation with
regards to the multiple black hole optimization algorithm. This algorithm
begins with the creation of the
population and the selection of a BH for each
one of them. The black hole
of population
is the solution that achieves the minimum
objective value within the stars of the population. The movement of the stars
of each BH towards the BH leads to an update of the BH, by the star that
achieves the lowest value of the objective function. Each update of the BH
corresponds to an increase in the energy of the BH, by one. The higher energy
of a particular BH indicates its greater potential for the future generation of
stars. In this study, the radius of the BH and eliminated the solutions that
crossed it was developed. The eliminated stars or solutions were then replaced
with a probability according to the existing energy within the black hole. The
BH with less energy will have a lower number of stars. Such a BH will meet the
omitting condition, or be removed.
1) Pseudocode of MBH:
The pseudocode multiple black hole algorithm MBH is
illustrated in Figure 3. As portrayed, the difference between BH and MBH has to
do with the latter’s acceptance of a pre-defined number of BHs, rather than a
solitary BH. The algorithm performs the search in parallel for NBH equal to the
number of black holes. Another concept introduced is the energy of BH at the
beginning of the search, or at the birth of the BH, when it holds maximum
energy. With each occurrence of non-improvement of the best solution in the
black hole, the energy will be decreased by one, until the arrival at the
negative energy of the BH. At this point, the said BH will be replaced by a
fresh one. This concept facilitates searching in multiple BHs simultaneously,
to enhance the probability of attaining better solutions. The last difference
is that MBH enables more smart and dynamic searching than BH that is dependent
on the initialization of its parameters due to the static nature that is caused
by lacking elimination and re-generation of swarms.
1.
Input: definition of
the solution space
2.
NBH // the number of black hole
3.
Ethreshold //
the minimum energy for the black hole before it is Dead
4.
Emax //
the maximum energy of the black hole when it was Born
5.
Bmin //
the lower boundary of the solution space
6.
Bmax //
the upper boundary of the solution space
7.
Iteration //
maximum number of iterations
8.
Output: ymin // the minimum value of
y=f(x)
9.
Sol // the best solution
10.
Loop
11.
Fori=1 until NBH do
12.
P(i)=init
// initialization the population of stars
13.
E(i)=Emax // the maximum energy
of the black hole
14.
[EP(i),BH(i)]=update Fitness(P(i))
15.
End
16.
For t=1 until
Iteration do // the maximum iteration to find minimum
value
17.
Fori=1 until
NBH do // number of Black Hole
18.
P(i)=moveStars(P(i),BH(i)) // movement the stars toward
BH for each
population
19.
R(i)=update Radius(EP(i),BH(i)) // update the radius of black hole
20.
For each S inside
P(i) do
21.
If (dis(BH(i),S)<R(i))
22.
Replace(P(i),S)
23.
End
24.
End
25.
[EP(i),BH(i),Improvement]=update
Fitness(P(i))
26.
If (Not
(Improvement)) then
27.
E(i)=E(i)-1 // decrease the black hole
energy by one
28.
End
29.
If (E(i)
<Ethreshold)
30.
P(i) = replace(P(i))
31.
[EP(i),BH(i)]=update Fitness(P(i))
32.
E(i)=Emax
33.
End
34.
End
35.
End
36.
ymin=min(P)
37.
sol=argmin(p)
38.
End
39.
Function y=f(x) //definition of objective function
40.
Function [EP, BH,
Improvement] =update Fitness (P, BHo)
41.
Improvement=0
42.
EP= {} //
initialize the evaluation array of solutions as Empty array
43.
For each S inside P
do
44.
y=f(S)
45.
EP. Add(y) // add y to the solution
evaluation set array EP
46.
End
47. BHn=P (index
of min (EP))
// the optimization is doing a minimization
48.
If
(BHn<BHo)
49. Improvement=1;
50. End
51.
End
52.
Function
P=moveStars (P, BH)
53. For each S inside P
do
54. S=S+rand (0,
1)*(xBH-S) // move
the solutions toward the BH
55.For each dimension
in S do
56. If (S
(dimension) <Bmin (dimension))
57. S (dimension) = Bmin (dimension) +rand
58. Else if (S
(dimension)>Bmax (dimension))
59.S (dimension) =
Bmax (dimension)-rand
60.Function R=update Radius
(P, EP, BH) //
update the Radius for BH
61.Sum=0
62. For each S in P
63. Sum=sum+EP(S)
64.End
65. R=EP (BH)/sum
66.
End |
2) Comparison
between MBH and BH
There are several differences between BH optimization
and the newly developed MBH optimization. While BH optimization involves the
use of a single BH during its search in the solutions space, MBH optimization
involves the use of the
black hole for the same purpose. Also, the MBH optimization algorithm comes
with the concept of energy of the BH. This concept serves to eliminate
non-active BHs, as well as BHs that do not show improvement with time. By
improvement, we mean the capacity of the algorithm, for searching out better
fitness values of the solution, representing the BH. In comparison to the BH
optimization algorithm, the MBH optimization algorithm is more effective for
searches in the solutions space. Additionally, the MBH optimization algorithm
can be relied on to
achieve better results with a lesser number of
iterations, than that required by the BH optimization algorithm. In both MBH
and BH optimization, the movement of stars beyond the permitted region of
search (violation of the constraint), will result in their clipping. This
renders their searching prowess less effective. The MBH optimization algorithm
overcomes this dilemma through the addition of random components after being
subjected to clipping.
B. Binary
Variant of both the BH and MBH Algorithms
The equation for defining the movement of stars toward
the black hole,
is random number between 0 and 1 the move
equation for the stars as follows:
The setback accompanying Eq. (1) is its
ineffectiveness when it comes to binary values because of the addition of a
second term to a binary value which causes a breaching of the binary
constraint, which is 0 or 1. In order to overcome this problem, we introduced a
parameter, which we named the pulling rate
. This approach generates a random number
between 0 and 1, where
denotes the index of the dimension. We checked
its value, and altered the value of
to
in compliance to Equation 2 below.
A small value of the pulling rate pr is preferred for
a diligent search in the solution space. The following example provides an
explanation on the performance of Equation 2.
Assuming one star has the value
, while the black
hole
,
, generated one random
number rd for each element of
Taking for granted that that
, then based on the
Equation 2, the value of
While the initial distance between the star
and the black hole was observed to be (
), the movement of the star in compliance to
Equation 2, altered this distance to 1. The similarity of the BMBH and BBH
concepts allows for the use of the same equation for moving the stars. The
addition of another subscript to the equation, serves to indicate the index of
the BH. Subsequently, we generated a
random number
between 0 and 1, where
denotes the index of the dimension. We
identified its value, and altered the value of
to
in compliance to Equation 3 below.
where
indicates the index of the black
hole,
CSST based on BMBH
To verify the covering array of strength t,
with the entire number of test cases, a function designed for this purpose was
employed. This function, which verifies the validity of the covering array,
returns a Boolean variable with a value of 0, if the covering condition for a
certain strength is not met, or the value of 1, if the covering condition for a
certain strength is met. Known as the cover CheckGR, the integration of this
function with the BBH and BMBH algorithms is portrayed in Figure 4. As can be
observed, the searching algorithm generates a random candidate solution and
delivers it to the objective function. The objective function comes with cover
CheckGR, which determines if the array has a covering property with strength t.
Then, if the covering property strength is met, the number of rows of the
covering array represents a reflection of the fitness values. The objective of
this exercise is the minimization of the number of rows. In a circumstance
where the covering property strength is not met, the fitness value is given as
infinity. This implies that the solution is no longer be included, in
iterations for the generation of new solutions.
7. EVALUATION AND EXPERIMENTAL
RESULTS of A novel multiple black hole
inspired meta-heuristic searching optimization for combinatorial testing
The evaluation process is separated into two sections.
In the first, MBH optimization is assessed and its performance compared with
the original BH optimization and PSO. Benchmarking mathematical functions were
employed for this exercise. In the second section, BMBH optimization is
assessed and its performance compared with BBH and BPSO. Several CSST problems
reported in relevant literature were referred to for this exercise. These two
sections are presented in sub-sections 7.1 and 7.2 respectively.
A. Benchmarking Mathematical Functions
In order to gauge the performance of the MBH
algorithm, it was compared with the BH and PSO algorithms, with respect to the
capacity for determining the optimal point, of the provided benchmark
optimization functions. The formulas of the mathematical functions, which cover
the true optimal, dimension, searching range, and setting of the algorithms in
terms of the number of solutions and number of iterations, are presented in
Table 6. MBH optimization converges closer to the optimal value than either BH
or PSO. Furthermore, BH optimization is a cut above PSO in most functions, and
similar in some. This comparison emphasizes the superiority of MBH optimization
over both BH optimization and PSO.
B.
Benchmarking Case Studies based on CSST
The Three
case studies (i.e. pizza ordering system,Heart disease system,
smart mobile system) were used to evaluate the performance of proposed BMBH and
BBH and compare them with BPSO. Each case study has its features and aspect of
industry. While Pizza ordering system considers the user as a client of
restaurants. Heart disease system considers the health care centre. On the other side,
smart mobile system offers wide range of factors and levels which makes it
suitable for software testing. From t-way testing point of view, all case
studies are different in the size of covering array, number of variables and
levels. The results for the three case studies were generated based on CSST. Table
7 shows the features of each case study.
The results
from a comparison between BMBH optimization, BBH optimization and BPSO for the
three literature case studies
(in Examples.1, 2 and 3) are presented in this section. The algorithms were
tested with the number of solutions and iterations equalling to 100 each. The resulting
numbers were used for expediting experimental operations, as well as for
increasing the number of solutions and iterations to generate better results.
For pizza ordering system problem,the full size of the problem is CA
cases.In a comparison exercise involving BPSO, BBH
optimization, and BMBH optimization, for the three values of t=2, t=3, and t=4,
it was observed that both BBH and BMBH are superior to BPSO in this area. It was
also revealed that BMBH achieved a lower cost value for t=2 with a reduction of
the full size from 72 to 22, and for t=3 with a reduction rate of the full size
from 72 to 35. Furthermore, as illustrated in Table8, the greatest reduction
rate of 68% for t=2 was recorded by BMBH because the original size was 72 and
it became after applying BMBH 22.
In
Figure 5For pizza ordering system
problem, a boxplot diagram based on 20 experiments performed for t=3,
shows that BMBH optimization is the only method that can effectively reduce the
full size of the case study. This is portrayed in Figure 5. Based on the figure,ascan
see that BBH and BMBH resultsalmost have similar tabulation of minimum cost but
BMBH do have better results in term of the means. However, by cross reference
the figure 5 with table 8, the tabulation of the result and the standard
deviation for both algorithm shows that both of them have almost similar
consistency in producing the results. This is due to the multi-swarm nature of
BMBH.Another factor is BMBH performance is the energy variable of the swarm.
For smart
mobile system,the full size of the problem is CA (
=1024) cases.
BMBH optimization reduced the full problem size from 256 to 100for t=2
and t=3, while BBH optimization reduced the full problem size from 256 to 104,also for t=2 and t=3. However, although BPSO reduced the full
problem size from 256 to 234 this was only for t=2 and t=3. In Table 9 displays
the reduction rate of each algorithm with respect to the full size of the
problem. This table makes clear that the highest reduction rate was achieved by
BMBH optimization (60% for t=2,t=3 and t=4).
Also, according to the boxplot diagram for smart
mobile system displayed in Figure 6, BMBH optimization is a cut above the rest
when it comes to reducing the problem size. It exhibited a lower standard
deviation, as well as a lesser number of rows, when compared to BPSO and BBH
optimization. Based on the figure, as can see that BBH and BMBH results almost
have similar tabulation of minimum cost but BMBH do have better results in term
of the mean and standard deviation. Also, by cross reference the figure 6 with
table 9, the tabulation of the result and the standard deviation for both
algorithm shows that BMBHhassuperior results. Again, this is due to the
multi-swarm nature of BMBH. Another
factor is BMBH performance is the energy variable of the swarm and it has high
exploration power in the searching space.
For Heart Disease Prediction problem, the full size of the problem is CA (
. It was observed that
BMBH optimization reduced the full problem size from 1296to 587, for t=2
and t=3.while BBH optimization reduced the full problem size from 1296to 610, also for t=2 and t=3.
However, while BPSO reduced the full problem size from 1296 to 883, this was
only for t=2 and t=3. Table 10 displays the reduction rate of each algorithm
with respect to the full size of the problem. This table makes obvious that the
highest reduction is associated with BMBH optimization, which recorded 54%for
t=2,t=3 and t=4.
Also, the
boxplot diagram for Heart Disease
problem(Figure 7) reveals BMBH optimization to be superior to the rest in terms
of problem size reduction. It exhibited a lower standard deviation, as well as
a lesser number of rows, in comparison to BPSO and BBH optimization. Also, by
cross reference the figure7 with table 10, the tabulation of the result and the
standard deviation for both algorithm shows that BMBHhasbettermean and higher
standard deviation. Again, the superiority is in the multi-swarm nature of
BMBH. Another factor is BMBH performance
is the energy variable of the swarm and powerful searching is high.
9. CONCLUSION AND FUTURE WORK
CSST represents a challenging optimization problem.
This challenge has been treated with a proposal of the application of the
multiple swarm concept to existing swarm methods. To achieve this, the existing
meta-heuristic searching optimization method known as BH optimization has been
upgraded to a multiple swarm-based BH optimization method, and named as MBH
optimization. In this paper, the
application of MBH on CSST by the conversion of MBH optimization into a binary
variant called BMBH optimization was employed. BMBH was able to generate more
optimal solutions to CSST problems comparing with BBH and BPSO.
This is interpreted by the exploration power of CSST which
is able to generate swarm distribution in various regions in the solution space
comparing with BBH. Another aspect of the powerful searching performance of
BMBH is the energy variable which increases or decreases according to the
successfulness of the black hole in finding more optimal solutions and updating
its value. This factor has not existed in classical BH nor binary variant of
BH.
In the future, the optimization will be extended to
accept various constraints of the variables which makes it more complicated than
only boundary constraints. Another direction of search is to incorporate
re-enforcement learning which makes the searching subject to training, hence,
more fruitful.
10.REFERENCES of A novel multiple black hole inspired
meta-heuristic searching optimization for combinatorial testing
[1]
|
M. B. C. &. M. B. D. B. J.
Garvin, "Evaluating improvements to a meta-heuristic search for
constrained interaction testing," https://doi.org/10.1007/s10664-010-9135-7,
p. 61–102, 2011.
|
[2]
|
C. L. S. C. K. S. D. H. &. L.
Z. J. Lin, " An Efficient Two-Mode Meta-Heuristic Algorithm for
Combinatorial Test Generation," TCA?, 2015.
|
[3]
|
M. K. &. P. Kumar, "An
extensive evaluation of search-based software testing?: a review," Soft
Computing, 2017.
|
[4]
|
G. Algorithm, "Genetic
Algorithm 4.1.," n.d..
|
[5]
|
A. Review, "Metaheuristic
Techniques for Test Case Generation?," vol. 1, no. 11, p. 158–171, 2018.
|
[6]
|
Y. A. M. M. A. &. Z. K. Z.
Alsariera, "A Bat-inspired strategy for pairwise testing," ARPN
Journal of Engineering and Applied Sciences, 2015a.
|
[7]
|
C. S. &. C. M. E. Dangare,
"Improved Study of Heart Disease Prediction System using Data Mining
Classification Techniques," vol. 47, no. 10, p. 44–48, 2012.
|
[8]
|
A. E. Abaye, "System Analysis
and Optimization of photovoltaic – wind hybrid system : Review," pp.
197-201, 2018.
|
[9]
|
B. S. Ahmed, "Engineering
Science and Technology , an International Journal Test case minimization
approach using fault detection and combinatorial optimization techniques for
configuration-aware structural testing.," Engineering Science and
Technology, an International Journal, vol. 19, no. 2, p. 737–753, 2016.
|
[10]
|
Y. A. M. M. A. &. Z. K. Z.
Alsariera, "SPLBA : An Interaction Strategy for Testing Software Product
Lines Using the Bat-Inspired Algorithm," p. 148–153, 2015b.
|
[11]
|
A. A. &. P. M. G. Fraser,
"A Memetic Algorithm for whole test suite generation," The
Journal of Systems & Software, pp. 1-17, 2014.
|
[12]
|
B. S. &. Z. K. Z. Ahmed,
"A variable strength interaction test suites generation strategy using
Particle Swarm Optimization," The Journal of Systems & Software, vol.
84, no. 12, p. 2171–2185, 2011.
|
[13]
|
A. R. A. &. Z. K. Z. Alsewari,
"Full Length Research Paper A harmony search based pairwise sampling
strategy for combinatorial testing," vol. 7, no. 7, p. 1062–1072, 2012b.
|
[14]
|
A. B. A. A. R. A. T. N. M. &.
Z. K. Z. Nasser, "Pairwise test data generation based on flower
pollination algorithm," Malaysian Journal of Computer Science, 2017.
|
[15]
|
A. B. Z. K. Z. &. A. B. S.
Nasser, "Dynamic Solution Probability Acceptance within the Flower
Pollination Algorithm for t-way Test Suite Generation," pp. 1-7, n.d..
|
[16]
|
A. K. R. H. &. B. S. Alazzawi,
"Hybrid Arti fi cial Bee Colony Algorithm for t -Way Interaction Test
Suite Generation.," Springer International Publishing, 2019.
|
[17]
|
S. M. E.-g. E. S. S. Sedarous,
"Multi-swarm multi-objective optimization based on a hybrid
strategy," Alexandria Engineering Journal, 2017.
|
[18]
|
H. N. &. K. H. K. Eddine,
"Multi-swarm bat algorithm for association rule mining using multiple
cooperative strategies," Applied Intelligence, 2016.
|
[19]
|
M. F. &. A. Hatamlou,
"Solving optimization problems using black hole algorithm," Journal
of Advanced Computer Science & Technology, vol. 4, no. 1, p. 68,
2015.
|