Wednesday, April 3, 2019
Artificial Bee Colony Algorithms And Software Testing Computer Science Essay
Artificial Bee closure algorithmic ruleic programs And Softwargon interrogation Computer erudition EssayThe emerging atomic tot up 18a in the country of optimisation is bevy comprehension. Various meta-heuristics algorithms base on pullulate intelligence devote been highly-developed by m any re exploreers. These algorithms have been developed by modeling the airs of swarm of animals and insects much(prenominal)(prenominal) as birds, bees, ants, fishes etc. The main focus of these algorithms is on the bodied mien which results from the local inter achievementions between the individuals and with their environment. The Artificial Bee Colony Algorithm which has been tardily introduced 1 is besides a swarm based meta-heuristic algorithm. The algorithm models the intelligent hunt behavior of honey bees and has been introduced for optimizing various numerical problems. This paper gives a skeleton introduction about Artificial Bee Colony algorithm and as rise up as presents a retread of activitys of Artificial Bee Colony Algorithm in the field of bundle experimenting.KeywordsSwarm Intelligence, Artificial Bee Colony Algorithm, Softw argon Testing.1. INTRODUCTIONSwarm intelligence as a discipline deals with the faux and natural systems which atomic number 18 calm of many individuals and they coordinate exploitation the decentralized control and self make-up 2. The main focus of the discipline is on the collective behavior. Local interaction amongst the individuals and with their environment results into collective behavior. Some of the swarm based meta-heuristics algorithms are member Swarm optimisation, Ant Colony Optimization, and Artificial Bee Colony Optimization. Dervis Karaboga 1 in 2005 delineate the staged bee colony algorithm, which is the nigh recently introduced swarm based meta-heuristics algorithm. Since its inception, semisynthetic bee colony algorithm has been apply in various fields. It also finds applicati on in the field of parcel shewing, which is one of the most indispensible phase of the computer software package development lifecycle.This paper is divided into five sections. The next section gives a brief introduction about the nature of bees. Section 3 describes the slushy bee colony algorithm. Section 4 presents a review of application of insubstantial bee colony algorithm in the field of software running gameing and the give out section give the comparative outline of the applications on contrastive parameters.2. ambit2.1 Components of Bee ColonyThe bee (Apis Mellifera) native to Europe and Africa is a social and domestic animal. Bees go on beebread and pollens, where nectar is the prime kickoff of energy and pollens act as supplements of proteins and opposite nutrients. Pollen is mostly used as intellectual nourishment for larvae 3. largely the bee colony consists of a single queen bee that is responsible for laying eggs, g-force of male bees called drones and thousands of worker bees, which are the sterile bees and the young bee larvae called broods.2.2 Bees DanceBees arbitrarily waites for diet show sequence military postures with favorable supply of nectar. at one time a bee finds such a amaze, it goes back to the salt away and communicates about the food kickoff bewilder by dancing in the comb. If the hunt down bee finds the food theme position close to hive, it performs a simple round dance and if the food source position is far from the hive, hence it performs waggle dance. Waggle dance basically forms an eight like figure and the distance and the direction of the food source is indicated by this dance. The speed of the dance conveys the distance. The inclination of the dance (angle between the sun, relation back to hive and the food source) indicates the direction of the food source 4.3. Artificial Bee Colony AlgorithmThe artificial bee colony algorithm consists of 3 types of bees- the sedulous bee, looker-on bee and the scout bee. Scout bee is responsible for carrying out ergodic searches in the environment. A bee who visits the food source visited by it previously is called an employed bee and the bee that waits in the beehive for decision making is called the onlooker bee. Both exploration and exploitation processes are carried out by all the three bees. In the rudiment algorithm it is assumed that the colony consists of equal number of employed bees and onlooker bees and for all food source there is an employed bee in the hive. The bee whose food source has been exhausted by other bees becomes a scout bee 5. The bee has the cap index of memorizing the stance of the food source once it has been discovered and so immediately starts exploiting it. The foraging bee returns to the hive with load of nectar from the source and then unloads the nectar to a food store. The bee has the following three options after unloading the nectar 1It becomes an useable follower once the food sourc e has been abandon.It dances and recruits other nest catch while returning to the same food source.Without recruiting other bees, it continues to forage at the food source.The search consist a cycle of three travel 1. In the beginning, some food sources are hit-or-missly selected by the bees and the amount of money of nectar is also determined. Then these bees return to the hive and share this education by performing the waggle dance. In second stage, severally employed bee goes to the food source visited by her in previous cycle and then by means of visual information, chooses a newfangled food source in the dwellhood. In the third stage, an onlooker bee visits the food source position depending on the nectar information shared by the employed bees. The food source with maximum nectar quantity is selected by the onlooker bee. later arriving at the selected food source, the onlooker bee according to visual information chooses a new food source in the dwellhood of the sele cted food source. Once the food source is abandoned by the bee, a new food source is randomly selected by a scout and then the abandoned source is replaced by this new food source.Depending upon the probabilistic cling to onlooker bee selects a food source. This value pi is calculated as 5where SN is the number of food sources which is also equal to employed bees number (BN) and fiti is the fitness value of the tooth root i evaluated by its employed bee. The fitness value is proportional to the nectar amount of the food source. To produce a medical prognosis food position from the old one, the algorithm uses the following expression 5Where the random chosen indexes are k 1, 2. . . BN and j 1, 2. . . D and k is different from i. ij is a random number between 1, 1. It controls the production of a neighbour food source position around xij and the modification represents the comparison of neighbor food positions visually by the bee 5.4. activity of Artificial Bee Colony Algorith m to Software TestingSoftware turn uping is a type of multi unsettled optimization problem where generation and selection of efficient render cases cannot be achieved within permissible time bounds. Hence for solving these types of problems, meta-heuristics search algorithms have been proposed 6. These algorithms help in finding the near optimal solution in reasonable running time. The artificial bee colony algorithm, which is also a meta-heuristics search algorithm, is capable of locating efficient solutions. The algorithm models the food foraging behavior of honey bees. The main focus of software attempting is on show as many errors as possible in the given time, as this would help in conforming the product to the requirement specifications and also to pass the prime(prenominal) of the software produced 7. The following paragraphs give the review of application of artificial bee colony algorithm in the field of software testing.Mala et al 6 utilize artificial bee colony al gorithm in the field of software test cortege optimization. The come near is based on population based algorithm where every test case represents a possible solution for the optimization problem. A happiness value has been introduced for each test case like to the fitness or bore of the associated solution. Here the three bees are replaced by search divisor, selector operator and optimizer agent. Various properties of agents are autonomy, inter-operability and social ability 11. These agents help in selecting efficient test cases from infinite number of test cases. The parallel behavior of the agents helps in generating the solution faster. Path coverage has been depict as the test enough criteria. Initially random test cases are generated for all test course of studys or sequences. Along the path, as the search agent goes to an executable state, it monitors each test case and also determines a neighbor state. The happiness value is updated for every test case, along every test path. If a particular node is not covered by a particular test case, then that node gets eliminated. The selector agent starts a new search for locating the node with highest feasibility in that path. exactly the test case with maximum happiness value is remembered and rests are remote from the retentivity. Based on the happiness value, the optimizer agent chooses one of the test cases and also selects a neighbor around that for evaluating its happiness value. Abandoned test cases are replaced with the new test cases as discovered by the selector agent and this is repeat until all the nodes have been visited once.This algorithm was implemented on hardly a(prenominal) sample problems and the results were compared to the results of application of Ant colony Optimization for test cortege optimization. It was find that rudiment algorithm provided consistent results and the problems faced in ACO such as pheromone updation, memory and time overheads were not faced by first pr inciple algorithm.McCaffrey 8 applied simulated bee colony algorithm for generation of pair orthogonal test sets. A pair wise test set is generally a collection of test vectors where all possible combination of pairs of value has been captured from different parameters. Here a bee has been modeled as a bee purpose with four types of data fields and the entire colony is represented as a hive object consisting of an rove of bee objects 8. An enumeration type which specifies the authorized role (active, scout and inactive) is the first field. The second field defines a 2-D array representing a bees memory, which in turn would represent a partial solution. An integer value representing the quality of food source associated with data in bees memory is the third field type and the fourth field is represented by the number of times a particular food source has been visited by the bee object without locating a neighbor source with higher quality value. The algorithm requires an initia l seed value which can be any value equal or greater to number of test vectors which are representing a minimal solution. In the proposed algorithm, when the scout bee is in active role, then it leaves the hive and selects a random food location and compares the quality of food. If the quality of the food location is greater than the one in its memory, the memory gets updated with new food location. The simulated scout bee performs the waggle dance in hive and these dances are visible to all the inactive bees in the hive. In the algorithm, the number of times an active foraging bee visits a source has been fixed. Global antipathetical variable helps in tracking the number of simulated bees in each role. Therefore when an active bee becomes inactive, then randomly an inactive bee is selected and gets transitioned to an active state.The algorithm was run against seven pairwise tests set generation benchmark problem. The approach yielded good result in terms of test set size plainly the performance of the algorithm was slower as compared to other deterministic algorithms.Mala et al 9 again proposed the use parallel behavior of the three bees for automated software test optimization. The main focus was to generate efficient test suite which can cover the software under test within time and less cost. The artificial bee colony algorithm system combines the local search conducted by the employed and onlooker bees with the spheric search carried out by scout bee. Hence it helps in attaining global or near-global optima. The test adequacy criteria applied here is ensuring the state coverage, path coverage and branch coverage. The cyclomatic complexness of the given program is known and it also indicates the number of independent paths. trinity bees functionality gets extended to three agents- search agent, selector agent and replace agent. The algorithm in 6 was implemented on 10 benchmark problems and the results were compared to sequential ABC, random testing a nd Genetic Algorithm. It was found that the performance of parallel ABC algorithm is better than the other approaches. In some cases random testing also produced better results as compared to genetics algorithm. For 100% coverage, the number of test cases involve was very less in parallel ABC as compared to other approaches. GA gave only 50% coverage due to strike up local optimal solution.Dahiya et al 10 presented an ABC algorithm based approach for automatic generation of structural software tests. The working of the honey bee is report as robust and adaptive by 12.The paper applied artificial bee colony based search algorithm for generating test data using symbolic execution technique of static structural testing and whence corresponding to every path a compound predicate was constructed by anding all the branch predicates of a path. The compound predicate should be evaluated to accredited by a candidate solution to become a legitimate test case.For test data generation, rand om population of candidate solution is generated. Solutions are represented by position of flower pointes. The profitability cerebrate to each flower is also measured. This profitability is replaced by the fitness of the positions in computer modeling. It includes various parameters such as nectar content in the flower, distance of flower from the beehive and sugar content in nectar etc. In the first phase of the algorithm the employed bees transmute elite flower patches position w.r.t. neighborhood. In the second phase, the onlooker bees falsify their patches position w.r.t. elite patches position. A greedy selection process is repeated after every phase where solution or flower patches compete among themselves for retention in the selected or elite flower patches, based on their fitness. Hence some solutions or flowers may migrate from one patch to another patch and some may get abandoned. These search phases of the bees are repeated until some termination criteria are met.Th e algorithm was implemented on ten real world problems. The output suggested that the proposed algorithm had performed satisfactorily for most of the programs except for the programs having large input domains and various equality based path constraints.5. Analysis and DiscussionFour different applications of Artificial Bee Colony algorithm in the field of software testing has been reviewed and based on the analysis a table has been formulated which compares all the applications on different parameters.Parameters action byD Jeya Mala (2009)6Application by James D McCaffrey (2009)8Application byD Jeya Mala (2010)9Application byS S Dahiya (2010)10briny ObjectiveTest suite optimizationGeneration of pairwise test sets modify software test optimizationAutomatic generation of structural software tests.Output obtainedGenerated optimal results and it converges within less number of test runs. near(a) results in terms of test set size and suggests the use where test sets are intended to be r eused.Generated global or near global optimal results and it converges within less number of test runs.Generated test cases for all paths.Tool used for implementationJavaPICT in C++QICT in CJavaMATLABOutput ComparisonWith Ant Colony Optimization AlgorithmWith published results of 7 benchmark problems.With Sequential ABC, Random Testing and Genetics AlgorithmNo Comparison madeBehavior of Bees gibe behavior of beesSequential behaviorParallel behaviorSequential behaviorCyclomatic complexityYESNOYESYESType of beesSearch Agent, Selector Agent, Optimizer Agent assiduous bee, Onlooker bee, Scout beeSearch agent, Selector agent, Replace Agent apply bee, Onlooker bee, Scout beeTest Adequacy CriteriaPath Coverage non MentionedPath coverage, Branch Coverage, State coveragePath coverageDrawbacks non MentionedLonger generation timeNot mentionedDid not perform well on programs having large input domain and many equality based path constraints.Benchmark problem used6 problems7 benchmark problemsMa ny10 real world problemsTable1. Comparison of various applications of ABC algorithmMala et al 6 applied artificial bee colony algorithm for test suite optimization and the results obtained were better than the use of Ant Colony Optimization. McCaffrey 8 applied ABC algorithm for generation of pairwise test sets and suggested the use where test sets are intended to be reused. Mala et al 9 again applied ABC algorithm for automated software test optimization and compared the output with that of sequential ABC algorithm, Random Testing and Genetics Algorithm. For 100% coverage the number of test cases needed was very less in parallel ABC algorithm. Dahiya et al 10 used ABC algorithm for automatic generation of structural software tests. The algorithm performed satisfactorily except for programs with large input domains.6. ConclusionIn this research the artificial bee colony algorithm has been studied and a review based on application of the artificial bee colony algorithm in the field o f software testing has been performed. Based on review a table has been formulated which compares all the applications on different parameters. It was also observed that the current application of artificial bee colony algorithm is in the field of structural testing and for test suite optimization only.