Loading...

Messages

Proposals

Stuck in your homework and missing deadline?

Get Urgent Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework Writing

100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

A novel multiple black hole inspired meta-heuristic searching optimization for combinatorial testing

Category: Arts & Education Paper Type: Professional Writing Reference: IEEE Words: 7100

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

No

1

2

3

 

 

 

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.

  1. 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.
  2. 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.
  3. A benchmarking mathematical functions to provide a comprehensive comparison between PSO, the classical BH, and the BH variant MBH has been proposed.
  4. 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.

Our Top Online Essay Writers.

Discuss your homework for free! Start chat

Top Rated Expert

ONLINE

Top Rated Expert

1869 Orders Completed

ECFX Market

ONLINE

Ecfx Market

63 Orders Completed

Assignments Hut

ONLINE

Assignments Hut

1428 Orders Completed