Learning Cuckoo Search Strategy for t-way Test Generation

. The performance of meta-heuristic algorithms highly depends on their exploitation and exploration techniques. In the past 30 years, many meta-heuristic algorithms have been developed which adopts different exploitation and exploration techniques. Several studies reported that the hybrid of meta-heuristics algorithms often perform better than its corresponding original algorithm. This paper presents a new hybrid algorithm; called Learning Cuckoo Search (LCS) strategy based on the integration student phase from Teaching Learning based Optimization (TLBO) Algorithm. To evaluate the developed algorithm, we use the problem of t-way test generation as our case study. The experiment results show that LCS has better performance as compared as to the original Cuckoo Search as well many other existing strategies.


Introduction
The performance of meta-heuristic algorithms highly depends on their search technique capabilities. Often, the performance of meta-heuristic algorithms depends on their exploitation and exploration strategy. Exploitation explores the promising regions in the hope to find better solutions while the exploration ensures that all regions of the search space have been visited. Usually, a good balance between intensive and efficient exploration plays an important part in the performance of meta-heuristic algorithms [1].
Concerning exploitation and exploration techniques, GA, for instance, adopts selection, and crossover, mutation operations. PSO adopts as two search approach: search around overall best ðgbest) and search around personal best ðpbest). CS depends on Levy flight and elitism technique. TLBO divides the search into teacher and learner phases.
Each algorithm has its strengths and limitations as there is no single algorithm that is superior for all optimization problems. For these reasons, the search for a new algorithm is justified by developing a new meta-heuristics algorithm. Experiments studies reported that the hybrid of meta-heuristics algorithms often perform better than its corresponding origin algorithm [14]. For example, He et al. demonstrated a hybridized Variable Neighbourhood search with TS to minimize the discrete time/cost trade-off problem [15]. Yildiz presented a new hybrid algorithm based on Hill Climbing local search and Artificial Immune Algorithm for solving general optimization problem [16]. Wang et al. adopted SA and GA algorithms to optimize the cutting conditions in plain milling [17].
Building from the aforementioned prospect, the main focus of this work to present a new hybrid algorithm, called Learning Cuckoo Search strategy (LCS), based on the integration of Cuckoo search with the student phase from Teaching Learning based Optimization algorithm (TLBO). Our hybridization approach is unique from existing hybridizations of CS as we use the peer learning phase operator during the elitism phase of the Cuckoo search algorithm. As a case study, we adopt LCS for the t-way test generation problem. In a nutshell, t-way test generation problem is a sampling technique to select a sub-set of test cases that can be used to test overall system such that every t combination of input values (where t refer to interaction strength) is covered at least one time [18].
To this end, much recent works on t-way strategies are focusing using a single meta-heuristic algorithm (such as TS, SA, GA, ACA, PSO, and HS, to name a few [18][19][20][21]). Although useful, existing work has not sufficiently dealt with hybrid meta-heuristic algorithm (i.e. combinations of two or more meta-heuristic algorithms) as the backbone for t-way strategies. Taking this challenge has led us toward the current work.
The organization of this paper is as follows. In Sect. 2, an overview on how t-way testing works is provided. Section 3 reviews existing t-way strategies. Section 4 describes the proposed strategy, while Sect. 5 highlights and discusses the results. Lastly, Sect. 6 gives the conclusion and future work.

Problem Definition of t-way Testing
To illustrate the concept of t-way testing, consider a Car Ordering System (COS) example. The system allows for buying and selling cars in Malaysia. The system allows two types of booking; online booking or in store during Opening hours or closing hours. Here, this system consists of five inputs (i.e. Order category, Location, Car brand, Order type and Order time), three parameters with two values, one parameter with nine values, and one parameter with one value. The system can be summarized in Table 1.
In COS, there are 72 combinations need to be tested for ideal testing (i.e. exhaustively testing which considers all interaction strength, t ¼ 5). By considering two-way interaction, the reduction of test suite size can be achieved 72 to 9 test cases as shown in Table 2.
The same generalization can be done for 3-way and so forth. It is up to the creativity and the knowledge of the test engineers to decide on the right t value based on the testing requirement at hand. Researchers often advocate the best range of values for t is from 2 to 6.

Related Work
Generally speaking, there are two main domains of the existing works on t-way testing: algebraic and computational methods [22]. Algebraic methods construct based on lightweight mathematical functions without enumerate any combinations. Strategies of this approach (e.g. Combinatorial Test Services (CTS) strategy and TConfig [23]) are restricted for small configurations ðt 3Þ.
Computational methods offer flexibility to address large configuration. As the name suggests, computational approaches use pure computation strategies or meta-heuristic algorithms to construct the test cases. Strategies adopting computational methods can be categorized into two categories: one-test-at-a-time (OTAT) and one-parameterat-a-time (OPAT) strategies. Computational methods mainly based on generating all possible combinations (i.e. interaction elements) according to system's configurations.
OPAT strategies start by constructing a completed test suite for the smallest interaction parameters, then in every iteration one parameter (i.e. one column) are added until all the parameters are covered. In-parameter-order (IPO) [24] is the pioneer work in this respect. Many improvements to the basis of IPO strategy have been developed such as that of IPOG-D [25], IPOG [26], IPOF and IPAD2 [27] to obtain the smallest test sizes and fast execution times. Concerning OTAT strategies, a complete test case is constructed per iteration that covers the maximum number of uncovered interaction elements. The same procedure is repeated until all interaction elements are covered. In the literature, numerous tools and strategies have developed based on OTAT approach such as Automatic Efficient Test Generator (AETG) [28], Classification-Tree Editor eXtended Logics (CTE-XL) [29], Pairwise Independent Combinatorial Testing (PICT) [30], Deterministic Density Algorithm (DDA) [31,32], Test Vector Generator (TVG) [33], GTWay [34], Jenny [35], and WHITCH [36].
Recently, meta-heuristic algorithms have been adopted as the backbone for t-way test suite generation. In general, meta-heuristic-based strategies start with a random set of solutions. These solutions are subjected to a series of search operation in an attempt to improve them. During each iteration, the best candidate solution is selected and added to the final test suite. In the literature, many meta-heuristic algorithms have been successfully applied for t-way testing such as TS [37], SA [38], GA [39], ACA [39], PSO [22,40], HS [18], and CS [41].
Stardom [20] presented a description of adopting SA, GA and TS algorithms for two-way testing. SA [38] is a single-based physical Algorithm, inspired from the physical annealing process. The algorithm starts searching from one position and then employ neighborhood search in a local region in attempt to find better solution. SA allows moving to poor solution with acceptance probability to avoid stuck in a local minimum solution. GA is an early algorithm for adopting a population-based algorithm in t-way testing. it starts finding optimal test case from many positions and then repeated apply selection, crossover, and mutation operations in order to mimic natural selection of biological evolution. Similar to SA, TS accept a worse move if no improving move is available. TS utilizes memory structures (termed Tabu list) for guiding the search process (i.e. to remember the visited solutions).
Later on, Cohen extended SA to support 3-way interaction testing [42], and Shiba et al. extended GA and ACO to support 3-way interaction testing [43]. ACO mimics the behavior of colonies of ants for finding food paths. Here, each test case represents the quality of the paths to the food and the food represents the value of the parameter. ACA use trails of a chemical substance, called as pheromone which reinforce over time. Pheromone enables other ants to find short paths of the food source. Comparative experiments between SA, TS and GA conducted by Colbourn et al. demonstrate that SA performs better than TS and GA [38].
Chen et al. [44] implemented PSO algorithms for 2-way testing and [21] for t-way testing. The algorithm mimics the swarm behavior of bird and fish swarm in searching food. Based on simple formulae, the population (i.e. called a swarm) moves in the search space, guided by global best and personal best in attempt to find better solution.
Recently, [18] adopted HS for design and implementation a new t-way strategy called Harmony Search Strategy (HSS). HS is inspired by the behavior of musicians, to produce a new musical tone. The strategy support high interaction strengths (i.e. t ! 15).
Nasser et al. [45] have implemented the Flower pollination based strategy (FPA) for generating t-way test generation. FPA is also used for generating sequence t-way test suite [46]. Inspired by the pollination behavior of flowering plants, FPA can be represented as two steps (i.e. Global Pollination and Local Pollination), controlled by probability parameter. Global Pollination step exploits lévy flight to transfer the pollen to another flower while local pollination transfers the pollen to female part within the same flower. In similar work, Alsariera adopted Bat Algorithm for t-way testing [47,48]. The algorithm is inspired by the hunting behavior of Microbats which are able to find its prey in complete darkness.
Recently, Zamli et al. [49] proposed a new hyper-heuristic based strategy called High Level Hyper-Heuristic (HHH). In HHH, Tabu search algorithm serves as the master algorithm (i.e. High level) to control other four low level algorithms(LLH); Particle Swarm Optimization, Teaching Learning based Optimization, Cuckoo Search Algorithm and Global Neighborhood Algorithm. To ensure high performance, HHH defines a new acceptance mechanism for the selection LLH algorithm, relies on three operations (i.e. diversification, intensification and improvement). Further experiments have been done in [50] with new acceptance mechanism based on fuzzy inference system and new LLH operations (i.e. GA's crossover search operator of, TLBO's learning search operator, FPA's global Pollination, and Jaya algorithm's search operator).
Building from earlier approach, Zamli et al. presented [51] a new strategy, called Adaptive Teaching Learning-Based Optimization (ALTBO). ATLBO improves the performance of standard TLBO resulting from a good balance between intensification and diversification through the adoption of fuzzy inference rules.

Proposed Strategy
This section describes the Learning Cuckoo Search Strategy (LCS) strategy based on the hybridization of Cuckoo Search with the student phase of Teaching Learning based Optimization algorithm.

Cuckoo Search
CS is one of the latest nature inspired algorithms inspired from brood parasitic behavior of Ani and Guira cuckoos [12]. Cuckoo has an aggressive reproduction strategy in that they lay their eggs in the nests of other host birds. In order to increase the hatching probability of their own eggs, they often remove the eggs of the host bird.
Concerning its corresponding algorithm, CS initially generates a population of nests randomly. The nest is updated using Levy Flight, based on the following equation: To mimic the removal of host eggs, CS proposes elitism technique which is controlled by the probability (pa). Figure 1 summarizes the complete CS algorithm.

Teaching-Learning Based Optimization
Teaching-Learning Based Optimization (TLBO) algorithm is proposed by Rao, et al. [52]. The algorithm inspired from the classroom setting between a teacher and learners. In general, TLBO can view as two phases: Teacher Phase and Learner Phase. Here, the student can learn from the teacher or from his/her partner. In TLBO, the population consider as two groups teachers and learners. At each iteration, TLBO undergoes the two phases sequentially.
Teacher Phase attempts to improve individual solution x i , by moving their position toward their teacher (Eq. 2): Learner Phase represents local search's part in TLBO. This phase attempts to explore the solution around each individual. Each individual x i improves its knowledge by interacting with its random peer x i then move its position to new learner's position. The individual moves to learner, if only there is improvement (Eq. 3), otherwise move toward Eq. 4:

Learning Cuckoo Search
LCS is a composition of two main steps: generating interaction elements which represent the search space and find optimal t-way test suite using meta-heuristic algorithm. As mentioned previously, the core parts of the CS algorithm are generating new solutions using Levy Flight and replacing the worst nests by new nest using elitism technique. Although CS has good capability for exploration the search space efficiently, many studies have shown CS has local conversion issues as the algorithm can easily be trapped in local minima [53][54][55]. Addressing this issue, the proposed strategy integrates CS with learner phase from TLBO. Original CS replaces the worst by new nest generated randomly. Our proposed strategy generates the new nests as part of elitism based on learner phase of TLBO. Figure 2 illustrates the proposed Learning Cuckoo Search Algorithm (LCS).

Results
In order to evaluate the performance of LCS, first, we compare the convergence rate of LCS with its counterparts CS, and then LCS is compared against other existing strategies including CS. The parameters of LCS are set at Pa = 0.8, population size = 30 and the maximum number of improvements = 300.

Convergence Rate Analysis
In order to evaluate the performance of the proposed strategy against the original CS, the convergence rate for different systems is studied. Here, convergence rate is used to measure how fast meta-heuristic algorithms converge (i.e. covering all the required interactions) per generation. We apply CS and LCS on two systems as shown in Table 3. System column refers to system configuration in that y x means that this system has x parameters, each parameter with y values. In this experiment, both of CS and LCS are implemented and executed using NetBeans 8.0.1. Different values of iteration (i.e. 5,10,20,30,40,50,100,200, 300, 500, and 1000) are used to measure the convergence rate. Figures 3 and 4 show a comparison of convergence rate between CS and modified LCS for two problems For quickly identify the different between the results of CS and LCS, we add test suite size labels (Y points) to the figures, while X points take the same values of X aixs. As the figures show, LCS outperforms CS in the two problems. In this case, by introducing elitism-learning technique component into origin CS, we observe that the quality of solutions, in LCS strategy, is improved and convergence rate becomes faster.

Performance Evaluation
This section compares LSC's results with published results in [18,21,41]. Different systems configurations have been used have been adopted in this comparison (see Tables 4 and 5).
The cells marked as NA indicates "Not Available results", while NS indicates "Not Support". Tables 4 and 5 present a comparison of LCS against the existing strategies. The cells marked with bold font present the optimal value achieved by the strategy on the corresponding column. Most of existing strategies, in Table 3, support only t 3  Table 4 shows that LCS performs better than other strategies (i.e. 6 out of 14 cases), while the worst results have been obtained by TVG followed by AETG and IPOG. Table 5 show that LCS obtains the smallest test suite in almost all cases, only HS has managed to outperform LCS in one case (i.e. case No. 13). Both of LCS and HS produce equal results in 4 cases as marked with bold font. Comparing CS with LCS only, the results in Table 4 show that the results of LCS are much better than standard CS. Learning Cuckoo Search Strategy for t-way Test Generation Figure 5 shows the comparison results between CS and LCS. LCS strategy appears to generate the optimum results in most cases owing to enhancement of its elitism (i.e. based on learning from other solution instead of purely on random basis).   10 7 NS 298 NS 292 12 2 10 8 NS 498 NS 501 13 2 10 9 NS 512 NS 587 14 2 10 10 NS 1024 NS 1024

Conclusion and Future Work
In this paper, LCS is adopted for design and implementation a new t-way strategy for test generation. The strategy utilizes the TLBO's learner phase as part of the Cuckoo elitism process. Initial results show that LCS is able to outperform some of existing meta-heuristic based strategies including origin CS. Owing to its promising results, we intend to extend this work to apply LCS on different t-way interaction possibilities such as cumulative strength interaction, variable strength interaction, and input output based relation. As part of the future work, we plan to improve the design of the LCS by hybridize LCS with another meta-heuristic to improve its overall search capabilities.