Elsevier

Applied Soft Computing

Volume 12, Issue 4, April 2012, Pages 1330-1347
Applied Soft Computing

Application of Particle Swarm Optimization to uniform and variable strength covering array construction

https://doi.org/10.1016/j.asoc.2011.11.029Get rights and content

Abstract

Recently, researchers have started to explore the use of Artificial Intelligence (AI)-based algorithms as t-way (where t indicates the interaction strength) testing strategies. Many AI-based strategies have been developed, such as Ant Colony, Simulated Annealing, Genetic Algorithm, and Tabu Search. Although useful, most existing AI-based t-way testing strategies adopt complex search processes and require heavy computations. For this reason, existing AI-based t-way testing strategies have been confined to small interaction strengths (i.e., t  3) and small test configurations. Recent studies demonstrate the need to go up to t = 6 in order to capture most faults. In this paper, we demonstrate the effectiveness of our proposed Particle Swarm-based t-way Test Generator (PSTG) for generating uniform and variable strength covering arrays. Unlike other existing AI-based t-way testing strategies, the lightweight computation of the particle swarm search process enables PSTG to support high interaction strengths of up to t = 6. The performance of our proposed 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. Furthermore, our case study demonstrates the usefulness of PSTG for facilitating fault detection owing to interactions of the input components.

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)

  • R.J. Kuo et al.

    Application of a hybrid of genetic algorithm and particle swarm optimization algorithm for order clustering

    Decision Support Systems

    (2010)
  • J.R. Ruthruff et al.

    Experimental program analysis

    Information and Software Technology

    (2010)
  • E. Engström et al.

    A systematic review on regression test selection techniques

    Information and Software Technology

    (2010)
  • W.C. Hetzel et al.

    The Complete Guide to Software Testing

    (1991)
  • M. Woodside et al.

    The future of software performance engineering

  • E.J. Weyuker et al.

    Experience with performance testing of software systems: issues, an approach, and case study

    IEEE Transactions on Software Engineering

    (2000)
  • D.S. Hoskins et al.

    Software performance testing using covering arrays: efficient screening designs with categorical factors

  • D.C. Montgomery

    Design and Analysis of Experiments

    (2006)
  • T.J. Mitchell

    An algorithm for the construction of D-optimal experimental designs

    Technometrics

    (2000)
  • D. Hoskins et al.

    Experimental designs in software engineering: d-optimal designs and covering arrays

  • M. Chateauneuf et al.

    On the state of strength-three covering arrays

    Journal of Combinatorial Designs

    (2002)
  • X. Yuan et al.

    GUI interaction testing: incorporating event context

    IEEE Transactions on Software Engineering

    (2011)
  • S. Huang et al.

    Repairing GUI test suites using a genetic algorithm

  • M. Ellims et al.

    The effectiveness of t-way test data generation

  • C.J. Colbourn

    Combinatorial aspects of covering arrays

    Le Matematiche (Catania)

    (2004)
  • M.C. Golumbic et al.

    Software and hardware testing using combinatorial covering suites

  • M.B. Cohen et al.

    Variable strength interaction testing of components

  • C. Yilmaz et al.

    Covering arrays for efficient fault characterization in complex configuration spaces

    ACM SIGSOFT Software Engineering Notes

    (2004)
  • G. Seroussi et al.

    Vector sets for exhaustive testing of logic circuits

    IEEE Transactions on Information Theory

    (1988)
  • L. Yu et al.

    In-parameter-order: a test generation strategy for pairwise testing

  • X. Chen et al.

    Variable strength interaction testing with an ant colony system approach

  • Z. Wang et al.

    Greedy heuristic algorithms to generate variable strength combinatorial test suite

  • T. Shiba et al.

    Using artificial life techniques to generate test cases for combinatorial testing

  • D.R. Kuhn et al.

    An investigation of the applicability of design of experiments to software testing

  • D.R. Kuhn et al.

    Software fault interactions and implications for software testing

    IEEE Transactions on Software Engineering

    (2004)
  • S.R. Dalal et al.

    Model-based testing in practice

  • M. Clerc et al.

    The particle swarm – explosion, stability, and convergence in a multidimensional complex space

    IEEE Transactions on Evolutionary Computation

    (2002)
  • M.P. Wachowiak et al.

    An approach to multimodal biomedical image registration utilizing particle swarm optimization

    IEEE Transactions on Evolutionary Computation

    (2004)
  • J.J. Liang et al.

    Comprehensive learning particle swarm optimizer for global optimization of multimodal functions

    IEEE Transactions on Evolutionary Computation

    (2006)
  • B.S. Ahmed et al.

    PSTG: a t-way strategy adopting particle swarm optimization

  • B.S. Ahmed et al.

    T-way test data generation strategy based on particle swarm optimization

  • B. Beizer

    Software Testing Techniques

    (1990)
  • 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.

    View full text