0% found this document useful (0 votes)
6 views15 pages

jeyamala2010-this is good

Uploaded by

De Sever
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views15 pages

jeyamala2010-this is good

Uploaded by

De Sever
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

www.ietdl.

org

Published in IET Software


Received on 11th February 2009
Revised on 22nd February 2010
doi: 10.1049/iet-sen.2009.0079

ISSN 1751-8806

Automated software test optimisation


framework – an artificial bee colony
optimisation-based approach
D. Jeya Mala1 V. Mohan2 M. Kamalapriya1
1
Department of Computer Applications, Thiagarajar College of Engineering, Madurai, Tamil Nadu, India
2
Department of Mathematics, Thiagarajar College of Engineering, Madurai, Tamil Nadu, India
E-mail: [email protected]

Abstract: Software test suite optimisation is one of the most important problems in software engineering
research. To achieve this optimisation, a novel approach based on artificial bee colony (ABC) optimisation is
proposed here. The work applied in this approach is motivated by the intelligent behaviour of honey bees.
Since the ABC system combines local search methods carried out by employed and onlooker bees with global
search methods managed by scouts, the approach attains global or near-global optima. Here, the parallel
behaviour of the three bees is used to reach the solution generation faster. The performance of the proposed
approach is investigated based on coverage-based test adequacy criteria by comparing it with sequential ABC,
random testing and genetic algorithm-based approaches. Based on the experimental results, it has been
proved that the proposed parallel ABC approach outperforms the other approaches in test suite optimisation.

1 Introduction criteria. It is up to the testers to choose the test cases from


the generated set of test cases and they have to stop the
Software testing is one of the most important processes in testing process whenever they feel exhaust or the specific
software development lifecycle (SDLC) to ensure quality test adequacy criterion is met. Hence, this process involves
of software product. It typically consumes at least 50% of a lot of human intervention and thus leads to lack of
the total cost involved in software development. In order achieving the expected goal [1].
to obtain zero-defect quality software, the number of test
cases generated needs to be infinite, which is impossible As Phil McMinn briefed in his paper [2], exhaustive
in the real world. Since exhaustive testing is not possible, enumeration of a program’s input is infeasible for any
an optimisation approach is needed in the testing process reasonably sized program; yet, random methods are
to reduce the amount of resources (in terms of time, cost, unreliable and unlikely to exercise deeper features of
man power, system components, and so on) required for software that are not exercised by mere chance. Previous
testing without compromising quality. The importance of efforts have been limited by the size and complexity of the
software test optimisation has increased in recent years software involved, and the basic fact in general is that the
due to customers’ need for quick delivery of quality test data generation is an undecidable problem.
software, reduced SDLC, changing markets with global
competition and rapid development of new processes and This insight led the researchers to think of an alternative
technologies. approach that automates the testing task with intelligence
in test case selection and optimisation. Intelligent software
The automation of test case generation is still a research testing activities support quality assurance by gathering
area, since the automated testing tools have no or less information about the software being studied [3]. It
consideration on the amount of time spent for test case indicates the need for a search-based optimisation approach
generation and selection based on the given test adequacy so that the resources can be effectively utilised [4].

334 IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348


& The Institution of Engineering and Technology 2010 doi: 10.1049/iet-sen.2009.0079
www.ietdl.org

The application of meta-heuristic search techniques to test the quality or fitness of the associated solution. The test cases
case generation and optimisation is a possibility which offers are selected by means of an intelligent search through the
much promise for these problems. Meta-heuristic search SUT based on the fitness value associated with each test
techniques are high-level frameworks that utilise heuristics case which is calculated using the coverage of the nodes in
in order to find solutions to combinatorial problems at a the SUT.
reasonable computational cost. Such a problem may be
classified as non-deterministic polynomial time (NP)- The objective function is to maximise the happiness value of
complete or NP-hard, or can be a problem for which a each test case by finding the sum of the coverage values
polynomial time algorithm is known to exist but is not associated with each node along a test path based on
practical [5]. constraint satisfaction. Now, a few efficient test cases that can
cover the system model in less time are generated and stored
Many existing search-based optimisation approaches [6, 7] in the optimal test suite repository. Since the intelligent
have been applied for efficient test case selection and agents exhibit autonomy, social ability and interactivity with
optimisation. The literature survey indicates some serious other agents [11], the proposed approach implemented the
drawbacks in these approaches. Hence, a new search-based bees as agents to perform the test suite optimisation activities
test optimisation framework that applies artificial bee seamlessly. In the ABC system, since the local search
colony (ABC) optimisation is proposed to achieve test suite methods are carried out by employed and onlooker bees and
optimisation. global search methods are managed by scouts, the proposed
approach attains near-global optimal solution.
Recent research and development of ABC-based systems
have focused mostly on applications such as financial The test adequacy criteria applied here ensures path
decision making systems, transportation, manufacturing, coverage, state coverage and branch coverage. The path
aerospace, military, and so on [8]. In this research work, coverage-based test adequacy criterion has been applied by
the functionality of the bee is extended to do the testing many researchers as a potential measure to evaluate the test
and monitoring activity so that it reduces the manual work cases [12, 13]. Hence, in the proposed approach path
and improves the confidence on the software by testing it coverage measure is applied as a way to optimise the test
with the coverage of the given software [9]. To ensure cases from the search space. The path coverage measure
quality, path, state and branch, coverage-based test indirectly shows the coverage of states that are executed
adequacy criteria are applied in this work. Finally, the along any given path excluding the infeasible states. Also,
proposed approach generates a few efficient test cases that the branch coverage criterion is ensured by constraint
can cover the software under test (SUT) with less time and satisfaction given in each branch condition along each of
cost. the paths.

1.1 Problem formulation 1.2 Representation of the search space –


A test suite is a set of several test cases for a component or
formal problem definition
system under test, where the post-condition of one such In the proposed approach, the given SUT is represented as a
test is often used as the pre-condition for the next one search space. The block of executable statements are grouped
[10]. The objective of the test suite optimisation process is as states or nodes in the representation model. These nodes
to generate efficient test cases in a test suite that can cover are searched to find the feasible and infeasible nodes in the
the given SUT within less time. As per Phil McMinn, SUT. The efficient test cases are identified by means of
random generation of test cases leads to an unlimited their coverage of the nodes in the SUT. In this research
source of tests in which the selection of efficient test cases work, the terms nodes and states are used interchangeably.
is very difficult [2].
1.2.1 Problem environment: The SUT is given as
This research work, proposes an ABC optimisation-based input. Let ‘n ’ be the cyclomatic complexity value that
framework, motivated by the intelligent behaviour of honey indicates there are ‘n ’ independent test paths in the SUT.
bees to automate the test suite optimisation process. In the Given ‘m’ test suites each consists of several test cases that
proposed system, the individuals are the test cases in the must be processed on ‘n ’ test paths/sequences.
test suite and the nodes are the blocks of executable
statements in the SUT. The artificial bees modify the test
cases with time and the bee’s aim is to discover the places 1.2.2 Assumption: The SUT is well structured and is
of nodes with higher coverage, and finally the one with the without any compilation errors. Code instrumentation does
highest usage by the given test case. not affect the functionality.

In the proposed approach, each test case is represented as a 1.2.3 Objective criterion: The objective of the proposed
possible solution in the optimisation problem and happiness approach is to generate an efficient test suite that can cover
value – a heuristic introduced to each test case corresponds to the SUT with less time and cost by applying intelligent

IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348 335


doi: 10.1049/iet-sen.2009.0079 & The Institution of Engineering and Technology 2010
www.ietdl.org

search through the SUT using the parallel behaviour of a specifications from TCAS II. Csöndes et al. [17] in their
group of three bees. paper expounded the mathematical optimisation method
for test suite optimisation based on cost and test coverage,
1.2.4 Mathematical model: The multi-objective and applied this method to an integrated services digital
optimisation problem for test suite optimisation is protocol. These approaches suffer from the generic
applicability problem.
Maximise
Modified condition/decision coverage proposed by
Happiness value(test − case) (1) Pan [18] requires that the effect of each condition affects
the outcome of a decision. This, in turn, requires the
Minimise relation of several test cases. Model checkers, however, can
only create a single counter example at a time and do not
Size(Test Suite) (2)
offer a way to relate traces with each other. In neural
networks (NN)-based software test optimisation [19, 20],
subject to
the drawbacks are its black-box data processing structure
and, in some cases, a slow convergence speed. Thus, the
Happiness value(test − case)
data processing mechanism of a NN cannot be easily

1, if coverage(test − case) = 100% programmed, trained, understood or verified in terms of
= (3) rules. As pruning and sorting requires a lot of time for
0, otherwise
making the NN to work properly, the other tasks such as
clustering, converting from continuous to discrete and rule
matching will make the approach to be highly time
The objective function in (1) is to maximise the happiness consuming. Also, the number of layers in the NN is not
value of each test case by identifying the node with higher properly specified. The rule engine is generated manually
coverage value. The second objective function (2) imposes and is purely depending on the application under test.
on reducing the size of the test suite. The constraint (3) Hence there is no generalisation achieved in this approach.
indicates the happiness value based on the coverage of the If the rules are not defined accurately, the test case
test case for each node. selection procedure will fail. Since the rules are framed
based on the requirements, as requirements change, the
rule base should also change which leads to a lot of
2 Related works complexities in this approach.

The effects of granularity and grouping technique [14] based


on cost and fault-detection effectiveness of regression testing In fuzzy logic-based test data generation proposed by
were analysed. The analysis showed that the test suite Zhang et al. [21], there is no specific mechanism given for
granularity significantly affects several cost-benefit factors software test optimisation. There is no method provided
for the methodologies considered, whereas test input for calculating the probability which is used to handle
grouping has limited effects. Further, the results exposed uncertainty. In Tabu search-based approach proposed by
essential trade-offs affecting the relationship between test Dı́az et al. [22], more amount of memory is required in
suite design and regression testing cost-effectiveness. terms of long-term memory to avoid stuck up at local
optima and short-term memory to remember all the test
Lindquist et al. [15] proposed test coverage as an cases in the current search. Even though this short-term
important aspect of a validation suite for the memory is deleted often, this will lead to a crucial problem
implementation of a standard Common Ada Interface Sets of effective utilisation of memory.
(CAIS). Their paper presented the development and
application of a constrained optimisation process for CAIS Even though the resultant test suite using Ant colony
test coverage. This approach suffers from general optimisation (ACO) proposed by Li and Lam [7, 23],
applicability problem since it is particularly designed for contains minimum number of test sequences, the test case
CAIS. within the test suite has longer sequence length, which
violates the optimality requirement criterion. Similar
Chen et al. [10] proposed a methodology for test suite observation has been drawn when the number of ants
optimisation. In their approach, they applied dividing exceeds three. The algorithm proposed by them, initially
strategies to optimise the given test suite. The domain is had an assumption that the two ants are started at an initial
divided in such a way that the test suite contains only node, and during random selection of next node, they will
effective test cases. The method proposed by them heavily go to the same next node. Owing to the random selection,
requires manual intervention. The approach proposed by one cannot expect that the approach will always produce
Zhang et al. [16] presented the empirical evaluation of the the same node to be selected by two different ants at
proposed reduction strategies based on a set of Boolean different instances of time.

336 IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348


& The Institution of Engineering and Technology 2010 doi: 10.1049/iet-sen.2009.0079
www.ietdl.org

It has also been observed that several works have been development and testing process and also helps in getting
proposed in the recent years on applying genetic algorithms an insight into the execution flow in the system.
(GAs) to test suite optimisation [2, 24 –31]. But their
general drawbacks are strike up at local optimal solution
and lack of memorisation of best individuals during each
generation. In our previous works [32, 33], we applied an
3.2 ABC optimisation
intelligent agents’-based approach for test sequence and test ABC is one of the most recently defined algorithms by
case optimisations. In our later research work, we applied Dervis Karaboga in 2005, motivated by the intelligent
hybrid GA-based approach for test case optimisation [34]. behaviour of honey bees. It is as simple as particle swarm
Also, our previous work [35] compared the performance of optimisation and differential evolution algorithms, and uses
ABC with ACO which is also a parallel optimisation only common control parameters such as colony size and
technique and has revealed the better performance of ABC maximum cycle number [36, 37, 46].
when compared to ACO in test suite optimisation.
ABC as an optimisation tool that provides a population-
based search procedure, in which individuals called foods
3 Proposed software test suite positions are modified by the artificial bees with time and
the bees’ aim is to discover the places of food sources with
optimisation framework high nectar amount and finally the one with the highest
3.1 Need for ABC-based approach in nectar. In ABC system, artificial bees fly around in a multi-
dimensional search space and some employed and onlooker
software test suite optimisation bees choose food sources depending on the experience of
As the outcome of the literature study, it has been identified themselves and their nest mates, and adjust their positions.
that, in the case of software systems having dynamic Some scouts bees fly and choose the food sources randomly
behaviour, the testing process is much more a complex task without using experience. If the nectar amount of a new
because of its multi-threaded processing nature. This led to source is higher than that of the previous one in their
the need for knowledge-based approaches in software memory, they memorise the new position and forget the
testing. Several existing research works have extensively previous one [47].
applied knowledge-based approaches to achieve test
optimisation. As the literature study showed the drawbacks In ABC model, the colony consists of three groups of bees:
of these existing knowledge-based approaches, this research employed, onlookers and scouts. It is assumed that there is
work focuses on finding an alternate knowledge-based only one artificial employed bee for each food source. In
approach for test suite optimisation, which has the other words, the number of employed bees in the colony is
advantages of population-based approaches without the equal to the number of food sources around the hive. The
problem of local optima as in GA. employed bees go to their food source and come back to
hive and dance on this area. The employed bee whose food
A population-based approach is essential for test suite source has been abandoned becomes a scout and starts
optimisation, since a pool of test cases is needed to select a searching a new food source. Onlookers watch the dances
few efficient test cases in forming an optimal test suite. of employed bees and choose food sources depending on
Similarly, the swarm intelligence-based approach is selected the dances.
here to apply intelligence in the search process in order to
select the nodes with higher coverage.

The literature study on ABC has provided a lot of proof on


3.3 Basic ABC algorithm
using it as an alternate optimisation approach to hard The main steps of the basic ABC algorithm [48] based on
optimisation problems. Recent research and development of food foraging are given below:
ABC-based systems have focused mostly on applications
such as financial decision making systems, transportation, † Initial food sources are produced for all employed bees.
manufacturing, aerospace, military, and so on [8, 36– 45].
Repeat
In the light of the above consideration, this research work
applied ABC which is a population-based swarm intelligence † Each employed bee goes to a food source in her memory
approach for software test suite optimisation problem. In the and determines a neighbour source, then evaluates its
proposed approach, the functionality of the bee is extended to nectar amount and dances in the hive.
do the testing and monitoring activity so that it reduces the
manual work and improves the confidence on the software, † Each onlooker watches the dance of employed bees and
by testing it using the coverage-based test adequacy criteria. chooses one of their sources depending on the dances, and
The proposed model based on ABC interacts with the then goes to that source. After choosing a neighbour
developer and the SUT, and helps in speeding up the around that, she evaluates its nectar amount.

IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348 337


doi: 10.1049/iet-sen.2009.0079 & The Institution of Engineering and Technology 2010
www.ietdl.org

† Abandoned food sources are determined and then, they † Scouts bee – replace agent.
are replaced with the new food sources discovered by scouts.
The three agents work independently as per their assigned
† The best food source found so far is registered. task and communicate with other agents whenever they have
to exchange information. Because of the parallel behaviour of
Until (requirements are met) these agents, the solution generation becomes faster and
makes the approach an efficient one. Since the basic test
In ABC which is a population-based algorithm, the adequacy criteria used is coverage based, the quality of the
position of a food source represents a possible solution to the test suite is improved during each iteration to cover the
optimisation problem and the nectar amount of a food paths in the software.
source corresponds to the quality (fitness) of the associated
solution. At the first step, a randomly distributed initial
population (food source positions) is generated. After
4.1 Solution methodology in the
initialisation, the population is subjected to repeat the cycles proposed approach
of the search processes of the employed, onlooker and scout The internal workflow of the proposed ABC model is shown
bees, respectively. An employed bee produces a modification in Fig. 1, in which the system consists of three agents, namely
on the source position in her memory and discovers a new search agent, selector agent and replace agent. The agents
food source position. Provided that the nectar amount of the communicate among themselves by means of a common
new one is higher than that of the previous source, the bee agent communication language. The parallel behaviour of
memorises the new source position and forgets the old one. these agents is given by means of multi-threading and
Otherwise, she keeps the position of the one in her memory. hence, the agents work in parallel to achieve the desired
result. Initially, a random population of test cases is
Once all the employed bees complete the search process, generated. The search agent searches for an executable state
they share the position information of the sources with the along each test path using the information in the knowledge
onlookers on the dance area. Each onlooker evaluates the source to find the coverage of each test case in the current
nectar information taken from all employed bees and then population. Based on that, it associates a happiness value to
chooses a food source depending on the nectar amounts of each test case and returns this coverage information to the
sources. As in the case of the employed bee, she produces a selector agent by means of status flag indication.
modification on the source position in her memory and
checks its nectar amount. Provided that the nectar amount is The selector agent watches the search agent and selects a
higher than that of the previous one, the bee memorises the test case depending upon the fitness value/happiness value
new position and forgets the old one. The sources associated with each test case. If a node is feasible and has
abandoned are determined and new sources are randomly the highest coverage value by a test case, then it selects that
produced to be replaced with the abandoned ones by node along with the test case that covers it. Then the
artificial scouts. Thus, the ABC system combines local selector agent explores all the neighbourhood states/nodes
search methods, carried out by employed and onlooker bees, from the selected state/node and it calculates the happiness
with global search methods managed by scouts, attempts to value of the selected test case for all the explored nodes
balance the exploration and exploitation processes. based on its coverage. It then evaluates the test cases
efficiency in terms of their coverage. If it finds the test case
as efficient, it appends the current node with the previously
4 Proposed ABC-based test suite selected node to indicate the test path along with the
selected test case. Other nodes in the current exploration
optimisation framework process and other test cases from the initial population are
In the proposed ABC-based test suite optimisation abandoned and stored in temporary storage.
framework, the functionalities of the three bees are
extended to three agents namely search agent, selector If the selector agent finds the node as being not covered by
agent and replace agent to generate a test suite with few any of the initial set of test cases, it generates a new
efficient test cases from a near infinite number of test cases. population of test cases based on the previous population.
Then it evaluates the fitness value of each of the newly
In the basic ABC model, the three types of bees are generated test cases. If it finds that the new set of test cases
employed, onlooker and scouts. too is inefficient, it will be communicated to the replace
agent. Otherwise, the test case along with the covered node
In the proposed approach, each bee is associated with an information is stored in the repository.
agent in the optimisation model.
The replace agent generates a new population of test cases not
† Employed bee – search agent. using the previously generated set of test cases but on its own
replaces the test cases in the existing test suite with new set of
† Onlooker bee – selector agent. test cases. This cycle is repeated till the termination condition

338 IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348


& The Institution of Engineering and Technology 2010 doi: 10.1049/iet-sen.2009.0079
www.ietdl.org

Figure 1 Internal workflow of the proposed ABC based test suite optimisation approach

of either the maximum number of cycles (MCN) is reached or † Apply each initial set of test cases to the initial node and to
the specified coverage criterion of above 95% is achieved. its frontier nodes.

4.2 ABC-based software test suite † Calculate the happiness value of each test case for the
optimisation algorithm initial node and explored nodes based on coverage.
Step 1: Initialise population randomly
† Communicate the coverage information to the selector
Step 2: Apply search agent to do the following: agent.

† Search through the SUT to find the first executable state/ Step 3: Apply selector agent to perform the following tasks:
node if this is the initial run/cycle. Then, it explores the
frontier nodes from the current node to indicate a test path
(a test path is composed of a sequence of executable states/ † Evaluate the happiness value of each test case based on the
nodes). coverage of each of the nodes returned by the search agent.

IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348 339


doi: 10.1049/iet-sen.2009.0079 & The Institution of Engineering and Technology 2010
www.ietdl.org

W If a node with higher coverage is found, then remember ‘n ’ and ‘n ’ represents the cyclomatic complexity value. If
the test case that covered it along with the covered node j ¼ 1, it indicates the path 1. In xij , xi represents the test
information. Abandon the remaining test cases and cases vector for path ‘j ’).
nodes and store them in temporary test case list and
temporary node list respectively. The temporary node list Step 2: Evaluate the population based on coverage-based test
indicates the uncovered node information which is used adequacy criterion.
to ensure the coverage of all nodes and is refreshed
during every cycle. Step 3: Cycle ¼ 1

W Then, explore the frontier nodes from the currently Step 4: Repeat
selected node to cover the test path and calculate the
happiness value of the selected test case against all the Step 5: Produce new test cases vij in the neighbourhood of xij
explored nodes. Based on this happiness value, a feasible for the search agent using the formula
node with higher coverage is identified. The exploration
and selection processes are continued by the selector vij = xij + qij (xij − xkj ) (4)
agent to cover the test path. If there are no more
frontiers to explore, this indicates the coverage of the test
path and the selector agent determines this selected test where ‘k ’ is a solution in the neighbourhood of ‘i’ and ‘q ’ is a
case as an efficient test case. random number in the range [21, 1]. These test cases are
evaluated based on the fitness value/happiness value to
W If no test case in the initial population is found with satisfy the coverage-based test adequacy criterion.
higher happiness value, the selector agent generates a
new population of test cases. Then it evaluates the fitness Step 6: Apply greedy selection process between xij and vij .
values of these newly generated test cases and the fitness
values of the test cases in the temporary test case list Step 7: Calculate the probability values of test cases xij and vij
against the explored nodes. Based on their fitness values, by means of their fitness values using the equation
the selector agent selects a test case with higher fitness
value and it continues the exploration and selection
fit
processes with this selected test case and the covered Pi =  i , where i = 1 to SN (5)
node as in the previous step. ( i fiti )

† If an efficient test case (test case that covered a test path) is † SN is the number of test cases in the test suite.
found, then store it in the optimised test case repository. If
none of the test cases is efficient, then the selector agent 
† i fiti is the function to find the maximum fitness value
removes all the test cases from the temporary test case list among all the generated test cases.
and sends the inefficiency information to replace agent.
† Pi value is calculated using the following expression in the
Step 4: Apply replace agent to perform the following tasks: coding of the algorithm: p[i] ¼ (0.9 × (fitness[i]/
maxfit)) + 0.1, where maxfit is the highest fitness value
† The replace agent generates a new population of test cases among the fitness values of the population of test cases and
not based on the previous set of test cases but on its own. finally Pi values are normalised into [0, 1].

† Then it communicates it to the search agent for further To calculate the fitness values of solutions, the proposed
exploration process. approach employed the following equation

Step 5: The steps from 2 to 4 are repeated until the coverage 


reached an acceptable value (above 95%) or the number of 1/1 + hv(i), if hv(i) ≥ 0
fiti = (6)
cycles reached the MCN. 1 + abs(hv(i)), if hv(i) , 0

4.3 Detailed pseudo-code of the ABC Fitness of each test case is decided by the happiness value (hv)
algorithm measure, which is calculated using the coverage value
The pseudo-code of the above algorithm for test suite associated with each node based on constraint satisfaction.
optimisation problem is given below:
For a . b, ci (n) = (b − a) and if ci (n) , 0, then hv(i)
Step 1: Initialise the population of test cases xij (where ‘i ’
= MIN, otherwise hv(i) = MAX or 0
indicates the value given for variables which is a vector of
values and ‘j ’ represents the test path in the SUT, j ¼ 1 to (7)

340 IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348


& The Institution of Engineering and Technology 2010 doi: 10.1049/iet-sen.2009.0079
www.ietdl.org

For a ≥ b, ci (n) = (b − a) and if ci (n) ≤ 0, then hv(i) 5 Experimentation and


= MIN, otherwise hv(i) = MAX or 0 evaluation
(8) 5.1 Tested programs
For a , b, ci (n) = (b − a) and if ci (n) . 0, then hv(i) A range of case studies starting from simple desktop
application to complex web-based applications is conducted
= MIN, otherwise hv(i) = MAX or 0
to find the efficiency of the proposed approach against the
(9) approaches based on random testing, GA and sequential
ABC. The tested programs are listed in Table 1 and the
For a ≤ b, ci (n) = (b − a) and if ci (n) ≥ 0, then hv(i)
experimental set-up is done as in Table 2. The tested
= MIN, otherwise hv(i) = MAX or 0 problems are classified as industrial and academic.
(10)
The academic problems are the ones solved during the
For a == b, ci (n) = (b − a) and if ci (n) = 0, then hv(i) course work of the students. The industrial problems are
= MIN, otherwise hv(i) = MAX or 0 given by the industries such as IBM and Microsoft to
compete in the National Project Competition such as ‘The
(11)
Great Mind Challenge’ contest and ‘Student Research
Project’, respectively. The specifications and technology are
For a! = b, ci (n) = (b − a) and if ci (n)! = 0, then hv(i) given by the industries and the code is sent to them for
their evaluation. After the evaluations, the software is
= MIN, otherwise hv(i) = MAX or 0 (12)
observed by the industries. Hence, these problems are also
For a OR b, hv(i) = hv(ci (a)) + hv(ci (b)) (13) taken for testing the proposed approach.

For a AND b, hv(i) = MIN hv(ci (a)), hv(ci (b)) (14) The sample case studies, demonstrated in this paper,
showed the coverage results of the SUT, in which the
where MIN is any value less than 0 and MAX is any value variables are of type integer. For other data types like float
≥0. In this approach their values are taken as MAX ¼ 1 and double, the value range of ‘q ’ should be determined in
and MIN ¼ 21. such a way that, it will produce the test cases in floating
point and double-based representations.
Step 8: Produce new test cases vij for the selector agent from
the test cases xij , selected depending on Pi and evaluate them. For char data type, the ASCII equivalent of the value is
used for the generation of test cases. Similar to that, for
Step 9: Apply the greedy selection process for the selector Boolean data types, either true or false values should be
agent between xij and vij . generated for the variables. This is achieved by toggling the
values of ‘q ’ during each cycle. For string data type, the
Step 10: Determine the abandoned test case; if exists, replaces corresponding radix form is used. Hence, the proposed
it with a new randomly generated test case xij for the replace approach is well suited for any type of problem that
agent using the equation involves different data types.

xij = minj + rand(0, 1) × (maxj − minj ) (15)

The replace agent indicates the new test case generation using
5.2 Worked examples
status flag. 5.2.1 Case study – performance of ABC-triangle
classification problem: Consider a simple program to
Step 11: Memorise the best test case achieved so far with its classify a triangle shown in Fig. 2. Its input is a triple of
fitness value. positive integers (a, b, c) and the data type for input
parameters ensures that these are integers greater than 0
Step 12: Cycle ¼ cycle + 1 and less than or equal to 100. The program output may be
one of the following: [scalene triangle; isosceles triangle;
Step 13: Until cycle ¼ MCN or coverage% . 95%. equilateral triangle, not a triangle]. This problem is chosen
as the benchmark problem because it is the most famous
The above procedure is coded in Java and is applied to each problem in software testing given by Myers in 1979 [49].
unit of the SUT. It has been found that the results generation
is faster because of the parallel operation of the three agents. The cyclomatic complexity of the code in Fig. 2 is 5, which
Since the bees work in parallel, the decision making process is indicates that there are five independent test paths in the
also simple. After the replace agent generates a new solution, SUT. The list of independent paths is given in Table 3.
it indicates the new generation by means of the status flag. The sample set of test cases with expected result and path

IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348 341


doi: 10.1049/iet-sen.2009.0079 & The Institution of Engineering and Technology 2010
www.ietdl.org

Table 1 Tested programs

Case study no. Object-oriented systems – in C ++ and Java


Case study Type No. of classes
1 Coffee/COCOA/money lending machine industrial 15
2 stack academic 5
3 queue academic 5
4 library management system industrial 20
5 shopping cart industrial 12
6 file system manager academic 7
7 network monitor industrial 28
8 examination workflow system industrial 35
9 quiz academic 17
10 management information system industrial 27
11 stock maintenance academic 8
12 credit card validation industrial 22
13 linked lists – singly, doubly and circularly academic 14
14 anti money laundering system industrial 56
15 series calculation – sine and cosine academic 6
16 factorial academic 2
17 simple interest academic 4
18 sorting academic 8
19 greetings industrial 10
20 credit card validation industrial 18
21 simple calculator industrial 22
22 attendance processing industrial 35
23 banking transaction system industrial 42
24 binary search academic 4
25 mark processing academic 12

coverage details is given in Table 4. This table shows the continued until it reaches a node that has no more frontiers
coverage of the path using the specified test case. to explore. Finally, the test case is selected for path j ¼ 2.

The initial set of test cases is generated as a random Then, the next generation of test cases is generated for the
population generation. Let Xij be the initial set of test cases. search agent to start a new search using the formula (4). So,
By means of random generation, let Xij ¼ {2, 2, 3}, (i ¼ 1– we obtain V13 ¼ 2 + 1 × (2 – 2) ¼ 2; V23 ¼ 2 + (1) × (2 –
3 for parameters a, b and c and the values are a ¼ 2, b ¼ 2 3) ¼ 3 and V33 ¼ 3 + (1) × (3 – 2) ¼ 4. Now, Vij ¼ {2, 3,
and c ¼ 3). The search agent searches the node that 4}. Based on the fitness value associated with all the nodes,
corresponds to this test case and it identifies that the test the selector agent finds that the test case is fit for ‘node 2’
case is suited for ‘node 2’ in ‘Path 2’ as indicated in Table 4. and it is selected.
Hence, the fitness value is high for ‘node 2’, which makes
the selector agent to select this node as the best node to Now, the exploration is done by the selector agent from the
traverse. Then the neighbour nodes of ‘node 2’ are explored. current node. After exploration, the selector agent evaluates
Based on the coverage, the test case is selected for ‘node 6’ the test case and identifies that the test case is fit for ‘node
which is meant for ‘isosceles triangle’. This exploration is 10’ which is meant for ‘scalene triangle’, and then the

342 IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348


& The Institution of Engineering and Technology 2010 doi: 10.1049/iet-sen.2009.0079
www.ietdl.org

Table 2 Experimental set-up – sequential ABC, parallel ABC, random and GA

Parameter set-up Sequential ABC Parallel ABC Random GA-based


type of algorithm population based population based random test case population based
generation from seed
fitness function nectar amount/ nectar amount/ path coverage fitness value based on
happiness value based happiness value based path coverage
on path coverage on path coverage
no. of cycles MCN (prescribed by MCN (prescribed by no. of Iterations MAX. (prescribed by
the tester) the tester) the tester)
termination criteria max. no. Of cycles/ max. no. of cycles/ max. no. of iterations max. no. of
acceptable path acceptable path generations/acceptable
coverage measure coverage measure path coverage measure
population of test using the formula of xij using the formula of xij random using crossover and
cases generation and vij and vij mutation
pheromone/non- non-pheromone based non-pheromone based non-pheromone based non-pheromone based
pheromone based
communication waggle dance/status waggle dance/status status flag status flag
about selection flag flag
working nature sequential parallel random sequential
hardware used for CPU speed: 3 GHz CPU speed: 3 GHz CPU speed: 3 GHz CPU speed: 3 GHz
experimentation RAM: 1 GB temporary RAM: 1 GB temporary RAM: 1 GB Temporary RAM: 1 GB Temporary
storage: 64 GB storage: 64 GB Storage: 64 GB Storage: 64 GB

Table 3 Independent paths

Path no. Path


1 1-2-4-13-14
2 1-2-3-5-6-7-8-10-12-14
3 1-2-3-5-6-8-9-10-12-14
4 1-2-3-5-6-8-10-12-14
5 1-2-3-5-6-8-10-11-12-14

formula (15): Xij ¼ minj + rand(0, 1) × (maxj 2 minj ). So,


the result is, Xij ¼ {2, 2, 3} + (21) × {2, 2, 4} 2 {2, 2,
3} ¼ {2, 2, 2}. It is communicated to the search agent for
further exploration and exploitation processes. Based on the
fitness values given by the search agent, it has been
identified that the newly generated test case has highest
fitness value for ‘node 2’. Now, selector agent selects it and
the neighbour nodes are explored. Now, ‘node 8’ is selected
Figure 2 Case study-1: triangle classification problem which is meant for ‘equilateral triangle’, and finally, the test
path ‘path 3’ is covered by the test case {2,2,2}.

exploration and selection process is continued till no more The process is continued by all the agents in parallel to
frontiers to explore. Finally, the test case is selected for cover the entire software. Now, the next test case is
path j ¼ 5. generated by the replace agent using the formula (15):
Xij ¼ minj + rand(0, 1) × (maxj – minj ). So, Xij ¼ {2, 2,
Since there are no more test cases available for selection, 2} + (1) × {2, 2, 4} – {2, 2, 2} ¼ {2, 2, 4} which covers
the replace agent generates a new test case using the path 1 – meant for ‘not a triangle’. Hence, the entire test

IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348 343


doi: 10.1049/iet-sen.2009.0079 & The Institution of Engineering and Technology 2010
www.ietdl.org

Table 4 Test cases with expected output and path coverage details

Test case A B C Expected Output Path Covered


1 4 1 2 not a triangle 1-2-4-13-14
2 1 4 2 not a triangle 1-2-4-13-14
3 1 2 4 not a triangle 1-2-4-13-14
4 5 5 5 equilateral 1-2-3-5-6-8-9-10-12-14
5 2 2 3 isosceles 1-2-3-5-6-7-8-10-12-14
6 2 3 2 isosceles 1-2-3-5-6-7-8-10-12-14
7 3 2 2 isosceles 1-2-3-5-6-7-8-10-12-14
8 3 4 5 scalene 1-2-3-5-6-8-10-11-12-14
9 2 3 4 scalene 1-2-3-5-6-8-10-11-12-14
10 5 4 6 scalene 1-2-3-5-6-8-10-11-12-14

case generation is done with coverage-based analysis by behaviour of the honey bees. Random testing generates test
means of three different types of bees working in parallel. cases using random test case generation process by applying
a random function based on seed value.
5.3 Performance analysis As a result of experimentation and evaluation, the total
To evaluate the performance of ABC, we conducted the number of test runs/generations, test cases and time needed
experimentation on the problems listed in Table 1. The by sequential ABC, parallel ABC, random testing and GA
complexity level of each of the problems is expressed by to cover the entire SUT are calculated and the details are
means of the cyclomatic complexity value, which indicates provided in Table 5. From this table, it has been inferred
the number of independent test paths in the software. The that the performance of parallel ABC is higher when
proposed approach is compared with sequential ABC, compared to the other three approaches. Also, it has been
random testing and GA-based approaches. Among these noted that in some cases, random testing performs better
approaches, sequential ABC shows the sequential working than GA.

Table 5 Comparison of parallel ABC with sequential ABC, random and GA


Problem Cyclomatic Sequential ABC Parallel ABC Random testing GA
complexity
Run Test Time, ns Run Test Time, ns Run Test Time, ns Gen Test Time, ns
case case case case
factorial 2 1 2 634267763 1 2 226081527 1 2 641232335 1 12 7768900517
simple 8 3 14 754144730 2 8 56306318 2 8 421370035 2 22 18743935612
interest
sorting 2 1 2 478869242 1 2 460773087 1 2 434292347 1 12 14388344328
greetings 18 4 20 1352051168 3 18 105564814 4 16 530190010 2 22 8405288661
credit card 56 7 120 1049318000 3 56 276869268 26 208 1366046243 6 62 21896732685
validation (87.5% Cov)
simple 15 5 55 1857426292 1 15 45914495 2 40 1132997629 6 62 22207241144
calculator
attendance 10 3 15 3825022453 3 10 167459832 15 60 3144623689 2 22 43759474737
processing
banking 77 6 91 810725386 5 77 619850568 26 182 1502472521 10 102 28663478180
transaction (57.14% Cov)
binary 6 5 66 4570016579 2 6 2279984747 3 18 1881662614 2 22 21271314650
search
mark 28 8 102 2820689782 2 28 1634980981 26 156 1699910463 10 102 36455823855
processing (50% Cov) (50% Cov)

344 IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348


& The Institution of Engineering and Technology 2010 doi: 10.1049/iet-sen.2009.0079
www.ietdl.org

respectively. In random testing, for some specific test


problems such as credit card validation, banking transaction
and mark processing, only 50% of coverage is achieved.
Similar to that, only a 50% of coverage is achieved using
GA for mark processing application.

5.3.1 Comparison charts – ABC against GA: From


Fig. 3, it is identified that the efficiency of the test cases in
terms of their path coverage measure is steadily improving
Figure 3 Path coverage of test cases in parallel ABC by the application of ABC. Whereas in GA as in Fig. 4,
the test cases improvement is non-linear and usually strikes
up at local optima. The total number of generations/cycles
taken by random testing, GA, sequential ABC and parallel
ABC is shown in Fig. 5. From this figure, it is inferred
that, when compared to the other approaches, the proposed
parallel ABC-based approach takes less number of cycles to
achieve optimal or near-optimal solutions due to the
parallel behaviour of the three agents. The experimental
evaluation based on the number of test cases required and
time taken by each of the four approaches is shown in
Figs. 5 and 6. The results confirmed that parallel ABC-
based approach outperforms the other approaches.

From Fig. 5, it has been identified that the number of test


Figure 4 Path coverage of individuals in GA runs taken by random testing is high when compared to other
approaches, and parallel ABC takes only very few cycles/test
runs to complete the optimisation process. The number of
In some other cases, GA performs better than sequential
test cases generated using all the approaches is shown in
ABC and random testing. The number of test cases needed
Fig. 6. The results showed that, when compared to other
to test the SUT with 100% coverage (excluding the
approaches, the proposed approach based on parallel ABC
infeasible paths) is very less in parallel ABC when
has achieved test suite optimisation with minimum number
compared to other approaches. In case of GA, for some
of test cases. Also, it has been identified that, at times,
problems, even after the number of generations is
even random testing performs better than GA. The reason
increased, the path coverage% reaches only 50% due to
is that GA usually strikes up at local optimal solution and
strike up at local optimal solution.
solution improvement becomes a hard task.

In Table 5, the number of test runs/generations indicates When comparing the time taken for the optimisation
the maximum number of iterations required to achieve process, it is identified from Fig. 7 that parallel ABC
100% coverage (excluding infeasible paths). From this finished the optimisation task within less time when
table, it has been identified that even after increasing the compared to other approaches. Also, the time taken by GA
number of runs/generations, random testing and GA-based is much higher when compared to random testing due to
approaches achieved only 87.5 and 57.14% of coverage, non-memorisation of best individuals during each iteration.

Figure 5 Algorithms against number of test runs/generations

IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348 345


doi: 10.1049/iet-sen.2009.0079 & The Institution of Engineering and Technology 2010
www.ietdl.org

Figure 6 Algorithms against test cases

Figure 7 Algorithms against time (nanoseconds)

6 Conclusions and future work generation. Some of the problems associated with ACO in
test data generation include the violation of optimality
In this research work, the parallel behaviour of the honey bees requirement criterion; that is, the number of ants needs to
is applied to automate the test suite optimisation process, be increased during test runs if the generated solution is
which makes the algorithm faster in reaching near-global inefficient. This leads to substantial time overhead. The
optimal solution. As a part of this work, the performance of frequent pheromone updation (increase/decrease) to
the proposed approach is compared with other approaches indicate good and bad solutions and memorisation of all
such as sequential ABC, random testing and GA. Finally, it the nodes for backtracking leads to computational and
has been confirmed that the proposed parallel ABC memory overhead problems. Also, the initial assumption
outperforms all the other approaches. The experimental made in ACO-based test optimisation approach [7] has
results show the problems with GA which includes non- severe observations which were discussed in related work
memorisation of individuals, non-linear optimisation, risk of section.
suboptimal solution and delayed convergence. Also, there is
no guarantee for global optimal solution even when it may In the case of proposed ABC-based approach, the final
be reached. The problem with sequential ABC is that it optimal solution is based on the improvement done during
forces a sequential selection approach in the optimisation each iteration of the bees’ exploration process. Since there
process, which makes it to perform poorly when compared is no need to examine all the solution candidates generated
to GA. On the other hand, parallel ABC-based test suite from the start to the end of the final stage, the
optimisation generates global or near-global optimal results computational overhead and memory limitation problems
and it converges within less number of test runs. were reduced. If there is no improvement in the current
solution, then the scout starts a new search and a new set
Since ACO is also an important technique that exhibits of test cases are generated. Hence, time overhead is
parallel behaviour, our previous work [35] compared its reduced. In ABC, the search is based on constraint
performance with ABC. The results indicated that, when satisfaction which associates coverage information to each
compared to ACO, the proposed ABC-based approach node and happiness value heuristic with each test case
outperforms and converges faster during solution based on this coverage information. As a future work, the

346 IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348


& The Institution of Engineering and Technology 2010 doi: 10.1049/iet-sen.2009.0079
www.ietdl.org

performance evaluation of different versions of ABC can be testing’, ACM Trans. Softw. Engng. Methodol., 2003, 13,
conducted to find the best version to reach global optimal (3), pp. 277– 331
solution.
[15] LINDQUIST T.E. , GUTZMANN K.M., REMKES D.L. , MCKEE G. :
‘Optimization of validation test suite coverage’,
7 References ACM SIGSOFT Softw. Engng. Notes, 1991, 16, (3), pp. 87– 92

[1] EDWARD K.: ‘Software testing in the real world – [16] ZHANG X., XU B. , CHEN Z., NIE C., LI L.: ‘An empirical
improving the process’ (Addison-Wesley, 1995) evaluation of test suite reduction for boolean
specification-based testing’. Proc. QSIC-2008, IEEExplore
[2] MCMINN P.: ‘Search-based software test data generation: 2008, doi.ieeecomputersociety.org /10.1109/QSIC. 2008.25
a survey’, Softw. Test. Verif. Reliab., 2004, 14, (2),
pp. 105– 156 [17] CSÖNDES T., DIBUZ S., KOTNYEK B.: ‘Test suite reduction in
conformance testing’, Acta Cybern., 1999, 14, pp. 229– 238
[3] BRIAND L.C.: ‘On the many ways software engineering
can benefit from knowledge engineering’. Proc. 14th [18] PAN L., ZOU B., LI J., CHEN H.: ‘Bi-objective model for test-
SEKE, Italy, 2002, pp. 3 – 6 suite reduction based on modified condition/decision
coverage’. Proc. PRDC, 2005, pp. 12 – 14
[4] MCMINN P., HOLCOMBE M. : ‘The state problem for
evolutionary testing’. Proc. GECCO 2003, 2003 (LNCS, [19] ANDERSON C., MAYRHAUSER A., MRAZ R.: ‘On the use of neural
2724), pp. 2488 – 2500 networks to guide software testing activities’. Proc. Int. Test
Conf., 1995
[5] DEB K.: ‘Multi-objective optimization using evolutionary
algorithms’ (Wiley, Chichester, UK, 2001) [20] SARAPH P., LAST M., KANDEL A.: ‘Test case generation and
reduction by automated inout-output analysis’, IEEE Trans.
[6] HOWE A.E., MAYRHAUSER A.V., MRAZ R.T.: ‘Test case generation Softw. Engng., 2003, 1, (5– 8), pp. 768– 773
as an AI planning problem’, Autom. Softw. Engng., 1997, 4,
pp. 77– 106 [21] ZHANG , ZILI, ZHOU: ‘Fuzzy logic based approach for
software testing’, Int. J. Pattern Recog. Artif. Intell., 2007,
[7] LI H., LAM C.P.: ‘Optimization of state-based test suites 21, (4), pp. 709– 722
for software systems: an evolutionary approach’,
Int. J. Comput. Inf. Sci., 2004, 5, (3), pp. 212 – 223 [22] DÍAZ E., TUYA J., BLANCO R.: ‘Automated software testing
using a meta-heuristic technique based on tabu search’.
[8] BASTURK B., KARABOGA D.: ‘An artificial bee colony (ABC) ASE-2003
algorithm for numeric function optimization’. IEEE Swarm
Intelligence Symp., Indianapolis, Indiana, USA, 12 – 14 May [23] LI H. , LAM C.P.: ‘Software test data generation using
2006 ant colony optimization’, Trans. Engng. Comput. Technol.,
2005, 1, pp. 1 – 4
[9] DORIGO M. , MANIEZZO V. , COLORNI A.: ‘The ant
system: optimization by a colony of cooperating agents’, [24] PEDRYCZ W., PETERS J.F.: ‘Computational intelligence in
IEEE Trans. Syst. Man Cybern. Part B, 1996, 26, (1), software engineering’ (World Scientific Publishers, 1998)
pp. 29– 41
[25] TRACEY N., CLARK N., MANDER K., MCDERMID N.: ‘A search based
[10] CHEN T.Y., LAU M.F.: ‘Dividing strategies for the optimization automated test data generation framework for safety critical
of a test suite’, Inf. Process. Lett., 1996, 60, (3), pp. 135–141 systems,’ in HENDERSON P. (ED.): ‘Systems engineering for
business process change (new directions)’ (Springer, 2002)
[11] RUSSEL S., NORVIG P.: ‘Artificial intelligence: a modern
approach’ (Prentice-Hall, 1995) [26] MCMINN P.: ‘Search-based software test data generation: a
survey’, Softw. Test. Verif. Reliab., 2004, 14, (2), pp. 105–156
[12] HORGAN J., LONDON S., LYU M.: ‘Achieving software quality
with testing coverage measures’, IEEE Comput., 1994, 27, [27] TONELLA P.: ‘Evolutionary testing of classes’. ISSTA, 2004,
(9), pp. 60– 69 pp. 11– 14

[13] BEIZER B.: ‘Software testing techniques’ (Thomson [28] BAUDRY B., FLEUREY F., TRON Y.L.: ‘Improving test suites for
Computer Press, 1990, 2nd edn.) efficient fault localization’. ICSE, 2006, pp. 82– 91

[14] ROTHERMEL G., ELBAUM S., MALISHEVSKY A., KALLAKURI P., QIU X.: [29] HARMAN M., JONES B.F. : ‘Search based software
‘On test suite composition and cost-effective regression engineering’, Inf. Softw. Technol., 2001, 43, (14), pp. 833–839

IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348 347


doi: 10.1049/iet-sen.2009.0079 & The Institution of Engineering and Technology 2010
www.ietdl.org

[30] MICHAEL C., MCGRAW G.: ‘Automated software test data [39] WONG L.-P., PUAN C.Y., HEAN LOW M.Y., CHONG C.S.: ‘Bee colony
generation for complex programs’. A Technical optimization algorithm with big valley landscape
Report, Reliable Software Technologies, 1999 exploitation for job shop scheduling problems’, Appl. Soft
Comput., 2008, 8, (1), pp. 687– 697
[31] SEESING A.: ‘EvoTest: test case generation using genetic
programming and software analysis’. Thesis submitted to [40] TEODOROVIĆ D., DELL M.: ‘Bee colony optimization – a
Delft University of Technology cooperative learning approach to complex transportation
problems’, Adv. OR and AI Meth. Transport., 2006, pp. 51–60
[32] JEYA MALA D., MOHAN V.: ‘On the use of intelligent agents
in test sequence selection and optimization’, Int. J. Comput. [41] BAYKASOLU A., ÖZBAKIR L., TAPKAN P.: ‘Artificial bee colony
Intell. Appl., 2009, 8, (2), pp. 155 – 179 algorithm and its application to generalized assignment
problem’. Book on Swarm Intelligence: Focus on Ant and
[33] JEYA MALA D., MOHAN V.: ‘IntelligenTester – test sequence Particle Swarm Optimization, 2007, pp. 113 – 143
optimization using multi-agents’, J. Comput., 2008, 3, (6),
pp. 39– 46 [42] SINGH A.: ‘An artificial bee colony algorithm for the leaf-
constrained minimum spanning tree problem’, Appl. Soft
[34] JEYA MALA D., MOHAN V.: ‘Hybrid tester – an automated Comput., 2009, 9, (2), pp. 625– 631
hybrid genetic algorithm based test case optimization
framework for effective software testing’, Int. J. Comput. [43] SRINIVASA RAO R. , NARASIMHAM S.V.L. , RAMALINGARAJU M. :
Intell. Theory Pract., 2008, 3, (2), pp. 81– 94 ‘Optimization of distribution network configuration for
loss reduction using artificial bee colony algorithm’. Proc.
[35] JEYA MALA D., KAMALAPRIYA M. , SHOBANA R., MOHAN V.: ‘A World Academy of Science, Engineering and Technology,
non-pheromone based intelligent swarm optimization 2008, vol. 35, pp. 709 – 715
technique in software test suite optimization’,
IEEExplore – doi: 978-1-4244-4711-4/09, #2009 IEEE, [44] KARABOGA N.: ‘A new design method based on artificial
IAMA 2009 bee colony algorithm for digital IIR filters’, J. Franklin
Inst., 2009, 346, (4), pp. 328– 348
[36] KARABOGA D., BASTURK B.: ‘On the performance of artificial
bee colony (ABC) algorithm, applied soft computing’, 2008, [45] FATHIAN M., AMIRI B., MAROOSI A.: ‘Application of honey-bee
8, (1), pp. 687 – 697, doi: 10.1016/j.asoc.2007.05.007 mating optimization algorithm on clustering’, Appl. Math.
Comput., 2007, 190, (2), pp. 1502 – 1513
[37] KARABOGA D., BASTURK B. : ‘Artificial bee colony (ABC)
optimization algorithm for solving constrained optimization [46] PHAM D.T., GHANBARZADEH A., KOC E., OTRI S., RAHIM S., ZAIDI M.:
problems’. LNCS: Advances in Soft Computing: Foundations ‘Technical note: bees algorithm’. Manufacturing
of Fuzzy Logic and Soft Computing, 2007, vol. 4529/2007, Engineering Centre, Cardiff University, Cardiff, 2005
IFSA 2007, pp. 789–798, doi: 10.1007/978-3-540-72950-1_77
[47] ABC Algorithm Home page: http://mf.erciyes.edu.tr/abc/
[38] PHAM D.T., GHANBARZADEH A., KOC E., OTRI S., RAHIM S., ZAIDI M.:
‘The bees algorithm, a novel tool for complex optimization [48] http://en.wikipedia.org/wiki/Artificial_Bee_Colony_
problems’. Proc Second Int. Virtual Conf. Intelligent Algorithm
Production Machines and Systems (IPROMS 2006), 2006,
pp. 454– 459 [49] MYERS G.J.: ‘The art of software testing’ (Wiley, 1979)

348 IET Softw., 2010, Vol. 4, Iss. 5, pp. 334– 348


& The Institution of Engineering and Technology 2010 doi: 10.1049/iet-sen.2009.0079

You might also like