Application of Particle Swarm Optimization to uniform and variable strength covering array construction
Graphical abstract
Highlights
► The first Particle Swarm-based t-way Test Generator (PSTG) strategy for generating uniform and variable strength covering arrays. ► The particle swarm search process enables PSTG to support high interaction strengths of up to t = 6. ► The performance of PSTG is evaluated using several sets of benchmark experiments. ► Comparatively, PSTG consistently outperforms its AI counterparts and other existing testing strategies as far as the size of the array is concerned. ► The usefulness of PSTG for interaction fault detection is demonstrated using an open source case study.
Introduction
Software performance testing is an activity that aims to evaluate the capability of a program as well as to determine whether it meets its required results or not [1]. Owing to its usefulness in the software development life cycle, software performance testing comprehends a variety of activities, including stress, isolation, and configuration testing [2], [3]. In each activity, test cases are used in an established test plan to run experiments occupying the software system components. In large software systems, this process is limited by cost because the addition of each test case leads to additional expenditures. This, in turn, leads to the inability of exhaustive testing in performing such a testing process.
Design of Experiment (DOE) has been used to aid the software performance testing [4]. Here, each component of the system is called a “factor,” and each test case is called an “experimental run.” An experimental run represents a test case to comprehend the system components, where each component is represented by its valid numeric value or configuration [5]. When the system is tested exhaustively, the “full factorial” design of experiment is used [5]. However, when the system is large and the full factorial design is not desirable, the “fractional factorial” design is used to reduce the experimental run to a subset of the full factorial design. The fractional factorial design is used with systems of numeric factors; conversely, systems with categorical factors cannot use this method for experiments [6].
The D-Optimality design, on the other hand, has been used with systems, including categorical factors, to reduce the experimental run by selecting a subset of runs from the full factorial [7], [8]. Instead of a purely random selection of subsets of experimental runs from the full factorial design, the use of the D-Optimality design method in experiments leads to the production of experimental runs that are closer to full factorial design [4].
Recently, an alternative design based on Covering Array (CA) has been used for the approximation of full factorial design [4]. Compared with D-Optimality, empirical evidence demonstrates that CA produces better results than full factorial approximation experiments [4], [8]. In such a design, each t-set of factors (or system components) is covered by a set of experimental runs (at least once) to form a CA.
The use of CAs has proven to be adequate and effective in several applications, including drug screening, regulation of gene expression, data compression, code coverage and GUI testing [9], [10], [11], [12], [13], [14]. Motivated by the effectiveness of CAs, a number of recent studies have focused on the construction of CAs for combinatorial interaction testing using t-way strategies, where t signifies the interaction strength of the component. These strategies aim to optimally reduce the number of test cases (i.e., the number of rows in the CA) by ensuring that each test case greedily covers the required t-interactions (or t-set of factors) at least once for a typically large space of possible test values. This mechanism uniformly covers t-interactions of the system components to generate test cases. However, often, the interactions between parameter components are typically non-uniform [15], [16]. As an example, a system with an overall component values of two-way (pairwise) strength might have a subset of higher strength than the component values for the test [17]. Therefore, the strength might vary and be non-uniform during the testing process of the system component values. Taking both cases (i.e., uniform and variable interaction strength) as an NP hard computational optimization problem [16], [18], [19], many strategies based on Artificial Intelligence (AI) have been developed. Recent researches demonstrate that strategies based on Genetic Algorithm (GA), Ant Colony Algorithm (ACA), Simulated Annealing (SA), and Tabu Search (TS) can effectively generate small-sized CAs.
Although useful, most existing AI-based t-way testing strategies require complex computations (i.e., in terms of the need to deal with mutations, crossovers, and the local minima problem [17], [20], [21], [22]). For these reasons, existing AI-based t-way testing strategies have been confined to small interaction strengths (i.e., t ≤ 3) and small test configurations [15], [23], [24], [25]. To be effective, recent studies and empirical evidence demonstrate the need to go up to t = 6 in order to capture most faults in a software module [10], [26], [27], [28].
Particle Swarm Optimization (PSO) is known for the simplicity of its algorithm structure over other optimization methods [29], [30], [31], [32]. The usefulness of PSO for small uniform strength configurations has been studied in our earlier research work [33], [34]. In this paper, we demonstrate the competitiveness of our proposed Particle Swarm-based t-way Test Generator (PSTG) for uniform and variable strength CA generation. Unlike other existing AI-based t-way testing strategies, the use of PSO leads to lightweight computation in PSTG, thus, enabling it to support high interaction strengths of up to t = 6. Benchmark experiments demonstrate that PSTG is useful for generating uniform and variable strength CAs, as compared with other existing strategies. In addition, our case study demonstrates the usefulness of PSTG for generating uniform and variable strength CAs in order to tackle faults owing to interactions of the input components.
The rest of this paper is organized as follows. Section 2 discusses the theoretical framework and gives the necessary background on CAs. Section 3 reviews the state-of-the-art of t-way test case generation strategies for both uniform and variable strength CAs. Section 4 gives an overview of PSO. Section 5 outlines an extensive description of the design and implementation of PSTG, including its corresponding algorithms. Section 6 highlights the system parameter settings and demonstrates how the design parameters of PSO are tuned to achieve the best possible results. Section 7 gives an extensive evaluation of PSTG. Section 8 presents a case study to demonstrate the applicability and usefulness of the CAs generated by PSTG. Finally, Section 9 summarizes the paper and presents our conclusions.
Section snippets
Theoretical framework
Originally, the CA has emerged to complement Orthogonal Array (OA) limitations. An OAλ (N; t, k, v) of strength t is an array of size N and k components with v values, in which for every N × t sub-array, the t-interaction elements occur exactly λ times, and λ = N/vt [35], [36]. It has been shown that the OA is often too restrictive because it requires the component values to be uniform [9]. To complement the OA construction and to overcome its limitation, the CA has been introduced. The notation CAλ
Existing literature on uniform and variable strength covering arrays
Many strategies have been developed to construct uniform and variable strength CAs. The construction methods of the uniform strength CAs came first. Based on those construction methods, the ideas of constructing the variable strength CA have emerged. Sections 3.1 Uniform-strength covering array construction, 3.2 Variable strength covering array construction review these two construction methods.
Overview of Particle Swarm Optimization
Enhancing and complementing existing work on AI approaches as t-way testing strategies, this research deploys PSO to derive a strategy for uniform and variable strength CA construction. PSO has been demonstrated as an efficient optimization method for many problems [20], [61], [62]. In most cases, PSO does not suffer from the difficulties encountered by other AI techniques, e.g., [21], [30], [31], [61]. Compared with other AI-based techniques, PSO differs in three main points: recombination,
The PSTG strategy
Having described the general procedure and features of PSO, this section describes the application of PSO in our proposed PSTG strategy. PSO is adopted in an algorithm named the CA generation algorithm. The algorithm generates test cases based on PSO in a greedy fashion. The fitness function is used to choose the best particle. In our strategy, the fitness function is the number of interactions that the particle can cover. Hence, in order to compute the fitness function for each particle, we
PSTG parameter setting
As in Eqs. (2), (3), w and (c1, c2) are the parameters that affect the probability transition rule. Choosing suitable parameter values for the parameters is necessary for achieving the best performance of PSO in different types of applications, depending on the problem at hand. As discussed in previous studies, selection of these parameters varies from one application to another, depending on the problem [32], [63]. Therefore, in our case, selection of these parameters has to be addressed.
Evaluation
We divide the evaluation of our strategy into two parts: (1) the array size and (2) the array generation time. In the case of array size generation, firstly the uniform-strength experiments are performed to evaluate our strategy in terms of the generated CA and MCA sizes. Then, the variable-strength experiments are carried out to evaluate our strategy in terms of the generated VSCA sizes against those from other existing strategies. For the generation time, three sets of experiments were
Empirical case study
Here, we have conducted a case study on a reliable artifact program using our PSTG strategy. The main goals behind this case study are two-fold, as follows.
- i.
To validate the correctness of our strategy and demonstrate its feasibility and applicability.
- ii.
To demonstrate the usefulness of uniform and variable strength CAs in software testing applications.
The following sub-sections give the details of the case study and summarize the findings.
Summary and conclusions
In this paper, we have presented PSTG as a novel strategy for constructing uniform and variable strength CAs based on the discrete version of PSO. Compared with existing strategies, the proposed PSTG strategy tends to deal with the strength of interactions more flexibly than the existing strategies by supporting uniform and variable strengths, as well as with high interactions. Our proposed PSTG strategy, in most cases, outperforms other strategies in terms of the generated CA sizes.
Acknowledgements
We would like to thank Wayne Motycka, the SIR administrator from University of Nebraska – Lincoln, for helping in the experimental set up, and Dr. Hazem Ibrahim Ali for his valuable discussions and suggestions on Particle Swarm Optimization. This research is partially funded by the generous fundamental grant – “Investigating T-Way Test Data Reduction Strategy Using Particle Swarm Optimization Technique” from Ministry of Higher Education (MOHE), the USM Research University grant – “Development
Bestoun S. Ahmed obtained his BSc degree in Electrical and Electronic Engineering from the University of Salahuddin-Erbil in 2004, MSc degree from University Putra Malaysia (UPM) in 2009, and PhD degree from Universiti Sains Malaysia (USM) in 2011. He is currently a research fellow attached to the Software Engineering Research Group in the School of Electrical and Electronic Engineering, Universiti Sains Malaysia (USM). His main research interest includes combinatorial testing, computational
References (84)
- et al.
Proportional sampling strategy: guidelines for software testing practitioners
Information and Software Technology
(1996) - et al.
A systematic review of search-based testing for non-functional system properties
Information and Software Technology
(2009) - et al.
Combinatorial particle swarm optimization (CPSO) for partitional clustering problem
Applied Mathematics and Computation
(2007) - et al.
Comparison of particle swarm optimization and genetic algorithm for FACTS-based controller design
Applied Soft Computing
(2008) - et al.
Experimental evaluation of simulated annealing algorithms for the time–cost trade-off problem
Applied Mathematics and Computation
(2010) - et al.
Knowledge-based cooperative particle swarm optimization
Applied Mathematics and Computation
(2008) - et al.
Merging covering arrays and compressing multiple sequence alignments
Discrete Applied Mathematics
(2009) Strength two covering arrays: existence tables and projection
Discrete Mathematics
(2008)Upper bounds for covering arrays by tabu search
Discrete Applied Mathematics
(2004)- et al.
A hybrid multi-swarm particle swarm optimization algorithm for the probabilistic traveling salesman problem
Computers & Operations Research
(2010)
Application of a hybrid of genetic algorithm and particle swarm optimization algorithm for order clustering
Decision Support Systems
Experimental program analysis
Information and Software Technology
A systematic review on regression test selection techniques
Information and Software Technology
The Complete Guide to Software Testing
The future of software performance engineering
Experience with performance testing of software systems: issues, an approach, and case study
IEEE Transactions on Software Engineering
Software performance testing using covering arrays: efficient screening designs with categorical factors
Design and Analysis of Experiments
An algorithm for the construction of D-optimal experimental designs
Technometrics
Experimental designs in software engineering: d-optimal designs and covering arrays
On the state of strength-three covering arrays
Journal of Combinatorial Designs
GUI interaction testing: incorporating event context
IEEE Transactions on Software Engineering
Repairing GUI test suites using a genetic algorithm
The effectiveness of t-way test data generation
Combinatorial aspects of covering arrays
Le Matematiche (Catania)
Software and hardware testing using combinatorial covering suites
Variable strength interaction testing of components
Covering arrays for efficient fault characterization in complex configuration spaces
ACM SIGSOFT Software Engineering Notes
Vector sets for exhaustive testing of logic circuits
IEEE Transactions on Information Theory
In-parameter-order: a test generation strategy for pairwise testing
Variable strength interaction testing with an ant colony system approach
Greedy heuristic algorithms to generate variable strength combinatorial test suite
Using artificial life techniques to generate test cases for combinatorial testing
An investigation of the applicability of design of experiments to software testing
Software fault interactions and implications for software testing
IEEE Transactions on Software Engineering
Model-based testing in practice
The particle swarm – explosion, stability, and convergence in a multidimensional complex space
IEEE Transactions on Evolutionary Computation
An approach to multimodal biomedical image registration utilizing particle swarm optimization
IEEE Transactions on Evolutionary Computation
Comprehensive learning particle swarm optimizer for global optimization of multimodal functions
IEEE Transactions on Evolutionary Computation
PSTG: a t-way strategy adopting particle swarm optimization
T-way test data generation strategy based on particle swarm optimization
Software Testing Techniques
Cited by (0)
Bestoun S. Ahmed obtained his BSc degree in Electrical and Electronic Engineering from the University of Salahuddin-Erbil in 2004, MSc degree from University Putra Malaysia (UPM) in 2009, and PhD degree from Universiti Sains Malaysia (USM) in 2011. He is currently a research fellow attached to the Software Engineering Research Group in the School of Electrical and Electronic Engineering, Universiti Sains Malaysia (USM). His main research interest includes combinatorial testing, computational intelligence, algorithm design, and high performance computing. He is a member of Kurdistan Engineers Union, MySEIG, IAENG, IACSIT, SDIWC and IJCA.
Kamal Z. Zamli obtained his BSc degree in Electrical Engineering from Worcester Polytechnic Institute, USA, in 1992, MSc in Real Time Software Engineering from Universiti Teknologi Malaysia in 2000, and PhD in Software Engineering from University of Newcastle upon Tyne, UK, in 2003. He is currently an associate professor attached to the Software Engineering Research Group, School of Electrical and Electronic Engineering, Universiti Sains Malaysia. His main research interest includes software engineering, combinatorial software testing, and algorithm design. He is a member of IEEE, MySEIG and IACSIT. Chee Peng Lim received his Bachelor of Electrical Engineering degree from the University of Technology, Malaysia in 1992, and the Master of Science degree (Control Systems), and the Ph.D. degree from the University of Sheffield, Sheffield, U.K., in 1993 and 1997, respectively. He has published more than 160 papers in books, international journals, and conference proceedings. His current research interests include soft computing, pattern recognition, medical prognosis, data mining, fault detection and diagnosis, and condition monitoring.