<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CSSE</journal-id>
<journal-id journal-id-type="nlm-ta">CSSE</journal-id>
<journal-id journal-id-type="publisher-id">CSSE</journal-id>
<journal-title-group>
<journal-title>Computer Systems Science &#x0026; Engineering</journal-title>
</journal-title-group>
<issn pub-type="ppub">0267-6192</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">29703</article-id>
<article-id pub-id-type="doi">10.32604/csse.2023.029703</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Hybridized Artificial Neural Network for Automated Software Test Oracle</article-title><alt-title alt-title-type="left-running-head">A Hybridized Artificial Neural Network for Automated Software Test Oracle</alt-title><alt-title alt-title-type="right-running-head">A Hybridized Artificial Neural Network for Automated Software Test Oracle</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Kamaraj</surname><given-names>K.</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref><email>Kamaraj.rj@gmail.com</email>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Lanitha</surname><given-names>B.</given-names></name>
<xref ref-type="aff" rid="aff-2">2</xref>
</contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Karthic</surname><given-names>S.</given-names></name>
<xref ref-type="aff" rid="aff-3">3</xref>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Prakash</surname><given-names>P. N. Senthil</given-names></name>
<xref ref-type="aff" rid="aff-4">4</xref>
</contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Mahaveerakannan</surname><given-names>R.</given-names></name>
<xref ref-type="aff" rid="aff-5">5</xref>
</contrib>
<aff id="aff-1"><label>1</label><institution>KPR Institute of Engineering and Technology</institution>, <addr-line>Coimbatore, 641048</addr-line>, <country>India</country></aff>
<aff id="aff-2"><label>2</label><institution>Karpagam Academy of Higher Education</institution>, <addr-line>Coimbatore, 641021</addr-line>, <country>India</country></aff>
<aff id="aff-3"><label>3</label><institution>Hindusthan College of Engineering and Technology</institution>, <addr-line>Coimbatore, 641032</addr-line>, <country>India</country></aff>
<aff id="aff-4"><label>4</label><institution>RMK College of Engineering and Technology</institution>, <addr-line>Chennai, Tamil Nadu</addr-line>, <country>India</country></aff>
<aff id="aff-5"><label>5</label><institution>Saveetha School of Engineering, Saveetha University</institution>, <addr-line>Chennai, 602105</addr-line>, <country>India</country></aff>
</contrib-group><author-notes><corresp id="cor1"><label>&#x002A;</label>Corresponding Author: K. Kamaraj. Email: <email>Kamaraj.rj@gmail.com</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2022-08-25"><day>25</day>
<month>08</month>
<year>2022</year></pub-date>
<volume>45</volume>
<issue>2</issue>
<fpage>1837</fpage>
<lpage>1850</lpage>
<history>
<date date-type="received"><day>10</day><month>3</month><year>2022</year></date>
<date date-type="accepted"><day>04</day><month>5</month><year>2022</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Kamaraj et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Kamaraj et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CSSE_29703.pdf"></self-uri>
<abstract>
<p>Software testing is the methodology of analyzing the nature of software to test if it works as anticipated so as to boost its reliability and quality. These two characteristics are very critical in the software applications of present times. When testers want to perform scenario evaluations, test oracles are generally employed in the third phase. Upon test case execution and test outcome generation, it is essential to validate the results so as to establish the software behavior&#x2019;s correctness. By choosing a feasible technique for the test case optimization and prioritization as along with an appropriate assessment of the application, leads to a reduction in the fault detection work with minimal loss of information and would also greatly reduce the cost for clearing up. A hybrid Particle Swarm Optimization (PSO) with Stochastic Diffusion Search (PSO-SDS) based Neural Network, and a hybrid Harmony Search with Stochastic Diffusion Search (HS-SDS) based Neural Network has been proposed in this work. Further to evaluate the performance, it is compared with PSO- SDS based artificial Neural Network (PSO-SDS ANN) and Artificial Neural Network (ANN). The Misclassification of correction output (MCO) of HS-SDS Neural Network is 6.37 for 5 iterations and is well suited for automated testing.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Test oracles</kwd>
<kwd>neural network</kwd>
<kwd>particle swarm optimization</kwd>
<kwd>stochastic diffusion search</kwd>
<kwd>harmony search</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>During the development of software, it passes several phases and software testing is a very crucial stage. Software testing is an assessment procedure carried out on a software product&#x2019;s reliability and quality. Faults in the software are identified through the use of software testing. Fault detection is done by numerous software testing methods which are utilized appropriately together with their automated tools. The success of the outcomes of the testing procedures largely relies on the manner in which the test procedure was performed. Software failure due to human error is a variation from the predicted functions of the software [<xref ref-type="bibr" rid="ref-1">1</xref>]. Compared to automated testing methods, testing the software manually requires a lot of manpower assignments, which can take a lot of time and is also costly. Hence, software testers are extremely preferred due to higher reliability, and the testing procedure can be made quicker with less cost.</p>
<p>The software test oracle is a strategy to identify the incorrect and correct actions of particular Software Under Test (SUT) [<xref ref-type="bibr" rid="ref-2">2</xref>]. It is also described as a procedure for decision and strategy for the test results&#x2019; interpretation. Upon execution of a certain test case on a SUT, the SUT outputs must be collected, and the outputs must also be identified as correct or incorrect in order to establish the software behavior&#x2019;s correctness. A comparison between the SUT&#x2019;s expected outputs and existing outputs can be used to distinguish the incorrect behavior and the correct behavior. The principal specification associated with any testing activity is the decision about an execution&#x2019;s correctness and revelation of the failures. Test oracles are very arduous work within the software test environment as the identification of a software&#x2019;s set of expected outputs it is chiefly reliant on SUT knowledge. In traditional methods, there is an &#x201C;oracle problem&#x201D; in certain cases as it is very arduous or not possible for determining the correctness of exits of tests or cases of tests. A human tester will analyze or assess the outputs or behaviors of the SUT. To obtain constructive software testing on a massive scale, testers can accomplish manual work reduction through automation of their test oracles [<xref ref-type="bibr" rid="ref-3">3</xref>].</p>
<p>In 1995, Kennedy et al. [<xref ref-type="bibr" rid="ref-4">4</xref>] put forward the PSO, an evolutionary method for computation that is influenced by the particle&#x2019;s social behavior. Every particle is allocated a velocity and a position, and this particle will traverse a multi-dimensional search space. Depending on the optimal position and the optimal particle location, the velocity will be adjusted at each iteration of the overall population. To balance the exploitation and exploration, the PSO will combine global search techniques with the local search techniques. PSO&#x2019;s are quite simple and can be used in an extensive application range with low cost for computation. Due to this, PSO has become quite well-known.</p>
<p>Stochastic Diffusion Search (SDS) is a novel probabilistic technique to recognize and match the best-fit. The SDS is a mode of distributed computation which utilizes the agents&#x2019; simple interaction. SDS with mathematical foundation that is used to describe the algorithm&#x2019;s behavior by linear time complexity, convergence criteria to its minimum, stoutness, convergence at global optimum level, and resource assignment.</p>
<p>Another meta-heuristic global optimization algorithm is the harmony search algorithm [<xref ref-type="bibr" rid="ref-5">5</xref>]. The inspiration for this algorithm comes from the practice of music improvisation, by which a more harmonized state is sought by the musicians. For numerous optimization problems, the harmony search algorithm has been well utilized because of its flexibility, efficacy, and simplicity.</p>
<p>The novelty of the proposed work is the hybridization of the PSO and SDS to form an ANN, where the hybrid PSO-SDS optimizes the weights and biases of the ANN. The SDS is initialized with a set of randomly generated weights and biases assigned to the agents. Each agent is assigned to a combination of weights and biases (<italic>i.e</italic>., hypothesis) from the search space. The search space represents all possible combinations of weights and biases.</p>
<p>The rest of this work is arranged into the subsequent chapters. The associated available works are discussed in Section 2. The various techniques proposed in this work are explained in chapter 3. The performance of the results of proposed approach are described in chapter 4, and to conclude, this work is brought to a close in chapter 5.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Work</title>
<p>For any software application, its efficient functionality analysis is the most significant event which decides the generated outcome&#x2019;s quality. Usually, there are high-quality assurance costs and high time consumption associated with analyzing scenarios, which consist of many test cases along with various components. Various possible methods with their challenges and opportunities for testing process is analyzed in [<xref ref-type="bibr" rid="ref-6">6</xref>&#x2013;<xref ref-type="bibr" rid="ref-8">8</xref>]. Kumar et al. [<xref ref-type="bibr" rid="ref-9">9</xref>] optimized test cases and prioritized it with the Particle Swarm Optimization algorithm (PSO) and then, the Improved Cuckoo Search algorithm (ICSA) was used. The result was later assessed for software quality actions.</p>
<p>Machine Learning (ML) based technique was proposed by Braga et al. [<xref ref-type="bibr" rid="ref-10">10</xref>] to automate the software&#x2019;s test oracle procedure. In this technique, an application&#x2019;s historical usage data is seized into the application being tested through the injection of a capture component. During the Database step this data traverse Knowledge is discovered. Later, these data are employed for training in order to produce an oracle that is feasible for the application under test. The assessment of the proposed technique was done using web applications to conduct four different experiments. The assessments demonstrated evidence of the technique&#x2019;s feasibility for the problem&#x2019;s solution.</p>
<p>Multi-Networks Oracles based on ANN are proposed by Shahamiri et al. [<xref ref-type="bibr" rid="ref-11">11</xref>] in order to automatically manage the mapping. It is actually an improved model of the earlier ANN-Based Oracles. Assessment on the specified scheme was carried out by a scheme given by code mutation and employed for the testing of two different case studies, which were industry-sized. A comparison of the proposed oracle&#x2019;s results was made with the earlier ANN-based Oracles. The proposed oracle had an accuracy of 98.93%, oracle was able to detect a maximum of 98% in case of injected faults. Compared to the earlier model, the evaluated metrics proved that the proposed oracle had better applicability and quality.</p>
<p>Testers can perform the testing procedure and fault detection using the guidance of test oracles, which are reliable and simple sources of anticipated software behavior. Study shows the comparison of two existing test oracles, IFN based regression tester, and Multi-network oracles based on ANNs, utilizing a black-box method, was conducted by Yousif et al. [<xref ref-type="bibr" rid="ref-12">12</xref>]. The study was used for the comparison of experimental studies, procedures, and assessment methodologies. Based on these outcomes, it was found that, compared to the IFN regression tester, the Multi-Network oracles have a low misclassification error rate of 1.74% and a superior accuracy rate of 98.26%. Thus, it has been found that for a software testing procedure, Multi-network oracles based on ANNs are more feasible and provide more reliability and quality. Another ANN based approach was contributed by Shahamiri et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] which proved to be efficient in terms of accuracy and detection rate.</p>
<p>To improve the efficiency, Du et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] modelled a method of generation of test case with multiple-path coverage, which is a combination of the PSO algorithm along with Metamorphic Relations (MRs). This scheme initially performs a new test case by making use of the MRs among test cases. The method further reduces all its evolving numbers in the PSO. The experimental result prove that the method proposed is able to enhance efficiency significantly in terms of evaluation of fitness and consumption of time. Sofokleous et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] designed a dynamic framework involving a program analyzer to evaluate automatically. They used two schemes for test case generation. Even though the hit ratio is high this method is applicable only to Java environment. Xu et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] constructed a decision tree from java byte code by transforming into Jimple format involving the predicates to make the decision. This model able to detect the injected fault upto 94.67%.</p>
<p>Test Case Prioritization (TCP) is a class of the NP-hard problem having a optimal solution that makes use of a soft computing approach. Ref. [<xref ref-type="bibr" rid="ref-17">17</xref>] had proposed another novel GA approach that solves the TCP issue. This algorithm is compared experimentally to the random technique. From this experiment, it had been identified that the Average Percentage of Fault Detection (APFD) for the GA provides better results compared to the random technique. Analysis had confirmed that the result was independent on the actual quantity of generations. A decision tree based scheme and ANN was designed in [<xref ref-type="bibr" rid="ref-18">18</xref>] for automated test oracle.</p>
<p>As there are challenges faced by the Specification-Based Testing (SBT), Yang [<xref ref-type="bibr" rid="ref-19">19</xref>] had proposed another new method for the efficient generation of test cases combining the GA with its formal specifications. The main work of this method was to reform the specifications using the GA for generating inputs to kill mutants of a prey code that is under assessment. For this scenario, there are two examples that were offered for competence demonstration. Results proved that the method could competently generate certain useful test cases for uncovering the mutant program contributing to the software maintenance. Hooda et al. [<xref ref-type="bibr" rid="ref-20">20</xref>] had made a proposal for another new concept proposed for making use of the UML state chart diagram along with test case generation tables. The ANN is a tool of optimization used to reduce redundancy for test case generation with the GA. There was a new strategy of minimization that is crucial for this, for which a Combinatorial Interaction Testing (CIT) test suite was used. Sangwan et al. [<xref ref-type="bibr" rid="ref-21">21</xref>] deigned a neural network involving radial basis method to generate test cases.</p>
<p>Altmemi et al. [<xref ref-type="bibr" rid="ref-22">22</xref>] included the validation and implementation of a strategy for t-way testing. The primary contribution of the Sine Cosine Algorithm SCA was to show the competitive nature of the strategy. Its primary contribution was to test data generation for high coverage strength (t &#x003C; 12). Liu et al. [<xref ref-type="bibr" rid="ref-23">23</xref>] generated automated test cases using systematic functional scenario-based V model that uses divide and conquer strategy. This methodology is capable of imparting high path coverage. Zhang at al. [<xref ref-type="bibr" rid="ref-24">24</xref>] proposed probability based Neural network to perform automated testing and found to better in terms of speed and accuracy. The authors in [<xref ref-type="bibr" rid="ref-25">25</xref>] have used a hybrid approach of ANN with SDS to determine the weights of neural network there by improving classification accuracy. Even though there are multiple approaches being designed, these schemes still lacks in detecting the injected faults.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Methodology</title>
<sec id="s3_1">
<label>3.1</label>
<title>Overview</title>
<p>In this section, the Stochastic Diffusion Search (SDS), Particle Swarm Optimization (PSO), Harmony Search (HS) Algorithm, Artificial Neural Network (ANN), Proposed PSO-SDS Algorithm and Proposed Harmony Search with SDS algorithm are detailed. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> shows the proposed methodology of study carried out. The training is carried out with the 80% of the data and the testing is conducted with the 20% of the data. A 10 fold validation is used to validate the data.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Overview of the proposed model</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_29703-fig-1.png"/>
</fig>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Optimization of Stochastic Diffusion Search (SDS)</title>
<p>The population is initialized to begin the optimization or search in the SDS algorithm. Each agent will have a hypothesis h to define a potential problem solution in any SDS search. A hill is defined as the agent hypothesis in the analogy of game mining. The initialization phases are followed by the below two phases namely test and diffusion phase.</p>
<p>The SDS [<xref ref-type="bibr" rid="ref-26">26</xref>] will verify the success of the agent hypothesis results in a boolean value in the Test phase by carrying out a partial hypothesis evaluation. In the subsequent iteration, depending on the application of a precise recruitment strategy, the population can be diffused with successful hypotheses. Thus, this method can be used to convey information on possibly good solutions across a whole envoy population. Each envoy will carry out a partial function evaluation denoted by pFE in the Test phase. This pFE is a specific function of the hypothesis of the envoy given as pFE &#x003D; f(h). When applied in the mining game, rather than mining all the areas on the hill, partial function evaluation is used to mine an arbitrarily chosen area on the mountain. The hypothesis of the envoy will determine the arbitrarily chosen region. Each agent will employ another agent to interact with and to potentially communicate the hypothesis in the Diffusion phase. Diffusion is done through the communication of the hill hypothesis in the mining game analogy.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Particle Swarm Optimization (PSO)</title>
<p>The Particle Swarm Optimization (PSO) is a global optimization population-based approach that utilizes the heuristic search. John Kennedy and Eberhert devised the PSO in 1995. The origins of the PSO have come from computer science, engineering, social psychology, and artificial life. The PSO makes use of a &#x201C;population&#x201D; of particles with given velocities which traverse a problem hyperspace. Every object&#x2019;s speed is stochastically adjusted as per the neighborhood&#x2019;s optimal position and the historical optimal location for the particle itself, at each iterative step. A user-defined fitness function is used to derive the neighborhood best and the particle best. Each particle&#x2019;s movement will naturally evolve into a solution that is near-optimal or optimal. The particle&#x2019;s erratic movements in the problem space are referred to as the &#x201C;swarm&#x201D; which is more akin to a swarm of mosquitoes instead of a school of fish or a flock of birds. Being a computational intelligence-based method, the PSO is not majorly influenced by the problem&#x2019;s non-linearity and size. Unlike other analytical approaches, the PSO converges to the optimal response in numerous problems.</p>
<p>For every object, the fitness function is executed. The corresponding fitness value (which is also known as the best solution) is evaluated and kept for future use. Pbest is defined as the current optimum fitness value. lbest is defined as the best population attained to date by any particle within the neighbors of the same location when the PSO optimization is done. The velocity and position for each generation are updated as per <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>:</p>
<p><disp-formula id="eqn-1"><label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:mtable columnalign="left" rowspacing=".5em" columnspacing="thickmathspace" displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>&#x03C9;</mml:mi><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>g</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:math>
</disp-formula></p>
<p>Where, inertia weight (ranging from 0.2 to 0.9) is denoted by &#x03C9;; iteration number is denoted by k; velocity found in the p-th object&#x2019;s d-th dimension is denoted by V<sup>k</sup><sub>pd</sub>; actual position of the p-th object&#x2019;s d-th dimension is denoted by X<sup>k</sup><sub>id</sub>; the particle&#x2019;s memory is denoted by pbest and gbest; the cognition and social factor are denoted by C<sub>1</sub> and C<sub>2</sub>; the random functions consistently distributed in [0 1] are represented by r<sub>1</sub> and r<sub>2</sub>.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Harmony Search (HS) Algorithm</title>
<p>The HS algorithm is based on how a musician seeks a better harmony for his musical performance, like jazz improvisation [<xref ref-type="bibr" rid="ref-27">27</xref>]. The HS algorithm will detect a different and pleasant harmony, which is decided through an aesthetic standard. Each musical instrument also has a pitch that is used for determining the aesthetic quality. The HS algorithm has benefits such as the minimal requirement for computations, and the lack of initial setting values required for the use of numerous decision variables. Derivative details is also not required as the HS approach utilizes a novel stochastic random search. When the current vectors are considered, the latest vectors are generated at the earliest.</p>
<p>The five steps which comprise the HS algorithm for the optimization methodology are as given below:</p>
<p><italic>Step 1</italic>: The Initialization of Parameters &#x2013; The detected problem in optimization is depicted as per <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>:</p>
<p><disp-formula id="eqn-2"><label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:mtable columnalign="left" rowspacing=".5em" columnspacing="thickmathspace" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="normal">M</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">z</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="normal">x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>S</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi><mml:mi>j</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mspace width="thickmathspace" /><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">o</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mspace width="thickmathspace" /><mml:mrow><mml:mi mathvariant="normal">j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo></mml:mrow><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">N</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math>
</disp-formula></p>
<p>Here, the objection task is represented by f(x); a set deciding variable xj is indicated by x; the actual number of such selection variables is indicated by N; Every selection variable&#x2019;s another new set of the value range is denoted by Xj that is also a decision variable; a j-th decision parameter&#x2019;s upper and lower limits are denoted by <inline-formula id="ieqn-1">
<mml:math id="mml-ieqn-1"><mml:msubsup><mml:mi>x</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup></mml:math>
</inline-formula> and <inline-formula id="ieqn-2">
<mml:math id="mml-ieqn-2"><mml:msubsup><mml:mi>x</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup></mml:math>
</inline-formula>.</p>
<p>Parameters of the HS algorithm comprise of: Stopping condition or the count of Improvisations (NI) where the solution vectors are stored, Pitch Adjusting Rate (PAR), Bandwidth Distance (BW), Harmony Memory Considering Rate (HMCR), and Harmony Memory Size (HMS) which is the solution vectors in a harmony memory.</p>
<p><italic>Step 2:</italic> Harmony Memory Initialization and Evaluation identified is a novel random initial population which is produced as per <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>:</p>
<p><disp-formula id="eqn-3"><label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mn>0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math>
</disp-formula></p>
<p>Where i &#x003D; 1, 2,&#x2026;,HMS; j &#x003D; 1,2,&#x2026;,N and r<sub>j</sub> &#x2208; [0,1] will indicate an arbitrary number produced for each uniformly distributed j value. Accordingly, the analysis of the HM solution vectors is done, and the objective functions are evaluated.</p>
<p><italic>Step 3</italic>: Improvisation &#x2013; A new harmony vector is generated depending on the three rules: random selection, pitch adjustment, and consideration of memory. A design variable&#x2019;s value is selected from the HM&#x2019;s stored values with a probability that is not beyond the HMCR. The adjustment has been made together with the Pitch Adjusting Rate&#x2019;s probability, in which the randomly selected candidate values do not have to be considered with the other HM stored values with a probability of (1 - HMCR).</p>
<p><italic>Step 4:</italic> The Harmony Memory &#x2013;a New Harmony vector is identified and compared with a vector that is the worst in violation of the restriction where the poor vector is changed by the new vector.</p>
<p><italic>Step 5</italic>: The checks for termination criterion &#x2013; If the stopping criterion (also known as maximum improvisation) has been fulfilled, the HS is brought to an end. Otherwise, there will be a repletion of Step 3 and Step 4.</p>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Artificial Neural Network (ANN) Classifier</title>
<p>ANN is a tool used for computational analysis. The ANN was influenced by the biological nervous system&#x2019;s functioning. Akin to how the brain&#x2019;s interconnected neurons receive, stores, recalls, analyses the data, and provide information for performance, ANN is also able to perform data processing through parallel computations. As the ANN is capable of learning from its earlier experiences, which are stored as data and also accurately execute the corresponding response patterns, researchers are very keen on utilizing it to resolve numerous clinical issues.</p>
<p>Artificial neural network models attain the biological neural networks&#x2019; organization and functionalities. Artificial neurons are the fundamental building units of ANN. At an artificial neuron&#x2019;s entrance, the inputs are weighted by the multiplication of each input with a weight. All weighted neurons and bias are summed up by a function at the internal neuron. At the output neuron, the summation of the earlier weighted contributions and bias are transferred over an activation function. The products of an ANN with K element is provided as per <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>:</p>
<p><disp-formula id="eqn-4"><label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:mi>y</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>k</mml:mi></mml:munderover><mml:mrow><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>Where y<sub>i</sub> is the output at layer i and W<sub>i</sub> is the weight at layer i.</p>
<p>Artificial Neural Network (ANNs) comprises of neurons, which are a collection of interlinked information processing units. The layers namely input, output, and single or multiple hidden layers, generally make up the neuron&#x2019;s three layers. Through synaptic weights, the input layer neurons will transfer the input signal to the initial hidden layer. A weighted sum of the inputs is evaluated by the hidden layer neurons. The activation function is also employed in order to decide if the value should be transferred to the subsequent layer. Hence, through weights adjustment, the neural network will carry on with its learning procedure.</p>
</sec>
<sec id="s3_6">
<label>3.6</label>
<title>Proposed PSO-SDS Algorithm</title>
<p>Every particle of the PSO found in a hybrid algorithm will have a memory, a velocity (which is a personal best position), and also a current position. However, every SDS agent has a hypothesis and status. The SDS is initialized with a set of randomly generated weights and biases assigned to the agents. Each agent is assigned to a combination of weights and biases (<italic>i.e</italic>., hypothesis) from the search space.</p>
<p>The search space represents all possible combinations of weights and biases. This will be assessed partially by every agent found in the test phase of the SDS. Preserving a promising level of hypothesis can remove all unpromising ones, which will be its guiding heuristic. There have been several other tests that were done in the hybrid PSO-SDS algorithm for establishing the activity of every pAgent. The fitness of that of a random pAgent has been compared to the personal best of every particle within the test phase. The selected pAgent will then be flagged to be active with a good level of fitness value; if not, it is flagged as inactive. This type of methodology will ensure that about 50% of the pAgents, on an average, are available for every step in the iteration.</p>
<p>Every inactive pAgent randomly chooses one more pAgent in its Diffusion Phase. Here, in this phase, in case there is an active pAgent that is chosen, the selected pAgent and its hypothesis will be conveyed to the pAgent that is inactive. If the inactive pAgent was chosen, there was a novel hypothesis that is generated randomly from its search space by choosing the pAgent. Another complete SDS cycle has been performed after each n number of function evaluations. Such hybrid algorithms are called the SDS-PSO, wherein there are many PSO evaluations that are performed before the SDS cycle and are denoted by r. The hybrid algorithms and its behaviour has been shown in this algorithm (as depicted in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>).</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Pseudocode for proposed PSO-SDS algorithm</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_29703-fig-2.png"/>
</fig>
</sec>
<sec id="s3_7">
<label>3.7</label>
<title>Proposed Harmony Search with SDS Algorithm</title>
<p>The Harmony Memory (HM) is required for storing specific feasible vectors within a feasible space for HS algorithm utilization. A musician uses three distinct rules to improve a specific pitch: i) generating an individual pitch taken from memory which denotes a single value&#x2019;s selection from the harmony memory is known as consideration of memory; ii) generating another pitch with memory by selecting a harmony memory&#x2019;s adjacent value is known as pitch adjustments; iii) randomization is the generation of a random pitch from a value range. In the HS algorithm, any one of these rules is employed when a decision variable has to select an HS value. Within the memory, when another new harmony vector becomes available, this new vector will cause an alteration to it. Until the stopping criterion is fulfilled, this methodology is continuously repeated.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Results and Discussion</title>
<p>Software test automation has been supported by automated software test oracles. Automated software test oracle is not facilitated by many automated software testing tools including the open-source tools, Selenium and cucumber. Implementation of the automated software test oracle was carried out in this work. MATLAB and customized WEKA tool were used for the simulation of the test oracle. The network is trained by injected faults dynamically is carried out. Comparison were made between the new faults injected (single and multiple) with the testing data and the misclassification rate is calculated. The <xref ref-type="table" rid="table-1">Tab. 1</xref> provides the injected faults.</p>
<table-wrap id="table-1"><label>Table 1</label>
<caption>
<title>Faults injected</title></caption>
<table><colgroup>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Statement originally in the software</th>
<th>Injected faults</th>
</tr>
</thead>
<tbody>
<tr>
<td>To check whether 2 argument is present using OR operator</td>
<td>Operator is Removed to show only one</td>
</tr>
<tr>
<td>OR Operator used</td>
<td>Restored OR Operator with AND operator</td>
</tr>
<tr>
<td>&#x003E; Operator Used</td>
<td>Restored with &#x003E; Operator</td>
</tr>
<tr>
<td>&#x003E; Operator Used</td>
<td>Restored with &#x003D; Operator</td>
</tr>
<tr>
<td>&#x003E; Operator Used</td>
<td>Restored with &#x003C; operator</td>
</tr>
<tr>
<td>To check 2 criteria, AND Operator used</td>
<td>Restored with OR operator</td>
</tr>
<tr>
<td>Argument change</td>
<td>Numerical value is used</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The Misclassification of correct output of the proposed approach is specified in <xref ref-type="table" rid="table-2">Tab. 2</xref> in accordance with the faults injected.</p>
<table-wrap id="table-2"><label>Table 2</label>
<caption>
<title>MCO for Proposed Harmony Search-SDS NN</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Faults injected</th>
<th>PSO-SDS NN</th>
<th>Harmony Search-SDS NN</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>3.03</td>
<td>2.91</td>
</tr>
<tr>
<td>2</td>
<td>3.02</td>
<td>2.92</td>
</tr>
<tr>
<td>3</td>
<td>5.4</td>
<td>5.22</td>
</tr>
<tr>
<td>4</td>
<td>5.99</td>
<td>5.75</td>
</tr>
<tr>
<td>5</td>
<td>6.63</td>
<td>6.37</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The MCO values of the proposed and other approaches for the iterations 1 to 5 are depicted in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. It is clearly evident that the proposed HS SDS NN approach outperforms all other approaches irrespective of the number of iterations used. The MOC of the Harmony Search-SDS NN operates better by 4.04%, 3.37%, 3.39%, 4.09% and 4% than Proposed PSO-SDS Neural Network at 1, 2, 3, 4 and 5 iteration respectively.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Performance comparison of MCO</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_29703-fig-3.png"/>
</fig>
<p>The performance of proposed approach in terms of MWO is given in <xref ref-type="table" rid="table-3">Tab. 3</xref>. The performance of all the approach is almost similar in with iteration 1. As the number of iterations increases and MWO of ANN is 13.3 which comparatively high by 4.9 for PSO-SDS NN and by 5.15 for HS SDS NN scheme. <xref ref-type="fig" rid="fig-4">Fig. 4</xref> reveals that the MWO of Proposed Harmony Search-SDS NN operates better by 3.15%, 3.9%, 3.42%, 3.41% and 3.5% than Proposed PSO-SDS NN at 1, 2, 3, 4 and 5 iteration respectively. The MWO of HS SDS NN is better than all other approach due to the usage of harmony search algorithm.</p>
<table-wrap id="table-3"><label>Table 3</label>
<caption>
<title>MWO of proposed approach</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Faults injected</th>
<th>PSO-SDS NN</th>
<th>Harmony Search-SDS NN</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>6.12</td>
<td>5.93</td>
</tr>
<tr>
<td>2</td>
<td>6.8</td>
<td>6.54</td>
</tr>
<tr>
<td>3</td>
<td>7.73</td>
<td>7.47</td>
</tr>
<tr>
<td>4</td>
<td>8.36</td>
<td>8.08</td>
</tr>
<tr>
<td>5</td>
<td>8.43</td>
<td>8.14</td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Performance measure of MWO with other approaches</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_29703-fig-4.png"/>
</fig>
<p><xref ref-type="fig" rid="fig-5">Fig. 5</xref> shows that the CO of the proposed Harmony Search-SDS NN occurred at 500th iteration, with a value of 0.23. Also, the convergence of the proposed PSO-SDS NN occurred at iteration number 550, with a value of 0.36.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>CO for proposed harmony search-SDS neural network</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_29703-fig-5.png"/>
</fig>
<p>An artificially manufactured data was created instead of the real time events. Synthetic data is created programmatically, to train the machine learning model and it is used as a stand-in for test datasets of production. The advantage of using synthetic information is to ensure the confidentiality of the data. <xref ref-type="table" rid="table-4">Tabs. 4</xref> and <xref ref-type="table" rid="table-5">5</xref> shows the outcome for misclassification of correct output, misclassification of wrong output. <xref ref-type="fig" rid="fig-6">Figs. 6</xref>&#x2013;<xref ref-type="fig" rid="fig-8">8</xref> shows the results for misclassification of correct output, misclassification of wrong output and convergence, respectively.</p>
<table-wrap id="table-4"><label>Table 4</label>
<caption>
<title>MCO for proposed harmony search-SDS NN for synthetic dataset</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Faults injected</th>
<th>PSO-SDS NN</th>
<th>Harmony Search-SDS NN</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>3.2</td>
<td>3.09</td>
</tr>
<tr>
<td>2</td>
<td>3.18</td>
<td>3.05</td>
</tr>
<tr>
<td>3</td>
<td>5.62</td>
<td>5.42</td>
</tr>
<tr>
<td>4</td>
<td>6.36</td>
<td>6.11</td>
</tr>
<tr>
<td>5</td>
<td>6.96</td>
<td>6.71</td>
</tr>
</tbody>
</table>
</table-wrap><table-wrap id="table-5"><label>Table 5</label>
<caption>
<title>MWO for proposed harmony search-SDS NN for synthetic dataset</title></caption>
<table><colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Faults injected</th>
<th>PSO-SDS NN</th>
<th>Harmony Search-SDS NN</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>6.67</td>
<td>6.46</td>
</tr>
<tr>
<td>2</td>
<td>7.59</td>
<td>7.35</td>
</tr>
<tr>
<td>3</td>
<td>8.35</td>
<td>8.08</td>
</tr>
<tr>
<td>4</td>
<td>9.29</td>
<td>8.97</td>
</tr>
<tr>
<td>5</td>
<td>9.2</td>
<td>8.89</td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>MCO Comparison for Synthetic dataset</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_29703-fig-6.png"/>
</fig><fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>MWO comparison for synthetic dataset</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_29703-fig-7.png"/>
</fig><fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>CO for proposed harmony search-SDS NN</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_29703-fig-8.png"/>
</fig>
<p><xref ref-type="fig" rid="fig-6">Fig. 6</xref> shows that the MCO of Proposed Harmony Search-SDS NN performs better by 3.5%, by 4.17%, by 3.62%, by 4% and by 3.66% than PSO-SDS NN 1, 2, 3, 4 and 5 iteration respectively. It is clearly evident that Harmony Search-SDS NN is superior than PSO- SDS NN. The MCO of PSOSDS NN and HS-SDS NN are almost same in all the iterations and HS-SDS NN approach performs better the PSO SDS approach by a small margin in all cases.</p>

<p><xref ref-type="fig" rid="fig-7">Fig. 7</xref> reveals that the MWO of Proposed Harmony Search-SDS NN functions better by 3.19%, 3.2%, 3.29%, 3.5% and 3.43% than Proposed PSO-SDS NN at number 1, 2, 3, 4 and 5 iteration respectively. For all these iterations the performance of HS-SDS NN is superior than PSO SDS NN method. Even though the MWO of ANN performs is iteration 1 but as the number of injected fault increases the performance of ANN decreases and MWO is 13.53% for iteration 5. In case of proposed HS-SDS NN approach the MWO increases with number of fault but still it performs compared to other approaches.</p>
<p><xref ref-type="fig" rid="fig-8">Fig. 8</xref> shows that the CO of the Proposed Harmony Search-SDS NN occurred at 500th iteration, with a value of 0.23. Also, the convergence of the Proposed PSO-SDS NN occurred at 650th iteration, with a value of 0.35.</p>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>Errors can result in software failure. Software testing is carried to detect these faults. A regression test suite is used for the test cases selection, to maximize the test case&#x2019;s specific objectives that aid in decreasing the cost and time required for the service-oriented business application maintenance. Experimental results for the real dataset demonstrate that the MCO of the Proposed Harmony Search-SDS NN does better compared to the Proposed PSO-SDS NN by 4.04% at iteration number 1, by 3.37% at iteration number 2, by 3.39% at iteration number 3, by 4.09% at iteration number 4, and by 4% at iteration number 5. Experimental results for the Synthetic dataset also demonstrate that the MCO of the Proposed Harmony Search-SDS NN does better compared to the Proposed PSO-SDS NN by 3.5% at iteration number 1, by 4.17% at iteration number 2, by 3.62% at iteration number 3, by 4% at iteration number 4, and by 3.66% at iteration number 5. Among the two approaches proposed the HS-SDS NN performs better than PSO-SDS NN approach and is well suited for automated testing. Further Gravitational Search Algorithm can be utilized for enhancing the performance and can be evaluated for large scale software program in a real time environment.</p>
</sec>
</body>
<back><fn-group>
<fn fn-type="other">
<p><bold>Funding Statement:</bold> The authors received no specific funding for this study.</p>
</fn>
<fn fn-type="conflict">
<p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Agarwal</surname></string-name>, <string-name><given-names>D. E.</given-names> <surname>Tamir</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Last</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Kandel</surname></string-name></person-group>, &#x201C;<article-title>A comparative study of artificial neural networks and info-fuzzy networks as automated oracles in software testing</article-title>,&#x201D; <source>IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans</source>, vol. <volume>45</volume>, no. <issue>5</issue>, pp. <fpage>1183</fpage>&#x2013;<lpage>1193</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E. T.</given-names> <surname>Barr</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Harman</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Mcminn</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Shahbaz</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Yoo</surname></string-name></person-group>, &#x201C;<article-title>The oracle problem in software testing: A survey</article-title>,&#x201D; <source>IEEE Transactions on Software Engineering</source>, vol. <volume>4</volume>, no. <issue>5</issue>, pp. <fpage>507</fpage>&#x2013;<lpage>525</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R. A.</given-names> <surname>Oliveira</surname></string-name>, <string-name><given-names>U.</given-names> <surname>Kanewala</surname></string-name> and <string-name><given-names>P. A.</given-names> <surname>Nardi</surname></string-name></person-group>, &#x201C;<article-title>Automated test oracles: State of the art, taxonomies, and trends</article-title>,&#x201D; <source>Advances in Computers</source>, vol. <volume>95</volume>, no. <issue>4</issue>, pp. <fpage>113</fpage>&#x2013;<lpage>199</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Kennedy</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Eberhart</surname></string-name></person-group>, &#x201C;<article-title>Particle swarm optimization</article-title>,&#x201D; in <conf-name>Proc. of ICNN&#x2019;95 - Int. Conf. on Neural Networks</conf-name>, <publisher-loc>Perth, Australia, vol. </publisher-loc><volume>4</volume>, pp. <fpage>1942</fpage>&#x2013;<lpage>1948</lpage>, <year>1995</year>. </mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Das</surname></string-name>, <string-name><given-names>P. K.</given-names> <surname>Singh</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Bhowmik</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Sarkar</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Nasipuri</surname></string-name></person-group>, &#x201C;<article-title>A harmony search based wrapper feature selection method for holistic bangla word recognition</article-title>,&#x201D; <source>Procedia Computer Science</source>, vol. <volume>89</volume>, no. <issue>3</issue>, pp. <fpage>395</fpage>&#x2013;<lpage>403</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S. R.</given-names> <surname>Shahamiri</surname></string-name>, <string-name><given-names>W. M. N.</given-names> <surname>Wan-Kadir</surname></string-name> and <string-name><given-names>S. Z.</given-names> <surname>Mohd-Hashim</surname></string-name></person-group>, &#x201C;<article-title>A comparative study on automated software test oracle methods</article-title>,&#x201D; in <conf-name>Fourth Int. Conf. on Software Engineering Advances</conf-name>, <publisher-loc>Porto, Portugal</publisher-loc>, pp. <fpage>140</fpage>&#x2013;<lpage>145</lpage>, <year>2009</year>. </mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Kamaraj</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Arvind</surname></string-name></person-group>, &#x201C;<article-title>Strategies of automated test oracle &#x2013; A survey</article-title>,&#x201D; <source>Advances in Natural and Applied Sciences</source>, vol. <volume>11</volume>, pp. <fpage>1998</fpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E. T.</given-names> <surname>Barr</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Harman</surname></string-name>, <string-name><given-names>P.</given-names> <surname>McMinn</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Shahbaz</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Yoo</surname></string-name></person-group>, &#x201C;<article-title>The oracle problem in software testing: A survey</article-title>,&#x201D; <source>IEEE Transactions on Software Engineering</source>, vol. <volume>41</volume>, no. <issue>5</issue>, pp. <fpage>507</fpage>&#x2013;<lpage>525</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K. Senthil</given-names> <surname>Kumar</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Muthukumaravel</surname></string-name></person-group>, &#x201C;<article-title>A hybrid approach for test case prioritization using pso based on software quality metrics</article-title>,&#x201D; <source>International Journal of Engineering &#x0026; Technology</source>, vol. <volume>7</volume>, no. <issue>3.12</issue>, pp. <fpage>300</fpage>&#x2013;<lpage>303</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Braga</surname></string-name>, <string-name><given-names>B. S.</given-names> <surname>Neto</surname></string-name>, <string-name><given-names>R. A.</given-names> <surname>Rabelo</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Santiago</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Souza</surname></string-name></person-group>, &#x201C;<article-title>A machine learning approach to generate test oracles</article-title>,&#x201D; in <conf-name>SBES &#x2018;18: Proc. of the XXXII Brazilian Sym. on Software Engineering</conf-name>, <publisher-loc>Sao Carlos, Brazil</publisher-loc>, pp. <fpage>148</fpage>&#x2013;<lpage>151</lpage>, <year>2018</year>. </mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. R.</given-names> <surname>Shahamiri</surname></string-name>, <string-name><given-names>W. M.</given-names> <surname>Wan-Kadir</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Ibrahim</surname></string-name> and <string-name><given-names>S. Z.</given-names> <surname>Hashim</surname></string-name></person-group>, &#x201C;<article-title>Artificial neural networks as multi-networks automated test oracle</article-title>,&#x201D; <source>Automated Software Engineering</source>, vol. <volume>19</volume>, no. <issue>3</issue>, pp. <fpage>303</fpage>&#x2013;<lpage>334</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M. E.</given-names> <surname>Yousif</surname></string-name>, <string-name><given-names>S. R.</given-names> <surname>Shahamiri</surname></string-name> and <string-name><given-names>M. B.</given-names> <surname>Mustafa</surname></string-name></person-group>, &#x201C;<article-title>Test oracles based on artificial neural networks and info fuzzy networks: A comparative study</article-title>,&#x201D; in <conf-name>2015 IEEE 10th Conf. on Industrial Electronics and Applications (ICIEA)</conf-name>, <publisher-loc>Auckland, New Zealand</publisher-loc>, pp. <fpage>467</fpage>&#x2013;<lpage>471</lpage>, <year>2015</year>. </mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. R.</given-names> <surname>Shahamiri</surname></string-name>, <string-name><given-names>W. M. N.</given-names> <surname>Wan-Kadir</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Ibrahim</surname></string-name> and <string-name><given-names>S. Z. Mohd</given-names> <surname>Hashim</surname></string-name></person-group>, &#x201C;<article-title>An automated framework for software test oracle</article-title>,&#x201D; <source>Information and Software Technology</source>, vol. <volume>53</volume>, pp. <fpage>774</fpage>&#x2013;<lpage>788</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>K. L.</given-names> <surname>Du</surname></string-name> and <string-name><given-names>M. N. S.</given-names> <surname>Swamy</surname></string-name></person-group>, &#x201C;<article-title>Particle swarm optimization</article-title>,&#x201D; in <conf-name>Search and optimization by metaheuristics</conf-name>, <publisher-loc>Birkh&#x00E4;user, Cham</publisher-loc>, pp. <fpage>153</fpage>&#x2013;<lpage>173</lpage>, <year>2016</year>. </mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. A.</given-names> <surname>Sofokleous</surname></string-name> and <string-name><given-names>A. S.</given-names> <surname>Andreou</surname></string-name></person-group>, &#x201C;<article-title>Automatic, evolutionary test data generation for dynamic software testing</article-title>,&#x201D; <source>Journal of Systems and Software</source>, vol. <volume>81</volume>, no. <issue>11</issue>, pp. <fpage>1883</fpage>&#x2013;<lpage>1898</lpage>, <year>2008</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Ding</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Xu</surname></string-name></person-group>, &#x201C;<article-title>Mining test oracles for test inputs generated from java bytecode</article-title>,&#x201D; in <conf-name>IEEE 37th Annual Computer Software and Applications Conference</conf-name>, <publisher-loc>Kyoto, Japan</publisher-loc>, pp. <fpage>27</fpage>&#x2013;<lpage>32</lpage>, <year>2013</year>. </mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H. A.</given-names> <surname>Alhakbani</surname></string-name> and <string-name><given-names>R. M.</given-names> <surname>Al-Rifaie</surname></string-name></person-group>, &#x201C;<article-title>Feature selection using stochastic diffusion search</article-title>,&#x201D; in <conf-name>Proc. of the Genetic and Evolutionary Computation Conf.</conf-name>, <publisher-loc>Berlin, Germany</publisher-loc>, pp. <fpage>385</fpage>&#x2013;<lpage>392</lpage>, <year>2017</year>. </mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A. Singhal</given-names> <surname>Vineeta</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Bansal</surname></string-name></person-group>, &#x201C;<article-title>Generation of test oracles using neural network and decision tree model</article-title>,&#x201D; in <conf-name>5th Int. Conf. - Confluence The Next Generation Information Technology Summit (Confluence)</conf-name>, <publisher-loc>Uttar Pradesh, India</publisher-loc>, pp. <fpage>313</fpage>&#x2013;<lpage>318</lpage>, <year>2014</year>. </mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>X. S.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>Harmony search as a metaheuristic algorithm</article-title>,&#x201D; in <conf-name>Music-Inspired Harmony Search Algorithm. Studies in Computational Intelligence</conf-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, <publisher-name>Springer, vol. </publisher-name><volume>191</volume>, pp. <fpage>1</fpage>&#x2013;<lpage>14</lpage>, <year>2009</year>. </mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>I.</given-names> <surname>Hooda</surname></string-name> and <string-name><given-names>R. S.</given-names> <surname>Chhillar</surname></string-name></person-group>, &#x201C;<article-title>Test case optimization and redundancy reduction using GA and neural networks</article-title>,&#x201D; <source>International Journal of Electrical and Computer Engineering (IJECE)</source>, vol. <volume>8</volume>, no. <issue>6</issue>, pp. <fpage>5449</fpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>O.</given-names> <surname>Sangwan</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Bhatia</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Singh</surname></string-name></person-group>, &#x201C;<article-title>Radial basis function neural network based approach to test oracle</article-title>,&#x201D; <source>ACM SIGSOFT Software Engineering Notes</source>, vol. <volume>36</volume>, no. <issue>5</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>5</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. M.</given-names> <surname>Altmemi</surname></string-name>, <string-name><given-names>R. R.</given-names> <surname>Othman</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Ahmad</surname></string-name> and <string-name><given-names>A. S.</given-names> <surname>Ali</surname></string-name></person-group>, &#x201C;<article-title>Implementation of sine cosine algorithm (SCA) for combinatorial testing</article-title>,&#x201D; <source>IOP Conference Series: Materials Science and Engineering</source>, vol. <volume>767</volume>, no. <issue>1</issue>, pp. <fpage>012009</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Nakajima</surname></string-name></person-group>, &#x201C;<article-title>Automatic test case and test oracle generation based on functional scenarios in formal specifications for conformance testing</article-title>,&#x201D; <source>IEEE Transactions on Software Engineering</source>, vol. <volume>48</volume>, no. <issue>2</issue>, pp. <fpage>691</fpage>&#x2013;<lpage>712</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Y. W.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>M. Z.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Automatic test oracle based on probabilistic neural networks</article-title>,&#x201D; <source>Recent Developments in Intelligent Computing, Communication and Devices. Advances in Intelligent Systems and Computing</source>, vol. <volume>752</volume>, pp. <fpage>437</fpage>&#x2013;<lpage>445</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Kamaraj</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Arvind</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Srihari</surname></string-name></person-group>, &#x201C;<article-title>A weight optimized artificial neural network for automated software test oracle</article-title>,&#x201D; <source>Soft Computing</source>, vol. <volume>24</volume>, no. <issue>17</issue>, pp. <fpage>13501</fpage>&#x2013;<lpage>13511</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M. M.</given-names> <surname>Al-Rifaie</surname></string-name>, <string-name><given-names>J. M.</given-names> <surname>Bishop</surname></string-name> and <string-name><given-names>T. M.</given-names> <surname>Blackwell</surname></string-name></person-group>, &#x201C;<article-title>An investigation into the merger of stochastic diffusion search and particle swarm optimisation</article-title>,&#x201D; in <conf-name>GECCO &#x2018;11: Proc. of the 13th Annual Conf. on Genetic and Evolutionary Computation</conf-name>, <publisher-loc>Dublin, Ireland</publisher-loc>, pp. <fpage>37</fpage>&#x2013;<lpage>44</lpage>, <year>2011</year>. </mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z. W.</given-names> <surname>Geem</surname></string-name></person-group>, &#x201C;<article-title>State-of-the-Art in the structure of harmony search algorithm</article-title>,&#x201D; in <conf-name>Recent Advances In Harmony Search Algorithm. Studies in Computational Intelligence</conf-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, <publisher-name>Springer, vol. </publisher-name><volume>270</volume>, <year>2010</year>. </mixed-citation></ref>
</ref-list>
</back>
</article>