ENHANCED ALGORITHM OF ARTIFICIAL BEE COLONY (ABC) TO OPTIMIZE MODELS OF SYSTEM RELIABILITY

Annealing(SA), Ant Colony (ACO), Particle Swarm Bee Colony(ABC).

In recent times, computer software applications are increasingly becoming an essential basis in several multipurpose domains including medicine, engineering, transportation etc. Consequently, with such wide implementation of software, the imperative need of ensuring certain software quality physiognomies such as efficiency, reliability and stability has ascended. To measure such software quality features, we have to wait until the software is executed, tested and put to use for a certain period of time. Numerous software metrics are presented in this study to circumvent this long and expensive process, and they proved to be awesome method of estimating software reliability models. For this purpose, software reliability prediction models are built. These are used to establish a relationship between internal subcharacteristics such asinheritance, coupling, size, etc. and external software quality attributes such as maintainability, stability, etc. Usingsuchrelationships, one canbuildamodelinordertoestimatethereliabilityofnewsoftware system.Suchmodelsaremainlyconstructedbyeitherstatisticaltechniquessu chasregression,or machine learningtechniquessuchasC4.5andneuralnetworks.The prototype presented isinvigoratedemployingprocedures of machine learninginparticularrule-basedmodels.Thesehaveawhiteboxnaturewhich accordsthecataloguingandmakingthemgoodlooktoexpertsinthedomain.
In this paper, wesuggest a powerfulinnovative heuristic based on Artificial Bee Colony (ABC) to enhance rule-based software reliability prediction models. The presented approach is authenticated on data describing reliability of classes in an Object-Oriented system. We compare our models to others constructed using other well-established techniques such as C4.5, Genetic Algorithms (GA), Simulated Annealing (SA), Tabu Search (TS), multi-layer perceptron with back-propagation,multi-lay perceptron hybridized with ABC and the majority classifier. Results show that, in most cases, the propose technique out-performs the others in different aspects.

Research Background:-
It is obvious that, computer engineering and technology largely play significant role in our contemporary times across the ages of human endeavors today. An extensive range of highly multifaceted software systems are progressively all-pervading in the areas of, Agriculture, Aerospace, Industrial control operations, Military operations, Processing industries, Transport operations, Finance, Health, and other related fields, playing an increasingly role. It is for this motive that, the quality performance of these complex software must be assured at all cost. However, the quality of a software product decides its acceptance or fate in the software development algorithm [6].
Through theoretical research and engineering practice, many scientist and computer engineers by their grace wisdom and effort, numerous software reliability models have been proposed to predict and assess the reliability of software system as well as detecting its functional status. These models help the designer to do quantitative analysis and predict the credibility and behavior of the software before the release of the software to the world market. Some of these models include: Goel-Okumoto Model, Yamada S-Shaped Model, the Go model, a Weibull model, MO model, JM model, White-box and Black -box model. These models ensure the quality and reliability of the software. However, most of these models are in non-linear function which implies that, it is very difficult to determine their optimal parameters [7]. Usually, Maximum Likelihood Estimation (MLE) and Least Square Estimation (LSE) methods are two traditional techniques commonly used to estimate parameters. This approach is experimented by observations and inspirations of special behavior and collective movement of colonies of honey bees, swarm of ants, shoal of fish, and flock of birds [8]. However, the most common intelligent optimization algorithms include: Particle Swarm Optimization (PSO), Artificial Bee Colony (ABC), ant Colony Optimization (ACO), artificial fish-swarm algorithm (AFSA). These methods arestochasticoptimizationtechniquesthathavebeenusedbyengineersinwiderangeofnumerical application functions to solve real world optimizationproblems.

Software reliabilityEstimation
Software reliability is a point to which a component, software system or process meets the neededrequirementswithoutsystemfailure.Itismeasuredbyitscharacteristics.

Functionality:
It is the ability of a software system to provide functions which meet stated and implied needs when the software is used under stated condition.

Reliability:
It is the capacity of a system or component to perform its required functions under stated conditions for a definite period of time.

Maintainability:
The ease with which a software system or component can be modified to correct faults, improve performance or other attributes, or adapt to a changed environment.

Portability:
"It is defined as the ease with which a system or component can be transferred from one hardware or software environment to another.
The reliability of a software compliance is defined as the ability of the software product to stick to standards, conventions or regulations relating to reliability. Hence,softwaredefectcanberegarded as an indicator of software reliability. [9].

Software Reliability Estimation Models
Due to the fact that, we unable to evaluate the reliability of software attributes, we depended on estimating them. As a result, we utilized estimation/prediction models such as mathematical/statistical. In this study, we principally focused on logical models since they can easily be interpreted. To predict the stability of software system, let us cogitate the vector as data point in the form V= = {, …, n,…c} where ti represents metric and c label of classification (0=stable, 1 not stable).However,theclassinanObject-Orientedsystemisdefined by a data point. The table below displays data set of 14 cases, four metrics; these include Number of Children ((NOC), Lines of Code (LOC), Lines of Comments (LOC) and Number of Public Methods (NPM) and one label of classification. Table 3:-Software stability data set of classes in an Object-Oriented system. DATA SET The example of decision tree below can grow and become relatively difficult to read by human experts. It can also be converted into rule set. A rule set is a logical grouping of code analysis rules that identify targeted issues and specific conditions. From the above decision tree, a rule set can be deduced as follows. Rule 1: NOC>3&LOCO>410, Rule 2: NOC≤2&LOC≤200, Default class: 0. The rule set can be interpreted as, (NOC) denotes the number of children which is greater than 3 and lines of comments (LOCO) also greater than 4100, then it unstable class. However, if the class has NOC less than or equal to 2 and lines of code (LOC) smaller than or equal to 200 then it not stable. Indeed, this rule is mostly used because it has the ability to serve as a guide in building a class with particular software reliability attribute. The reliability ofsuch rule setsis evaluated by accuracy, error rate, the balanced accuracy, Sensitivity, Specificity, and Precision. Confusion matrix for binary classification is used to display these evaluation measurements.   In every entry c[y][t], we recorded the number of classesthat were identified by the model with labely whiletheir real classification ist. We defined a positive classlabel as a stable class (label0) and a negative classlabel asunstable class (label1). True Positive: denotes the number of classesthatare positive and were classified assuch. FalseNegative: represents the number ofclasses that are positive butwere categorized as negative. False Positive: indicates the number of classes that are negative but were categorized as positiveTrue Negative: signifies the number of classesthat are negative and were categorized as such. Gaging the rule set shown above, the researcher acquired the confusion matrix as displayed above. However, the Rule 1 applies to data set 1, 2, and 8. Rule 2 applies to data set 6 and 14, while as the default rule applies to data set 3, 4, 5,7, 9, 10, 11,12 and 13. Quite a number of measurement techniques have been employed to evaluate the data set cases in this regard. In the assessment of Rule set using confusion matrix, we obtained. From the above equations, it can be inferred that, there is inaccuracy due to data set imbalance. Below is an equation denoting a balanced accuracy of [n]. Here, we contemplated the case of a data set containing 100 data cases. Ninetynine data set have a classification label 0, and 1 data case has a classification label of 1. In this vein, a model assigning label (0) to all the cases has an extremely high accuracy (close to 100%).
The situation arises when the misclassification of the fewer frequent categorization label is more expensive, that is when class label (1) in the previous example refers to an unhealthy individual but the model is classifying this case as a healthy individual who will not start his or her desired treatment. In this case, accuracy is not the appropriate measure to contemplate. Instead, the balanced accuracy computes the average accuracy of the classification model therefore giving equal weight to both classification labels.

Statistical Models
In the domain of software reliability parameter estimation, statistical model has been largely rummage-sale worldwide by research scientists and engineers. These models are constructed by utilizing discriminant analysis, principle component, regression techniques etc. according to [14], a discriminant analysis method for identifyingdefective computer programs was proposed. The main goal is to decrease the preliminary set of metrics into a subclass of non-correlated metrics.
[15]Came up with multiple linear regression. They employ convolution metrics as indicators of change prone software systems.
[16]Emerged with two subsystems of multi-purpose operating system. [16]Proposed with two subsystems of multi-purpose operating system. [17]Proposed medical imaging system that is used as experimental statistics.
[18] Proposed relative least square and minimum relative error. They equated their models to least square and least absolute value. Minimum relative error appeared to be more powerful than other techniques only when data is approximately normally distributed. The authors notice a substantial enhancement in predicting software changes during the maintenance.
[19]Investigated five major object-oriented software metrics recommended by Chidamber and Kemerer (1994). They also emerged with additional five objected oriented metrics. Their objective is to construct two least -square regression models whose dependent variable is the maintenance exertion well -defined asthe number of lines changed in a class. They examined with many variations of the model by considering a dissimilar subset of the independent variable every time.
Data is collected from two profitable software systems written in an object -oriented programming language. The two software systems include interface system and quality evaluation system. However, experimental results show the effectiveness of the metrics used in predicting the maintenance exertion and emphasize the essential of size (1) and size (2) as estimation metrics, where size (1) denotes the total number of semicolons in a class and signifies the absolutenumber of attributes and local procedure in a class.

Genetic Programming (GP).
In the paradigm of software engineering, Genetic Programming is initially presented by [20]. The method of GP is to pose the improvement of software reliability modules. The approach is based on the explanations by [21]. Operator and cyclomatic complexity are two metrics used and are related lines of codes, (McCabe, 1976). These metrics are said to have robust relationship with reliability estimation proved by [22]. In this study, the assessment of the GP largely depends on the law of Pareto which denotes that "20% of the modules will classically account for approximately 80% of the errors" this method is said to be strong as opposed to random model when assessed on two major industrial assignments. These include; Pascal -written legacy telecommunication system and Adawritten command Control and Communications System (CCCS).
[23]Emerged with GP method to mainly predict error -proneness and change-proneness using huge Windows -based applications coded in C++ programming language. To evaluate over -fitting, GP uses a random subclass selection of the data. GP is therefore evaluated on the whole data set given product and process metrics. The addressed GP is unique in that, it assimilates previous likelihood and misclassification into one ultimate fitness function. It is shown that, in comparison to logistic regression, Genetic Programming accomplishes awesome outcome with respect to Type -I and Type -II faults. Over improved 9% correctness is achieved by GP against logistic regression.

Genetic Algorithms
The use of Genetic Algorithm (GA) is introduced by [24] to specifically enhance the estimation of software strength. The strength of software is evaluated with respect to the size and domain specific values of the software. Experimental outcomes indicate that, GA has ability to enhance the precision of software estimation models. A comprehensive method to syndicate and acclimatize existing models to software systems from a particular domain is introduced by [25]. Their method was ably assessed on the Java classes of prediction stability. The results of the assessment indicate that, the introduction of two methods significantly perform better than C4.5.
[26]Emerged with outstanding approach to optimize strength estimation models. In the approach, the author used Methodology metrics and Developed Lines of Code (DLOC) together with the application of GA. The method is successfully validated in the application of 18 NASA data sets.
[27]Posed GA method to predict the stability of software system. The method syndicates only one model built on common domain systems to data from dissimilar domains. The method is found to be better than C4.5. Dhiman, Goyal and Sandhu (2009), came up with GA method and assess it on jEdit data set for error -proneness estimation. The authors used a metric from chidamber and Kemerer (1994) together with LOC and Number of Public Methods (NPM). The method proves to have 80.14% correctness.On GA -based models for software strength estimation. The author employs KLoC metric and yields in a valid estimation model when evaluated over related models such as COCOMO (Boehm, 1981).
[11]Also came up with an approach to optimize COCOMO -II model and further evaluated the two models on the TURKISH INDUSTRY data sets. The presented method has ability to deliver good estimation competencies even though it requires further enhancement. An assessment GA method for prediction the cost estimation of software using DLOC and the measure strength emerged from [28].

Simulated Annealing
Three[29] renowned researchers based their work on utilizing Simulated Annealing (SA) together with Bayesian Classifiers (BC) to guess the stability of software system. The authors' method proceeds the BC as input and acclimatizes it by utilizing SA. The method isobserved to be much superior to the outcome of good initial adept built using BC.
[30]Emerged with effort software component estimation. Method. The method is validated against that of Sheta (2006) and the approach is observed to be powerful estimation model.

Ant Colony Optimization
Ant Colony Optimization (ACO) usage method is recommended by [31] for software error -estimation. The introduced model is called Ant Miner+ which utilizes graph execution of the classification rules. Every metric is a node. The rout which the ant takes is categorized to be the classification itself. For the reasons of assessment, three comprehensives open -sources data sets from NASA software projects were utilized. They are; KC1, PC4 and PC1. The method has the ability to compete with other methods such as C4.5, SVM, and logistic regression, in terms of instinctiveness and unambiguousness.
[32]presented an adaptive method that takes already existing models as input and acclimatizes them to fresh invisible data. Ant Colony Optimization procedure is constructed for this reason. The author assessed the method on steadiness of classes in an Object -oriented system. The evaluation outcomes show the preeminence of the presented model over C4.5 and arbitrary predicting.

Particle Swarm Optimization
[33]Introduced a comprehensive work on Particle Swarm Optimization (PSO) for estimation of software strength using the KLoC metric. Fuzzy logic software model is also introduced. The models are evaluated on traditional methods such as Walston-Felix, Bailey -Basiliadn Doty on NASA's eighteen complete data sets. The outcomes reveal the preeminence of the two models being introduced. A multi -objective PSO for the strength of software estimation is presented by [34]. The inputs to the model are lines of cod size and the strength multiplier metrics. The models are validated on COCOMO model on two complete data sets, it was observed that, the introduced model gives better estimation, particularly on the initial data set with reduction error rate percentage.

Hybrid Methods
Three classic GA hybrid methods are presented by [11]. In the first phase, the authors hybridized GA with SA and in second phase with TS. In the third hybrid method, it combines GA, SA, and Tabu Search (TS) respectively. All the hybridized approaches are validated against C4.5 algorithm and a typical GA from Azar and that of Precup (2007) on complete outstanding data sets explaining the reliability of classes in an Object -Oriented Programming system. The hybridized methods outweigh other methods, hence, proving outstanding outcomes. But the hybrid methods need lot of implementation period. Again, the outcome of the hybrids are relatively multifaceted. A fusion of GA and Support Vector Machine (SVM) for inter -release error estimation utilizing the metrics from Chidamber and Kemerer (1994) The principal goal of this GA is to locate appropriate setting of parameter. The method is validated against 6 wellknown machine learning approaches. These include Naïve Bays, Logistic Regression, C4.5, Multi -Layer Perceptron, K -Nearest Neighbor (K-NN) and Random Forest. Tenfold cross assessment is used. The results indicate that, the measurements for evaluation are accurate, precise, recall and F -measure. When, assessed on the jEdit PROMISE complete data set from (Promise), the fusion is observed to be very operative particularly for interrelease error estimation.
[36]Recommended a comprehensive hybrid approach. The authors not only assessed the method on 6 machine learning methods, but also over variants of SVM. It is authenticated on numerous PROMISE data sets from (promise). Such as Log4j versions (1.0, 1.1) The hybrid proves to be very operative even though it needs more execution period than related models.
[37]Emerged with the application of GP together with Artificial Bee Colony (ABC). The experiments were carried out on complete NASA data sets KC1, PC1 and mushroom data set. The hybrid method is equated to neural gas, support vector machines as well as symbolic regression. The correctness on assessing is calculated applying 10 fold cross evaluation. The hybridized GP -ABC achieves outstanding outcomes on the mushroom data set outweighs other data sets by average value of 2.9%. An outstanding hybrid approach on Ant Colony Optimization (ACO) and Genetic Algorithm (GA) is presented by [38]. The aim is to optimize software cost estimation using the KLoC metric. Up to ten complete NASA data sets are utilized as yardsticks. The approaches is found to be much more operative than COCOMO model from (Boehm, 1981) with respect to the Magnitude of Relative Error (MRE).

Artificial Bee Colony
A multi -layer perceptron (MLP) neural network utilizing ABC for the guessing of software error is introduced by [11]. The authors' method is equated to MLP with back proliferation. They ended that, if correct parameters are establish to ABC, the neural network can be more successfully trained. Both methods are equated to: MLP trained utilizing ABC (MLP -ABC) against MLP trained utilizing back propagation (MLP -BP). The test is carried out on the three complete NASA data sets; CM1, KC1 and KC2. Testing the correctness and precision, it was found that, MLP -ABC outweighs MLP-BP by average value of 1.4% and 1.8%. Software algorithm to specifically optimize the prediction correctness of artificial neuralnetworks (ANN) is introduced by [39].
The authors trained the proposed approach (ANN) by utilizing swarm intelligence methods. These include; PSO, ACO, ABC as well as firefly. The principal goal is to achieve the best parameter for the propose ANN, that is the number of input neurons, number of hidden layers and hidden neuron, number of output neuron, weights etc. they equated ANN -PSO, ANN -ACO, ANN-ABC and ANN-firefly on complete data sets from NASA namely; Arc, Camel (1.0, 1.2, 1.4, and 1.6), Intercafe and Tomcat respectively. The authors found that, ANN -PSO is best method which had the best outcome in seven out of eight data sets. The most second classified approach is ANN-ABC obtaining best outcomes in three out of the eight data sets.
Parameters and C4.5 Input C4.5 algorithm assents input as data set, an instance is given in table 3. Here, the table contains 14 complete data set made up of 10 cases, 4 attributes which include ( LOC, DIT, LOCO and NOC) and a single classification label showing the reliability of software. However, the input data set must gratify the following conditions, 1. The data must be written the inform of vector of attribute values 2. The label must have initial definition and smartly outlined 3. The number of cases must be greater than the labels.

Entropy and Gain
For decision trees to be built and decide for the best one devoid of repeating through all the decision trees, C4.5 algorithm utilizes two approaches namely; entropy and information gain criterion. Here, the event which occurs with probability is denoted by P The information gain criterion is linked to the entropy. Now let A denotes a data set of P positive classification labels and n negative classification labels. Here, the entropy can be calculated from the equation below. The entropy is actually dependent on the likelihood distribution of the classification labels. That is, if the entire data points in A belong to a single class, then, the data set is imbalanced, else it is unbiased.
The entropy shows the distribution of the data set; either balanced or not balanced. It can vividly be seeing from here that, the entropy is very close to that of balanced data set. Additionally, let a denotes an attributes which takes d discrete values where C4.5 splits the first data set into k subsets S 1, …,S k. every subsets S t possesses P t positive labels N t negative labels. Therefore, the conditional entropy is calculated as follows where D│a is read as "D given a". It actually demonstrates quantity of bits information needed to categorize the example. If the Entropy [D│a] = then the data is said to be flawlessly separated.
Entropy [D│a] = ∑ p t +n t P+N * Entropy (S t ) (13) Prior to the testing of the attribute a, the conditional entropy is required to measure the information gain. Here, the information gain is represented by GI where C4.5 selects best information gain when splitting a complete data.

C4.5 Algorithm
The algorithm of C4.5 constructs classification decision tree based on divide and conquer "recursive algorithm". Repeat thealgorithmabove with each subset of the training set.

ENDIF ENDIF
The principal purpose of C4.5 algorithm is to construct a decision tree with substantial prediction power. Preferably, the outcome decision tree is compact. An example has been given below.
Assuming, C4.5 is input a data set from the table 5 where the root of the tree can any attribute of DIT, LOC, LOCO or NOC. Here, utilizing the entropy and the gain criterion procedures, it can be inferred by C4.5 that, the "DIT > 3" has the outstanding procedures if it is selected as the root node. The data is then split per this assessment. Again, C4.5 calculate these measures assigningthis root and inferred that the previous test is whether LOCO is more than 75. Therefore, this assessment is demonstrated in the subsequent level of the decision tree. This approach is recurrent till the data can no longer be split into further subsets thereby obtaining the final decision tree

Artificial Bee Colony
Artificial Bee Colony is innovative swarm intelligence method based on collective beesfor scavenging behavior. The basic idea is that, these animals collaboratively share information to achieve optimum goal. It was initiated by [40]. The author addressed that, Swarm intelligence depends on the intelligent behavior of swarms such as ants scavenging behavior method, Ant Colony Optimization (ACO).

Common Bees in Nature
A group of bees can outspread over a long distance, approximately (up to 14km or 15km) in several ways to exploit a huge number of sources of good food. The source of the food is apparently denoted by a flower patch. Source of good food is one that gratifies the conditions outlined below: 1. The targeted food source must be near to the nest 2. The targeted food source must contain lot of energy 3. The energy of food source is easily haul out Numerous kinds of bees do live in one colony, such as the worker bees, can also be classified as forager bees and are the ones to find and collect good food sources. However, the worker bees can be categorized into employed or unemployed forager bees. The employed forager bees essentially profit from a good food source and haul out good energy from it. They actually send signals of information concerning this source when returning to the hive. This information includes 1. The actual distance from the hive to the source of the food 2. The way to follow from the hive to the source of the food utilizing sun as location reference 3. Finally, the lucrativeness of the food source; this means, the quantity of the haul out nectar from the food source It is pertinent to note that, the employed bee has a calculated limit of trials it goes in finding improved source of food. If the trial limit is reached, it will automatically leave the food source and immediately becomes a common unemployed forager bee, specifically a lookout. The unemployed forager bees are ones that are to locate a source of good food and there are two types. They are scouts and onlookers. The scouts tirelessly continue to reconnoiter locations arbitrarily around the nest to discover a good food source whilst the onlookers patiently stay in the nest to wait for the employed forager bees to return and share information about the source of thefood.
When the onlooker bees receive the information about the food source from the employed forager bees, they then decide which food source to go depending on the lucrativeness of the food source. It can be noted here that; the exploitation of a good food source is done by the employed forager bees whilst the exploration of food source is done by unemployed forager bees.

ProposedABC Algorithm
The algorithm of Artificial Bee Colony is enthused from the scavenging behavior of bees in nature. Every food source equals the solution of the problem in the search area. Basically, the lucrativeness of a food source is determined by the ABC algorithm. The algorithm computes the predefined objective function. Actually, ABC begins by arbitrary initialization of the solution search area. It does perform in three stages. 1. Stage one comprises of sending the working bees:the nectar amount denotes the excellence solution; that is the objective function 2. Stage two comprises of sendingtheobserverbees, observers' bees are employed depending on a probabilitybased selection process. Thus, a solution thatis exceedingly lucrative has a complexlikelihoodofbeing selected by observer bees. 3. Stage three comprises of sending the lookout bees.
Lookout bees use random search to locate good solutions. According to [40] they are categorized by low search costs and a low average in source of food excellence. The lookout bee locates new source of food fast, these sources are not essentially lucrative. A working bee is changed into lookout bee, if it cannot locate a better solution within the specified "limit" parameter, it will automatically leave the food source and become a lookout bee. The ABC algorithm saves the best solution found in the memory after the completion of all the three stages. The process continues iteratively until discontinue condition is met.

METHOD: Training Data SettrainDS, Testing Data Set testDS){
initialize( ) ; Repeat sendEmployedBees(); calculateProbabilitiesOfSendingOnlookers (); sendOnlookerBees (); sendScoutBee ( ); memorizeBestFoodSourceFoundSoFar( ); UNTIL (stoppingCriterionIsMet) return bestFoodSourceFound; } The artificial bee colony comprises of numerous parameters such as swarm size, number of onlooker bees, and number of employed bees, limit and number of scout bees. The initial size of the bee colony is the swarm size. The bee colony has two equal parts. The first part embroils of employed scavenger bees and second scout bees. In the real sense, the number of onlooker bees as well as number of employed bees are the first number of onlooker and employed bees. This implies that, the greater the number of onlookers, employed and scout bees, the greater the size of the swarm. The number of employed as well as onlooker bees are often set to have equivalent number.
The first number of scouts is number of scout bees.
This number however, depicts the number of bees that can reconnoiter the search area. The greater the number, the greater the exploration area of fresh solution is. This parameter however, should be wisely selected, because if it is too high, the algorithm converges to guessing search. It always advisable to set it to one. Limit denotes the actual number of candidate solutions which the onlooker bee can explore devoid of enhancing the present solution. The onlooker bee always tries to use trivial alterations to the present solution in an effort of enhancing its objective function. Once the solution doesn't seem to enhance after a given number of times, the solution is abandoned. Here, the bee has a chance of becoming a scout so as to explore the search area again. Here, we took one scout bee into consideration. The number of employed bees as well as number of onlooker bees is each equivalent to the number of rule sets that is accessible. A typical instance, if 6 rule sets are available, then 6 employed bees and 6 onlooker bees will be available as well. The summation of swarm size in this instance is 13 that is (6 employed bees + 6 onlooker bees + 1 scout bee). It must be noted that, the number of rule set is firm, so that each cycle does not swing. We set ending criterion to a static number of cycles. Objective function is the equation for the proposed ABC. Iteratively, the employed bee goes over every metric in this chosen rule set and locate the available condition in which it finds itself. A change of these conditions take place here by the bee. The changes can be in two folds. Either the bee modifies the value of the condition or the operator of the condition. In the previous case, there is random selection of value from the list of cut point values of the metric in question. In the last example, the bee actually, selects an operator from the giving set of allowed operators randomly. A vivid example, if the condition is defined as "NOC > 9" which invariably could become "NOC≤ 9". The changed rule set's objective function is calculated on the training data. If the rule set is seen to be better, it is kept, else the modification is vetoed.

Scout bee stage
Scout bee is the last operative stage of the ABC algorithm. This stage is the main of the algorithm's exploration stage. Here, the rule set with maximum number of trials is detached. The scout bee then generates a fresh rule set with arbitrary number of rules between 1and 5. Utilizing these precise intervals, better rule sets are acquired. Additionally, these intervals are experimentally selected for thispurposebecause they retain the readability and easiness of a rule set. Method;sendScoutBee ( ){ scoutIndex= getScoutBeeIndex( ); intnumberOfRules = random(1,5); intnumberOfConditions= random(1,5); scout= createRuleSet(numberOfRules, numberOfConditions,scoutIndex); returnscout; } All the respective stages of ABC are recurrent for a certain static number of cycles. Upon completing all three respective cycles, the rule set with the outstanding objective function on the training data is reverted.

Stab One
This data set clearly explains the steadiness of classes in typical Object -Oriented Programming systems. The metrices are assembled into two, comprising three or four metrices. The Stress metric is always added to every group. All the probable groupings are established which end up creating 15 subsets of formed groups. All metric subsets together with 11 complete data systems create data sets. (Table 10). Using C4.5 helps in building decision trees. All the metric with continuous classifier or with a fault greater than 10% are automatically detached. About forty decision trees are arbitrarily chosen from the rest. The metrics are changed to rule sets. All the facsimile rule sets are detached remaining 30 rule sets to deal with.

Stab Two
Another comprehensive data set that explains the steadiness of class in the environment of Object -Oriented Programming is STAB 2. It has largely been utilized in the works of many scholars such as Azar etcetera. The metrics utilized in STAB 2 are well defined in (table 11). These metrics were present by [41]. They are haul out from the systems presented in (table 12) utilizing ACCESS tool system as well as Discover environment ©. Likewise STAB1, complete fifteen subsets of metrics are built. Utilizing these metrics together with nine software systems (13). Decision trees with a continuous classifier with a fault greater than 10% are detached. Here, decision trees are then changed to rule sets. All the facsimile rule sets are detached which end up acquiring 20 rule sets.

First Experiment
In the first experiment. STAB two was utilized aswell as objective function.

f (N) = [Correctness]
The technique was validated against mainstream classifier C4.5, GA from [42]. In the process, the outstanding rule set noticed by ABC, the proposed method outweighs the majority classifier by average percentages of 8.6%, 6.66% and 14.7% on the chosen training correctness, training balanced correctness, testing correctness and testing balanced correctness correspondingly. The technique further, enhances on C4.5 by 7.15% and 8.26% on training correctness and training balanced correctness. Additionally, C4.5 is outweighed by the proposed technique by 5.63% and 8.23% on testing correctness and testing balanced correctness correspondingly.

Second Experiment
The second experiment isdone on STAB one. The researcher actively utilized the objective function to give equivalent weights to correctness and balanced correctness f(N) / *(correctness + Balanced correctness).
The technique was validated over majority classifier, C4.5, GA, a work from Azar and Precup (2007) and further to three adaptive hybrids namely; SA -GA, TS -GA and SA-TS-GA. A work presented by [42]. Because STAB one is very imbalanced data set, we added the balanced correctness in the objective function, presenting both correctness and balanced correctness equivalent weight.
The proposed method improves on majority classifier by 1.74% and 2.64% on both the training and testing correctness correspondingly. However, on the training and testing balanced correctness, the technique is improved by 29.94% and 27.6% correspondingly. The presented method improves on C4.5 by 19.27% and 22. 72% on training correctness and training balanced correctness.
In conclusion, the proposed ABC method performs better than others on the training and testing correctness, training and testing balanced correctness. Because STAB one found to have imbalanced data set, balanced correctness is considered to be quality criterion. The enhancement of the presented technique on the testing balanced correctness has a very high average point of 20.7% which is found to be very encouraging.

Third experiment
In the process of this experiment, STAB one is again utilized but the objective function used is expressed below f (N) = Balanced Correctness. The proposed technique is validated againstmajorityclassifier,C4.5,GA.AswellasthreehybridsnamelySA-GA, TS-GAand SA -TS -GA. Because STAB one has imbalanced date set, majority classifier would reach a great correctness devoid of being able to categorize the minority classification label. Because of this motive, balanced correctness was integrated in the objective function.
It was found that, GA outweighs the proposed approach by 3.26% and 3.28% on both training and testing correctness. In return, the proposed ABC outweighs GA by 21.39% and 20.54% respectively on training and testing balanced correctness. The presented algorithm outweighs SA -GA by 4.85%, 1.72%, 4.16% and 3.09% on the training correctness, training balanced correctness, testing correctness and testing balanced correctness, respectively.    Figure 12:-Shows thegraphicalrepresentationofthirdexperimentonSTABonebalanced correctness of every heuristic on training and testing datarespectively.

Fourth Experiment
Here, CM1 is largely used and set the correctness as the chosen objective function to validate the proposed method of neural network multi-layer perceptron MLP. MLP with Back Propagation (MLP -BP) as well as MLP combine with ABC (MLP -ABC). The approach is further validated over majority classifier, C4.5 together with three hybrids namely SA -GA, TS-GA and SA -TS -GA. The work on CM1 prove to have much concentration on the precision measurement model since the data is linked to faults in safety critical software. It is however essential to categorize the faulty modules from non -faults ones.
Hence, the precision of the proposed model is well presented. The measurements on the training and testing data sets is well presented in the tables 22 and 23 whereas figures 11 -13 show the graphical representation of the measurement. MLP -BP and MLP -ABC are not part of the

Conclusion Remarks:-
In this paper, ABC as a method to optimize softwarereliability models has been researched.Systemreliability has beenconsideredas a caseinthispaper. The ABC algorithm has been proposed.The proposed algorithm mainly takes numerous rule sets as input and produces only one rule set from them. The results obtained show the efficacy of the methods proposed by improving the performance measures devoid of obscuring the size of the rule set. The easiness of the rule sets generated makes it simple for human specialists to read, interpret and use as guidelines for software construction in future.
More importantly, the algorithm proposed has been user friendly on data sets with numerous classification labels, and data with different value types. To extend this work, further studies need to be conducted on the relationship between this approach and the nature of the datasets.Forinstance, howcorrectnesswouldchangewiththesizeofthedatasets,thenumberof metrics, which metrics are mostly used in the classification process, etc. Another interesting future work would be to test the algorithm on data sets describing other software quality characteristics.