Performance Analysis of Qualitative Evaluation Model for Software Reuse with AspectJ using AHP

Reusability is necessary for developing advance software. Aspect Oriented programming is an emerging approach which understand the problem of arrangement of scattered software modules and tangled code. The aim of this paper is to explore the AOP approach with implementation of real life projects in AspectJ language and its impact on software quality in form of reusability. In this paper, experimental results are evaluated of 11 projects (Java and AspectJ) using proposed Quality Evaluation Model for Software Reuse (QEMSR) and existing Aspect Oriented Software Quality Model (AOSQ). To evaluate AOP quality model QEMSR based on developers AOP projects by using Analytic Hierarchy Process (AHP) tools. Paper provides the evaluation of software reusability and positive impact on software quality. QEMSR model is used to assess Aspect Oriented reusability quality issues, which helps developers to adapt for software development. The overall quality of three models QEMSR, existing AOSQ and PAOSQMO are 0.62552223, 0.5283693, and 0.505815 calculated. According to this, QEMSR model is best in form of quality in same characteristics and sub-characteristics. Keyword—Reusability; AspectJ; software quality metrics; analytic hierarchy process


I. INTRODUCTION
Various software quality models described the assessment of software quality in software engineering. Quality assessment of software is an interesting research area in software engineering. Several AOSD seminars, workshops and research conferences had considered evaluation of quality of software model is emerging sector in traditional software engineering journals and conferences. According to IEEE/ACM "Software Engineering Curriculum Guidelines list software engineering education" in 2004 as one of the ten specific areas of software engineering education [5] [20]. Various international network groups and research communities are working on software evolution. Software evolution concerned issues are very complex because it engages with various dimensions. This paper focuses performance evaluation of proposed Qualitative Evaluation Model for Software Reuse (QEMSR) by experimentation method using characteristics and its subcharacteristics. We describe some metrics such as WMC, DIT, NOC, LCOM, and CBO for statistical value [10]. We also analyze the existing model such as Aspect Oriented Software Quality Model (AOSQ) and Proposed AO Software Quality Model (PAOSQMO) to examined performance evaluation. The negative impact on software quality is duplication of code.
Crosscutting concerns reduced to have negative effect on understandability, maintainability, operability, modularity because understanding and changing crosscutting concerns requires touched various place in source code.
In existing system, firstly crosscutting concerns are derived after that distinguishes into aspects. Main traditional software reveals crosscutting concern that is called "tyranny of the dominant decomposition." In existing system, exploration helps to find out aspect. Aspects will help the software developers to examine where and how these tangling and scattering codes are implemented and its effect on quality of software [9]. This process is called aspect mining which is used to examine crosscutting concerns in existing model codes.

Contribution of the paper:
 To examine area of evolution of traditional programming (OOPs) different form evolution of Aspect Oriented Programming (AOP).
 To promote evolution of Object-oriented Programming (OOPs) be implemented to Aspect-oriented Programming (AOP).
 To improve performance evaluation of software quality models in software engineering.
This paper divides into eight sections. First section describe introduction about Aspect-oriented Programming. Related work has been done by the researcher explain in section two. Third section defines the framework or method to achieve research goal and motivation to do that work. Section four and five describe the platform used for practical work and design and result of experiment. Section six describes the analysis of experimental result and qualitative evaluation of 11 research case studies and its impact on quality. Examine performance evaluation of QEMSR model and existing model is described in section seven. In section eight, we discussed major finding of proposed quality model as conclusion and area for future research work for researcher point of view.

II. LITERATURE REVIEW
In late 1990s, Aspect-oriented Programming (AOP) is an emerging area in evolution of software and it declares the positive impact on software quality; simultaneously, various risks, challenges and paradoxes for AOP adoption for development of software. In 2006, Steimann stated the question: www.ijacsa.thesai.org "Does aspect orientation really have the substance necessary to found a new software development paradigm or is it just another term to feed the old buzzword permutation based research proposal and PhD thesis generator?" In 1997, Kiczales explore the idea of AOP pattern to modularize the crosscutting concerns in existing system.  [17]. In 2016, Pardeep Kumar Singh and Yugal Kumar assess the empirical evaluation of Aspect-oriented software quality model using multi-criteria decision making approach using PAOSQMO model. Pankaj Kumar and S.k. Singh also measure a comprehensive evaluation of Aspect-oriented software quality model (AOSQ) using Analytic Hierarchical Process (AHP) [26] [28]. In 2018, Petrus Mursanto and Dameria Christina Pasaribu define software quality rank using AHP and Objectoriented metrics which is used to perform evaluation of quality of QEMSR model [14][24] [30].
Sufia Nadeem Chishti explores the quality improvement in small scale projects using Aspect Oriented design in 2019[2] [19]. S. Dixit explores the performance of quality modeling using artificial neural network technique in Aspect Oriented Programming [7]. P. Kumar analyzes the metrics of Aspect Oriented and Object oriented using AspectJ and Java programming languages [8].
Hamed Fawareh proposed the software quality model for maintenance software purposes [6]. Bharti Bisht describes the metric approach to anticipate reusability of object oriented software systems [21].
K. Chitra measures the performance merits of software component using CK metrics [27]. We evaluate quality of QEMSR model using Analytic Hierarchical Process (AHP) that is based on AOS Quality Model (AOSQ) and PAOSQMO [25].

III. MOTIVATION AND METHODOLOGY
Last few years, various researcher working on different software quality model in software engineering. All researcher derived own quality model using some characteristics and metrics. These researchers also evaluate only derived model and not compared other researcher model in respect of quality. Every researcher use different technique to evaluate own quality model like Analytic Hierarchy Process, fuzzy logic, Gang of Four design pattern, etc. No anyone researcher can perform quality evaluation with same parameter with different quality model which is identify best model. So, we decide or motivate that we perform or derive a quality model in respect of reusability and its characteristics and metrics and compare with other model with same parameter. We also extend the qualitative evaluation of a model in more informative form, which helps for software developers to take decision to implement software or applications.
We can assume research methodology for this paper is software reengineering which is comparison analysis technique. Firstly, we can divide our objective into two parts like goals and sub-goals as shown in Fig. 1. In goals part, we define performance evaluation as purpose and concept use reusability. In sub-goals, internal characteristics and metrics are defined which measure the statistical data to evaluate quality. We can re-engineer concept that involve forward and reverse engineering principles. For experimentation purpose, we use quasi-controlled experimentation. www.ijacsa.thesai.org According to QEMSR model, research manipulates one or more independent variables to examine their impact on one or more dependent variables, set of metrics and validation of metrics [15]. We also describe the experimental part using 11 real world projects. We implement these projects in AspectJ and Java language and assign weight of methods and calculate average mean value for qualitative evaluation. All the 11 projects implement to assess contemporary phenomena within its real world situation.  To achieve goals and sub-goals, we also use R. Marti, Henry and Li, Garcia et. al. and C & K metrics definition and these metrics associated for quality measurement in AOP [29]. QEMSR model proposed to validate metrics and analysis of qualitative evaluation and its impact on quality for AOP. To validate metrics we use experimental results of 11 projects implementations (Java & AspectJ). Experimental result gives intuitive information for the analysis of evolutionary aspects during Aspect-oriented software evolution. Fig. 2 describes the methodology for performance evaluation of QEMSR.

IV. EXPERIMENTAL SET-UP
Set-up for experimentation is for 11 projects (AspectJ and Java) to collect descriptive value (metrics) for the analysis of quality of software using AOP metric tools; a common AOP metric tool for both Aspect-oriented and Object-oriented metrics, such as R. Martin, Henry and Li and C & K. For doing experiment operating system required MS Windows XP/7/8, AspectJ 1.6, Java JDK 1.6v and AOP metrics 0.3 binary 20 . Msexcel sheet generated for manipulation of descriptive data after successful execution of set of list files in a command line for a given source running compile.bat,(.1 st )(projects) and metrics.bat files. All these descriptive data used for analysis for several AOP characteristics by impact tests and statistical tests.

V. EXPERIMENTAL DESIGN AND RESULTS
We can design procedure for 11 projects (AspectJ and Java) implementation for analysis of quality of AOP software consist five steps:  Description of 11 projects which is used for experimentation or implementation (Java and AspectJ) as shows in Table II.
 Collection of data for experimental results and descriptive data used for AOP metric tools shown in Table IV.
 QEMSR framework which shown in Fig. 1.
 Methodology for performance evaluation of QEMSR shows in Fig. 2.
Ms-excel sheet generated for manipulation of descriptive data after successful execution of set of list files in a command line for a given source running compile.bat, (.1 st )(projects) and metrics.bat files. All these descriptive data used for analysis for several AOP characteristics by impact tests and statistical tests.
The main goal to provide qualitative evaluation using 11 real world projects implementation (AspectJ and Java) using metric and statistical data with regard to reusability characteristics and sub-characteristics from the software developers view point. Only interesting metrics for this evaluation is DIT, NOC, CBO, LCOM, WMC of reusability characteristics and sub-characteristics. In this paper 11 projects real world system from different size and domain is shown in Table II. Table III shows the description of metrics adapted for QEMSR. Table IV shows the absolute mean values of 11 projects (AspectJ and Java).Using measurement of metrics we evaluate the experimental results on 11 projects and correlation among reusability characteristics and sub-characteristics.   Less than 0.20 = "Extremely Helpful" 0.20-0.40 = "Very Helpful" 0.40-0.60 = "Helpful" 0. 60-0.80 ="somewhat Helpful" 0.80-1.00="Not so Helpful" Greater than 1.00 =" Not at all Helpful" www.ijacsa.thesai.org

VI. EVALUATION OF RESULTS
The collection of data for every module (interface, class, aspect) of every system use the extended version of Aspectoriented metric tools. For every real life project experimental result are represented independent. Crosscutting concerns investigated intensively for all 11 projects which show in Table II. For all project system represent common software problems and solution of those problems. Table IV define the average mean value of Aspect-oriented and Object-oriented implementations of 11 projects. The measurements of metrics have been computed but experimental results of 11 projects. The evaluation of quality of QEMSR model using characteristics and sub-characteristics and metrics adopted from C & K metric suite such as NOC, DIT, LCOM, WMC, and CBO. A smaller average value of lack of cohesion and coupling is between object taken for AOP AspectJ projects. Remaining metrics take same trends variation between values.
We can compare calculated percentage of all 11 project using matrices and determine difference of both AspectJ and Java implementation. 07 (64%) DIT metrics have higher value through Java implementation. 04 (36%) DIT metrics have higher value through AspectJ implementation. 04 (36%) LCO metrics have higher value through Java implementation. 06 (54%) LCO metrics have higher value through AspectJ implementation. 01 (10%) LCO have the same value. 07 (64%) NOC metrics have higher value through Java implementation. 04 (36%) NOC metrics have higher value through AspectJ implementation. 03 (27%) CBO metrics have higher value through Java implementation. 08 (73%) CBO metrics have higher value through AspectJ implementation. 03 (27%) WMC metrics have higher value through Java implementation. 07 (63%) WMC metrics have higher value through AspectJ implementation. 01 (10%) WMC have the same value. CBO and WMC have higher value as compared to NOC and DIT using AspectJ implementation. According to this, coupling is high in AspectJ implementation due to high value of WMC and CBO than the Java implementation. Limited numbers of projects are implemented in this paper, so we can't generalize the experimental results. Experimental results improve the validation of metrics for Aspect Oriented Programming and impact on quality of metrics. QEMSR model supports to take decision or choose the best quality for the applications software.

VII. PERFORMANCE ANALYSIS OF QEMSR MODEL USING AHP
In this paper, we used two approaches to appraise the AOP and its impact on quality.
1) Qualitative evaluation of Aspect-oriented programming using QEMSR model and Analytic Hierarchy Process technique, similar approach used by Kumar A adapted in this paper [18]. Developer's projects used to determine impact of quality using Aspect-oriented programming (AspectJ) and Object-oriented programming (Java).
2) Describe performance evaluation of QEMSR model using Analytic Hierarchy Process (AHP) with existing model Aspect-oriented Software Quality (AOSQ) model and Proposed Aspect-oriented Software Quality Model.
Saaty proposed Analytic Hierarchy Process technique uses the pair wise matrix to analyze ambiguity in multi-criterion decision-making problems. In this paper, n elements have main characteristics such as mC 1 , mC 2 ,mC 3 ………mC n considered, which have compared related weight of mC i with respect to mC i denoted as a ij . A square matrix A= [a ij ] of order n as given in equation (1) Where a ij = 1/a ij , for i is not equal to j and a ij = 1 for all i.
Matrix is said to be reciprocal metric.
A.ω = λ max .ω , λ max ≥ n Matrix involving human decision making, decision are inconsistent to a lesser or greater degree, in such a case find vector ω satisfy the equation (2).
Here ω is Eigen Vector and λ max define Eigen value. The dissimilarity between λ max and n if any is an indicator of inconsistency of decision. Saaty (1980) describe a consistency Index (CI) and Consistency Ratio (CR) to validate the consistency of the comparison matrix. Following equation is defined for validation:-Consistency Index (CI) = (λ max -l) / (n-1) Consistency Ratio (CR) = CI / RI (4) Here RI is the average consistency Index over several random entries of same order reciprocal matrix. Saaty (1980) suggested that if the Consistency Ratio exceeds 0.1, set of decision or judgment may be too inconsistent to be reliable. In that condition, a new comparison matrix is required to prepare until Consistency Ratio (CR) is less than equal to 0.1.
In this sequence to determine the sub-characteristics and characteristic for software in Aspect-oriented, we manage a survey from programmer's expert or software developers working in industry and academic experts who have completed their projects and worked in AOP domain. We can identify the weight value of characteristics and sub-characteristics. A table is used to fill the pair wise relative weight value of eight characteristics from mC 1 to mC 6 . The mean of all gathered samples of pair wise relative weight are given in square matrix A = [a ij ] of order eight in equation, which is derived using equation (1) to apply Analytic Hierarchy Process. We have calculated Eigen vector and Eigen value to find the corresponding weight of mC 1 , mC 2, mC 3 , mC 4 , mC 5 , mC 6 and CR. We also create a reciprocal matrix after that to calculate Eigen value and Eigen vector for CR and CI. www.ijacsa.thesai.org We assign value it to a square matrix taken from survey. We also assign pair wise relative weight value to all six characteristics using equation (1). Further step to calculate Eigen value and Eigen vector of get corresponding weights and CR. We calculate Eigen vector to multiply all the entries in every row of matrix A and take n th root (i.e. 6 th root) of the product helps in getting Eigen vector. Sum of the n th root and used to normalize the Eigen vector element.
The values for remaining five rows are calculated similarly. As per equation (2), λ max ≥ 6, to determine product of A.ω Eigen value also determined by using λ max= (A. ω/ ω). All values are greater than six which satisfy the condition λ max ≥ n we calculate Consistency Index using equation (3): CI = (6.46792-6) / (6-1) = 0.093584 After that we calculated CR for set of judgment using CI for considered samples. RI value can be taken from Saaty a scale that is 1.24 [22]. CR = (0.093584 / 1.24) = 0.07547 The calculated value of Consistency Ratio (CR) is 0.1 which indicates estimate is acceptable. The assessment of overall quality of any AOP projects evaluated using below mentioned formula:- Where n is the number of sub-characteristics, SCi is subcharacteristic i. We are determining quality of our QEMSR model and existing Aspect-oriented Software Quality (AOSQ) model and existing Proposed Aspect-oriented Software Quality Model (PAOSQMO) as shown in Table VII. The overall quality of three models QEMSR, AOSQ and PAOSQMO are 0.62552223, 0.5283693, 0.505815. According to this, QEMSR model is best in form of quality in same characteristics and sub-characteristics. This calculation shows that overall quality of QEMSR is defined positive impact on software quality. This paper also extends the methodology adapted by Kumar A and based on random choice and decision of experts on AOP technology. Fig. 4 shows the analysis of quality values of all internal characteristics of QEMSR, AOSQ and PAOSQMO model graphically. In AOP, AspectJ is a popular language which provides a support to the software developers to achieve improved quality. AOP is a standard that is trusted for quality improvement. AOP quality measurement has been trusted by evaluation of experimental results using a new QEMSR method and set of metrics for reusability and its sub characteristics. The set of AOP metrics (Coupling, Cohesion, size metrics such as DIT, NOC, CBO, LCOM, WMC, RFC) have authorized to support AspectJ and Java and an authentication of these existing metrics for quality assessment instead of new metrics proposed for AOP. Comparisons of projects are not industrial projects. Nevertheless, this paper provides the evaluation of quality and methodology of comparison as a single unit.
For future research perspective, to validate the quality metrics for large and more complex (commercial) system empirical study require in AOP research. Experimentation on large industrial projects for this domain is very difficult. This paper assessment provides some intuition about AOP and its quality which can't be generalized and it needs supplementary study. The focus of future research is on native programming languages, which is extension of AOP.