jeyamala2010-this is good
jeyamala2010-this is good
org
ISSN 1751-8806
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.
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.
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
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.
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.
† 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
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.
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
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)
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.
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
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
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
Table 4 Test cases with expected output and path coverage details
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.
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.
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
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
[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)