Performance Evaluation of “Ga-Fc” Technique for Aspect-Oriented Software System

Objectives : Exhaustive testing requires more eﬀort and consumes lots of time of the software testers. Recently, “GA-FC” technique has been proposed to generate test cases optimally for Aspect-Oriented Software System (AOSS). This paper evaluates the performance of the proposed “GA-FC” technique. Method : To analyze the performance of “GA-FC” technique, two parameters namely, Eﬀectiveness of Test Suite Minimization (ETSM) and Aspectual Branch Coverage (ABC) have been used against GA and FC technique individually. Findings: -GA-FC technique has been applied on three case studies and the obtained results reveal that GA-FC technique reduces the testing eﬀorts by producing the minimum number of test cases and time of the tester. Novelty: “GA-FC” technique generates the minimum number of test cases by composition of metaheuristic techniques.


Introduction
Verification and validation activities are performed throughout the life cycle of the software development process. These activities are generally used to evaluate the overall correctness of the product (1) . Therefore, both activities improve the reliability of the software and make ensure that the developed system fulfills the software requirement specification and satisfy the customer's needs (2) . Only good software testing process improves the quality and reliability of the software. However, exhaustive testing is impractical and not feasible, as even small programs may have a number of test cases that can be extremely large (3) . Therefore, exhaustive testing is not possible due to time and cost constraint. Therefore, the need of the hour is to develop the most efficient and effective technique which can reduce the time, cost and effort. Consequently, selection of the best optimal test data to the software is the main challenge against the software testers. Now a days, Artificial intelligent techniques have been used in every walk of life such as intelligent used in transportation system, software testing, cloud computing, healthcare, agriculture (4)(5)(6) . Reduction of the size of the test suite is known as test suite https://www.indjst.org/ minimization technique. In test suite minimization approach, test suite is selected from the original large test suite which contains a smaller number of test cases. Thereafter, this minimized test suite is used to test the software effectively and efficiently on the basis of certain criteria. Thus, minimized test suite reduces the redundant test cases or eliminates the test cases that are of no use from the original test suite. In this way, test suite minimization technique directs to reduce the testing cost (7) .
However, UML (Unified Modeling Language) is gaining more attention of the researchers in the field of software engineering. UML provides a blueprint of the system that can be easily understood by the non-technical persons too. Consequently, UML activity diagram is used to depict the workflow of the system. Independent paths can be derived from UML activity diagram. These independent paths can be used as test cases but generated test cases can be large in size. So, one need to be reduced the number of test cases on the basis of the specified criteria using some systematic procedure. According to Harrold et.al. (7) , definition of test suite minimization can be defined as: "Let T be a test suite with a set of test cases {t 1 , t 2 , --, t n }, and a set of test requirements R= {r 1 Ur 2 U---Ur n }.Therefore, T1 is a subset of T satisfying a requirement criteria R1 where R1= {r11Ur21U---Ur1n1} Many researchers have tried to optimize the test case selection process using the different techniques (8)(9)(10) . But, still it is very challenging because current solutions are not sufficient as they are limited in scope. A number of evolutionary and non-evolutionary algorithms have been developed to minimize the size of the test suite for a given problem in a traditional programming. Researchers have put their effort to optimize the large test suite by using evolutionary and non-evolutionary algorithms (11)(12)(13)(14)(15) in traditional programming. But literature of aspect-oriented software testing techniques indicates that a very few works has been done towards the test suite minimization using the evolutionary or non-evolutionary algorithms and moreover, very few frameworks have been developed to test the validation of aspect-oriented software (16)(17)(18)(19)(20)(21)(22)(23)(24)(25) . Recently, a novel technique "GA-FC" has been proposed to reduce the number of test cases from the large number of test cases by using the characteristics of two metaheuristic algorithms; GA and FC (26) . This approach takes the advantage of both algorithms to make the testing process efficient. Optimality and fast processing over large solution space property feature of GA and soft clustering feature of FC to get more significant results are taken into consideration. This paper presents a performance evaluation of the proposed "GA-FC" techniques on three well known problems of aspect-oriented software system namely, a) Automatic teller machine, 2) Online Banking System and 3) On line Shopping for minimization of test cases on the two parameters such as 1) ETSM and 2) ABC.

Proposed Model for "GA-FC"
In this section, an aspectual UML activity diagram-based test suite optimization model for proposed "GA-FC" technique for AOP has been developed. The proposed model for "GA-FC" technique has been revealed with an aspectual UML activity diagram and an evolutionary computation technique namely, Genetic Algorithm and Fuzzy Clustering. Test suite optimization techniques will not always prove their success to find the best results due to limited resources. Hence, it can be assumed that integration of automated model-based test case generation and selection with optimization technique may produce one or more effective test cases. Therefore, in this work, an effort has been taken to develop test suite optimization technique using aspectual UML activity diagram for AOP. Results obtained from the proposed "GA-FC" technique has proven success in the field of Aspect-Oriented Software testing. Figure 1 depicts the detailed sketch of the model for "GA-FC" technique, in which test cases are generated from the requirement model of the case study and evaluated with the test adequacy criteria i.e. Aspectual Branch Coverage (ABC) Criteria. If generated test case is competent based on test adequacy criteria then passes to the next phase otherwise more iterations are needed to generate adequate test case. The following steps have been followed in the proposed "GA-FC" model:- • Construct an aspect weaving or aspectual UML activity diagram from the source code of an AOP and transform into CFG. Definition of CFG is stored in adjancey matrix. • Generate effective and efficient test cases from the aspectual UML activity diagram by using the application of GA. An objective (i.e. Prioritized Fitness Value (PFV) function is defined as (18) : where IF i =FAN in *FAN out of each node and W i =Weight of each node according to node type.
• To obtain the more specific or accurate results, the output of GA has been used as an input for FC algorithm in the proposed "GA-FC" technique and performed evolutionary computation to achieve more optimized test suite (26) . https://www.indjst.org/

Performance Evaluation of "GA-FC" Technique
The performance of the proposed "GA-FC" test suite minimization technique has been evaluated against GA (Genetic Algorithm) and FC (Fuzzy Clustering) techniques individually for test suite minimization. GA and FC have been applied in software testing to identify reduced, prioritized and optimized test sets for a given problem. The main purpose is to perform a rigorous and comprehensive comparative study of GA and FC and "GA-FC". To assess the comparative performance of the proposed "GA-FC" approach, three well-known AOP case studies are used for experimental evaluation of the proposed "GA-FC" technique. To conduct the comparative evaluation of proposed "GA-FC" technique, the following two parameters have been taken:  (11) . Notion for ETSM: The impact of test suite minimization can be measure using ABC parameter which "Measure as the percentage of covered aspectual branches among all branches" (13) . This parameter is one of the most popular which has been used commonly in existing testing techniques for AOSS (15) . Notion for ABC: Three well-known case studies of AOP namely "Case Study-1: Automatic Teller Machine (9,26) ", "Case Study-2: Online Banking System (25) " and "Case Study-3: On line Shopping System (24) have been taken to assess the experimental analysis of the proposed "GA-FC" technique against GA and FC. https://www.indjst.org/

Case Study-1 "Automatic Teller Machine"
The proposed "GA-FC" technique was applied to case study-1, "Automatic Teller Machine (13) ". Case study-1 has one aspect node: "Authorization". From the UML activity diagram of "Automatic Teller Machine" generated seven independent testing paths (26) . Table 1 depicts the five independent testing paths and their PFVs are correspondingly for case study-1.
Performance evaluation of all three case studies has been discussed in the next section 4.

Performance evaluation of "ga-fc" technique based on aop testing problem
This section discusses the results obtained when test suite minimization achieved using proposed "GA-FC" was comparatively evaluated against GA (Genetic Algorithm) and FC (Fuzzy Clustering) based techniques for all three case studies.  A comparative performance analysis of a novel "GA-FC" technique for test suite minimization for aspect-oriented software system with metaheuristic techniques namely, GA and FC. Figure 1 and figure 2 clearly describes the performance of "GA-FC" is either equally good or better than GA and FC. The AOSS problems taken in this study are three different computer science engineering case studies which have already been used earlier in a number of similar experiments.

Conclusion
The performance of the proposed "GA-FC" technique has been evaluated and compared with two soft computing optimization techniques namely GA and FC individually. The comparative results confirm that "GA-FC" performs either equally well or better than GA and FC techniques individually in terms of percentage of size of test suite reduction and percentage of complete aspectual branch coverage of reduced test suite. Moreover, any technique with higher test suite reduction percentage and maximum satisfies adequacy criteria improves the quality of the software as well as significantly reduced the time, effort and cost of the software system. Therefore, the proposed "GA-FC" technique proves its effectiveness with higher coverage of specified adequacy criteria (i.e. aspectual branch coverage criteria) using relatively smaller test suite. The future research will try to measure the performance of the "GA-FC" technique on real world problems using some other parameters.