=Paper=
{{Paper
|id=Vol-2017/paper11
|storemode=property
|title=Estimating Web Service Quality of Service Parameters using Source Code Metrics and LSSVM
|pdfUrl=https://ceur-ws.org/Vol-2017/paper11.pdf
|volume=Vol-2017
|authors=Lov Kumar,Santanu Rath,Ashish Sureka
|dblpUrl=https://dblp.org/rec/conf/apsec/KumarRS17
}}
==Estimating Web Service Quality of Service Parameters using Source Code Metrics and LSSVM==
5th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2017)
Estimating Web Service Quality of Service
Parameters using Source Code Metrics and LSSVM
Lov Kumar Santanu Rath Ashish Sureka
NIT Rourkela, India NIT Rourkela, India Ashoka University, India
lovkumar505@gmail.com skrath@nitrkl.ac.in ashish.sureka@ashoka.edu.in
Abstract—We conduct an empirical analysis to investigate the a model using LSSVM method with three different types of
relationship between thirty seven different source code metrics kernel functions: linear kernel, polynomial kernel and RBF
with fifteen different Web Service QoS (Quality of Service) kernel. LSSVM method is a least square version of support
parameters. The source code metrics used in our experiments
consists of nineteen Object-Oriented metrics, six Baski and vector machine (SVM) and is based on statistical learning
Misra metrics, and twelve Harry M. Sneed metrics. We apply theory [18].
Principal Component Analysis (PCA) and Rough Set Analysis for The overall effectiveness and performance of the QoS
feature extraction and selection. The different sets of metrics are parameter prediction models depends on the subset of source
provided as input to the predictive model generated using Least code metrics used as input to develop the statistical models.
Square Support Vector Machine (LSSVM) with three different
types of kernel functions: RBF, Polynomial, and Linear. Our In our work, six different sets of source code metrics: all
experimental results reveal that the prediction model developed metrics (AM) for source code (thirty seven metrics), Baski
using LSSVM method with RBF kernel function is more effective and Misra Metrics suite (BMS), Harry M. Sneed Metrics suite
and accurate for prediction of QoS parameters than the LSSVM (HMS), Object-Oriented source code metrics (OOM), metrics
method with linear and polynomial kernel functions. Further- extracted using Principal Component Analysis (PCA) method
more, we also observe that the predictive model created using
object-oriented metrics achieves better results in comparison to and metrics selected using Rough Set Analysis (RSA) are
other sets of source code metrics. considered as input to develop a QoS prediction model. The
Index Terms—LSSVM, Machine Learning, Service Oriented study presented in this paper is an extension of our previous
Computing, Source Code Metrics, Web Services, Quality of work on predicting QoS parameters using Extreme Learning
Service (QoS) Machines [7]. While ELM has been used in the past for QoS
parameter prediction, the application of LSSVM is novel and
I. I NTRODUCTION unique in context to exiting work. This research contributions
Service Oriented Computing and Architecture (SOA) of the study presented in this paper are the following:
paradigm consists of assembling and combining loosely cou- 1) Application of 37 source-code metrics for prediction
pled software components called as services for developing of 15 different Web Service QoS parameters by using
distributed system. Prediction of Web Service QoS parameters LSSVM machine learning classifier with three different
is important for both the developers and consumers of the variants of kernel functions.
service [7]. One of the major objectives of a Web Service 2) Application of two feature selection techniques i.e., PCA
provider is the ability to estimate and subsequently improve and RSA to select suitable set of source code metrics
the QoS parameters associated with the given Web Services. for building a predictive model.
One of the approaches for estimating and improving the
QoS parameters is to compute source-code metrics during II. R ELATED W ORK
the development phase. Predicting quality of Object-Oriented Several researchers have investigated the impact of Object-
(OO) Software System using different kinds of source code Oriented (OO) source code metrics on software quality and
metrics is an area which has attracted several researchers’ observed that OO metrics have a strong influence on software
attention in the past [2][22][11][5]. However, predicting QoS quality attributes. Research shows that the quality of OO
parameters for Web Services using source code metrics is software can be estimated using several source code metrics
a relatively unexplored area. In the study presented in this [5] [10] [3] [9][8]. Bingu Shim et al. have defined five dif-
paper, we conduct an experiment on fifteen different quality of ferent quality parameters i.e., effectiveness, flexibility, discov-
service parameters such as Availability, Best Practices, Com- erability, reusability and understandability for service oriented
pliance, Conformity, Documentation, Interoperability, Latency, applications [16]. Mikhail et al. have defined SCMs in order to
Maintainability, Modularity, Response Time, Reusability, Reli- measure the structural coupling & cohesion of service-oriented
ability, Successability, Throughput, and Testability, using thirty systems [14][15]. Vuong Xuan Tran et al. proposed a novel
seven different source code metrics on a dataset consisting approach to design and develop QoS systems and describe
of two hundred real-world Web Services. We compute thirty an algorithm to evaluate its ranking in order to compute the
seven source code metrics and use them as input to develop quality of Web services [19]. Cristian Mateos et al. analyzed
Copyright © 2017 for this paper by its authors. 66
5th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2017)
the available approaches to remove undesirable anti-patterns LSSVM based approach. The Web Service dataset provides the
using code-first [12]. Ping Wang proposed another decision quality of service parameters values such as response time,
model under obscure data to choose a Web Service [21]. availability, throughput, compliance, latency for 2507 Web
Services. The QoS parameters values by the dataset provider
III. R ESEARCH F RAMEWORK
are computed using Web service benchmark tools [1]. In this
A. Dependent Variables- QoS Parameters study, we use 200 Web Services for the analysis. The reason
Al-Masri et al. define 9 quality of service parameters of for selection of 200 web-services is stated in our earlier work
Web Services. They compute the QoS parameters using Web [7] as the study presented in this paper is an extension of the
service benchmark tools. The QoS parameters are: Availability previous work.
(AV), Best Practices (BP), Compliance (CP), Documentation
D. Feature Extraction using Principal Component Analysis
(DOC), Latency (LT), Response Time (RT), Reliability (REL),
(PCA)
Successability (SA), Throughput (TP), Maintainability, Modu-
larity, Reusability, Testability, Interoperability and Conformity. We perform feature extraction using Principal Component
These QoS parameters are the dependent variables for the Analysis (PCA). The main motivation of using PCA is for
machine learning model. transforming high dimension data space into lower dimension
data space. The lower dimension data consists of the most
B. Predictor Variables: Source Code Metrics significant features [20]. We label the new metrics (or features)
Three different types of metrics suite are considered as after applying PCA as principal component domain metrics.
independent or predictor variables Figure 1 displays the steps followed by us to extract the feature
1) Object-Oriented Source Code Metrics: We compute set using PCA.
nineteen different Object-Oriented source code metrics from
the bytecode of the compiled Java files of the Web Services Eigen value and Eigen
in our experimental dataset using CKJM extended tool1 [5]. Feature vector computation
using MATLAB
normalization -
CKJM extended is an extended version of tool for calculating zero mean value command
Data Set (eign = eig(data))
Chidamber and Kemerer Java source code metrics and many
other metrics such as average method complexity, McCabe’s
Cyclomatic Complexity, lack of cohesion among the classes.
Java class files from the WSDL file are generated using Principal components
Reduced set of
WSDL2Java Axis2 code generator2 , which is available as an features (metrics)
selection based on
eigenvalue being greater
Eclipse plug-in. We then compiled the Java files to generate are evaluated
than 1.0
the bytecode for computing the size and structure of software
metrics using the CKJM extended tool. Fig. 1: Sequence of Steps for Applying PCA
2) Henry M. Sneed WSDL Metric Suite: Sneed et al.
develop a tool for measuring Web Service interfaces [17][6]. We apply PCA with varimax rotation technique on all the
The suite primarily consists of six different source code software metrics. Table I shows the result and outcome of PCA
metrics to measure complexity of service interfaces: Data with varimax rotation method. Table I reveals the relationship
Flow Complexity, Interface Relation Complexity, Interface between domain metrics and original software metrics. For
Data Complexity, Interface Structure Complexity, Interface each principal component (PC), % variance, % cumulative and
Format Complexity and Language Complexity. These metrics interpreted metrics set are presented in Table I.
are statically computed from a service interface in WSDL. The TABLE I: Principle Component Analysis (PCA) Results
metrics are based on analyzing the WSDL schema elements
PC Eigenvalue variance % % Cumulative Interpreted Metrics
[17][6]. PC1 6.40 17.30 17.30 Ce, Ca, RFC, CBO, LCO, LCOM3,
CAM, DAM
3) Baski and Misra Metrics: Baski and Misra proposed a PC2 5.8 15.76 33.06 DP, FP, OP, MRS, OPS, IDFC, IRC
tool to compute six different complexity metrics of WSDL file PC3 3.67 9.94 43.00 CE, MiRV, MDC, MeRV, DW, MR
PC4 3.39 9.16 52.17 ILC, DMR, ISC, IDC
[4]. These metrics are based on the analysis of the structure PC5 3.34 9.03 61.2 MOA, CBM, IC
PC6 2.50 6.77 67.98 MFA, NOC, DIT, IFC
of the exchanged messages described in WSDL file which PC7 2.23 6.02 74.00 NPM, WMC
becomes the basis for computing the data complexity. These PC8 2.14 5.79 79.79 AMC, MRV
PC9 1.36 3.7 83.5 LCOM
metrics are based on analyzing the WSDL and XSD schema
elements [4].
E. Feature Selection using Rough Set Analysis (RSA)
C. Experimental Dataset
Before the application of RSA, the input data need to
In our study, the Web Service dataset collected by Al-Masri be categorized. In our study, K-means clustering approach
et al. 3 is used to measure the performance of the proposed is applied for the purpose of data categorization. In the
1 http://gromit.iiar.pwr.wroc.pl/p inf/ckjm/ approach, the data belonging to a particular cluster are grouped
2 https://sourceforge.net/projects/wsdl2javawizard/ under a single category or class. After the application of K-
3 http://www.uoguelph.ca/∼qmahmoud/qws/ means clustering approach, we obtain 3 clusters and the data
Copyright © 2017 for this paper by its authors. 67
5th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2017)
were categorized into three groups: High, Medium, and Low
Availability
correlation. Figure 1 shows the steps followed to identify the
best set (in-terms of relevance) of features using RSA. AM Response Time
Feature Successability
Calculation of Lower
Categorization into and upper
groups using approximation of all
k-means clustering BMS Throughput
Data Set method
possible sets
Compliance
Identification of Computation of Reliability
HMS
best set of Accuracy for all
source-code metrics possible sets
Latency
Fig. 2: Rough Set Analysis (RSA) based Feature Selection
OOM Best Practices
Table II displays the selected set of source-code metrics for
every QoS parameter. The resultant set is derived from the Maintainability
original set of 37 source-code metrics using RSA approach. PCA
Documentation
TABLE II: Source Code Metrics Identified using Rough Set RSA Reusability
Analysis (RSA)
QoS Selected Metrics Modularity
Availability MiRV, Ca, CC, CAM, IC, MFA, LC, SC, LCOM3, WMC, FC, MeRV
Response Time Ca, DMR, LC, SC, WMC, MFA, CC, IC, CAM, LCOM3
Successability CAM, LCOM3, DAM, FC, LC, DFC, MRV, ME, SC, WMC, LCO, MOA
Independent Variables
Throughput MiRV, Ce, CC, CAM, ME, MFA, LC, SC, CBM, MRV, FC, MeRV, MOA Interoperability
Compliance MiRV, NPM, CC, WMC, CAM, MOA, SC, LC, FC, DFC, ME, Ca, MRV, DAM
Reliability LCOM3, MFA, FC, LC, DFC, CAM, SC, WMC, LCO, MOA
Latency IC, FC, LC, DMR, MRV, MOA, ME, CAM, DC, DFC, NOC, LCO, NPM
Best Practices MiRV, Ca, CC, CAM, ME, MFA, LC, SC, MRV, FC, MOA, WMC, DFC, NPM Testability
Maintainability CBM, DP, LCOM3, MFA, Ce, CAM, MOA
Documentation CC, LC, ME, IC, SC, CAM, Ca, DFC, MRV, WMC, MeRV, FC, NPM
Reusability LCOM3, FC, MDC, LCOM, DMR, SC, LC, DFC
Modularity AMC, LC, DMR, SC, Ca, IC, DFC, ME, DP, MiRV, MOA, MRV, WMC Conformity
Interoperability MiRV, CC, SC, MeRV, LC, WMC, MFA, DIT, CBO
Testability FC, CC, RFC, ME, NOC, MiRV, DIT, SC, LC
Conformity CAM, Ca, ME, DFC, FC, WMC, MRV, LC Dependent Variables
Fig. 3: Dependent and Independent Variables
F. Effectiveness of Metrics
Once we have the QoS data, the relationship or degree of
association between source code metrics and QoS parame- generate models for predicting QoS parameters. The different
ters can be determined. The set of source code metrics are set of source code metrics are used a input of the models. We
considered as independent variables and QoS parameters are also examine LSSVM different kernel functions to investigate
considered as a dependent variables. In our experiments, six if we can achieve better result and compare the performance
different set of source metrics (all metrics (AM), Baski and of various kernel functions.
Misra metrics suite, Henry M. Sneed WSDL metric suite, The block diagram displayed in Figure 4, illustrates the
object-oriented metrics suite, selected set of metrics princi- sequence of steps used to determine the predicted quality of
pal component analysis (PCA), and selected set of metrics service (QoS) parameters using the LSSVM method with three
using rough set analysis (RSA) are considered as input to different types of kernel functions. In our work, the following
develop fifteen QoS parameters (Response Time Availabil- steps are performed to generate quality of service prediction
ity, Throughput, Successability, Reliability, Compliance, Best models:
Practices, Latency, Documentation, Maintainability, Modular- 1) Source code metrics computation for all the Web Ser-
ity, Reusability, Testability, Interoperability, and Conformity) vices in the data-set as described in Section III-B.
prediction models. Figure 3 shows the independent and de- 2) Selection of suitable set of source code metrics using
pendent variables used for QoS parameter prediction model. PCA and RSA feature extraction and selection tech-
From Figure 3, we infer that a total of eight different sets of niques.
independent variables are possible for each QoS parameter. 3) Predictive model generation by considering source code
metrics as input to estimate fifteen different quality of
IV. P ROPOSED M ACHINE L EARNING BASED A PPROACH service parameters.
Least Square Support Vector Machines (LSSVM) are super- 4) Identification of performance measures to evaluate the
vised learning methods having wide range of applications doe predictive ability and effectiveness of quality of service
classification, regression and outliers detection problems [18]. prediction models.
In our experiments, we use LSSVM as regression technique to 5) Application of validation methods to determine the true
Copyright © 2017 for this paper by its authors. 68
5th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2017)
Baski and Misra Performance
Metrics (BMS) Linear Kerenl
Evaluation
Baski and
Baski and
Misra Metric
Misra Metrics
suite
Henry M. Sneed
WSDL File Metrics (HMS)
Henry M.
Sneed Tool Polynomial
Sneed Metrics Statistical Test
Object Kerenl
Oriented
QoS metrics
WSDL to Java (OOM)
Object- All metrics (AM)
CKJM
Source Code Oriented Model
Extended RBF Kerenl
Metrics PCA comparsion
RSA
Set of source code metrics Least Square Support Vector Validation of developed models
Machines (LSSVM method)
Fig. 4: Proposed Steps Used for the QoS Prediction (A Multi-Step Process)
predictive applicability of the predictive models. D. Performance Parameter
6) Application of rigorous statistical significance tests to In order to evaluate the QoS prediction model, various
compare the performance of one prediction technique performance parameters are defined in the machine learning
over other approaches and also determine the superiority literature to measure the effectiveness of the QoS prediction
of one set of source code metrics over the other sets. models. In this work, we consider three different performance
parameters: Mean Magnitude Relative Error (MMRE), Mean
A. Computation of Source Code Metrics
Absolute Error (MAE), and Root Mean Square Error (RMSE)
During our experimental analysis, we consider 200 Web Ser- to evaluate the QoS prediction model [13]. A lower value for
vices as the experimental dataset (same as used by Kumar et these performance parameters denotes an effective prediction
al. [7]). In this work, WSDL interface complexity metrics and model.
WSDL complexity metrics are computed using Henry Sneed
metrics tool and Baski and Misra metrics tool respectively. E. Validation Method
Then we use the wsimport 4 tool to parse WSDL document file The objective of the study presented in this paper is to
of a Web Service and generate its corresponding Java class. build and apply statistical models to predict different QoS
This involves extracting the Java source code implementing parameters for future releases and unseen similar natured
the service. As shown in Figure 4, we compiled the Java files projects. Hence, it is necessary to validate the developed QoS
to generate the bytecode for computing the size and structure model on a different data-sets than the dataset on which the
software metrics using the CKJM extended tool. training is done. In our experiments, we consider the standard
k-fold cross validation approach (we take k = 10) to validate
B. Feature Selection Method the proposed QoS model. In our analysis, we also perform
In our experiments, we examine 37 different software outlier detection analysis to eliminate the extreme values
metrics (Chidamber and Kemerer, Harry M. Sneed, Baski which may add to the noise & bias in the model performance
& Misra)) to predict 15 different QoS attributes. It is very and accuracy results. The outlier analysis is doen based on the
essential to remove irrelevant and unimportant source code following equations:
metrics out of these source code metrics so that only relevant
source code metrics are included in the construction of QoS if |yji − yˆj | > 3 ∗ σ for Effective outliers
ei =
prediction models. In order to achieve the stated objective, we if |yji − yˆj | <= 3 ∗ σ for Non Effective outliers
consider two different features selection techniques: principal (1)
component analysis and rough set analysis for feature selec-
F. Statistical Significance Tests and Procedures
tion.
In order to bring rigour and mitigate threats to validity in
C. Prediction Techniques our analysis of the results, we apply pairwise t-test approach.
We conduct t-test to determine which prediction method and
In this work, we have use LSSVM with three different
feature selection techniques performs relatively better or does
kernel functions to develop QoS prediction model.
the models perform equally well. We analyze all the results
4 http://docs.oracle.com/javase/6/docs/technotes/ based on the 0.05 significance level, i.e. two models are
tools/share/wsimport.html significantly different (null hypothesis rejected) if the p-value
Copyright © 2017 for this paper by its authors. 69
5th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2017)
is less than 0.05 (the cut-off valie) else there is no significant Table III displays the MMRE, MAE, and RMSE values
different between them (null hypothesis accepted). obtained after applying LSSVM method with linear kernel,
polynomial kernel and RBF kernel functions. Table III pro-
0.4
vides complete and detailed results for all the QoS parameters,
feature extraction and selecion techniques, metrics suites and
0.3
performance evaluation methods. From Table III, we make the
0.2
following observations:
Pearson residual
0.1
0 1) In case of linear kernel function, we observe that the
-0.1 model built by considering selected set of metrics using
-0.2 RSA as input has low values of MMRE, MAE and
-0.3 RMSE in comparison with other sets of metrics. This
-0.4
clearly implies that the performance of the model de-
-0.5
veloped using RSA is much better than the performance
BMS HMS OOM AM PCA RSA of other models i.e., low vales of MMRE, MAE, and
Fig. 5: Box-Plot Visual Analysis (Linear Kernel) RMSE for QoS prediction as compared to a model
developed using other sets of metrics.
2) In case of polynomial kernel function, we observe that
the model built by considering all metrics has low value
of MMRE, MAE and RMSE in comparison to other
0.3
sets of metrics. We thus infer that the performance of
0.2
the prediction model developed using all metrics (AM) is
Pearson residual
0.1
much better than other models i.e., low vales of MMRE,
0
MAE, and RMSE for QoS prediction as compared to a
-0.1 model developed using other sets of metrics.
-0.2 3) In case of RBF kernel function, we notice that the model
-0.3 developed by considering Baski and Misra Metric has
-0.4 low value of MMRE, MAE, and RMSE in comparison
with other sets of metrics. This implies that the per-
BMS HMS OOM AM PCA RSA
formance of the model developed using BMS is much
Fig. 6: Box-Plot Visual Analysis (Polynomial Kernel) better than other models i.e., low vales of MMRE, MAE,
and RMSE for QoS prediction as compared to a model
developed using other sets of metrics.
0.8
In order to have a visual comparion (visual analytics) of
the results, we draw the Pearson residual boxplots of models
0.6
developed using LSSVM method with linear kernel function.
Pearson residual
0.4
The plots are displayed in Figure 5. The middle line of each
0.2 box in Figure 5 shows the median value of Pearson residual.
0 From Figure 5, we observe that all models built have a median
-0.2 residual value close to zero and the model developed by
-0.4 considering selected set of metrics using RSA has smallest
-0.6
whiskers, narrowest box as well as few numbers of outliers.
This shows that model developed by considering selected set
BMS HMS OOM AM PCA RSA of metrics using RSA as input results in better performance
as compared to other metrics. Figure 6 shows the Pearson
Fig. 7: Box-Plot Visual Analysis (RBF Kernel)
residual boxplots of models developed using LSSVM method
with polynomial kernel function. From Figure 6, we infer that
V. E XPERIMENTAL A NALYSIS all models have a median residual value close to zero and
In this paper, LSSVM method with three different types of the model developed based on selected set of metrics using
kernel functions have been considered to develop a model to AM has smallest whiskers, narrowest box as well as few
predict fifteen different QoS parameters by considering six numbers of outliers. This result shows that model developed
different set of source code metrics as input. The detailed by considering AM as input results in better performance as
descriptions of these source code metrics were already pre- compared to others.
sented in section III. The performance of the developed QoS Figure 7 shows the Pearson residual boxplots of models
prediction models are compared using three different types of developed using LSSVM method with RBF kernel function.
performance parameters i.e., MMRE, MAE and RMSE. From Figure 7, it is observed that all developed models have
Copyright © 2017 for this paper by its authors. 70
5th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2017)
TABLE III: Performance Matrix for LSSVM method with Linear, Polynomial and RBF Kernel and All Different Metrics Suites
ity
ility
ime
ion
ces
ity
il
ntat
t
erab
nce
se T
nab
ity
ility
ty
hpu
abil
lity
acti
ity
ity
i
form
ular
plia
ume
ency
sabi
ntai
abil
abil
t Pr
ilab
cess
oug
rop
pon
Com
Mod
Con
Test
Reli
Mai
Reu
Inte
Thr
Doc
Ava
Res
Suc
Lat
Bes
Linear Kernel
MMRE
AM 0.32 0.32 0.35 0.74 0.60 0.68 0.56 0.46 0.32 0.90 0.29 0.14 0.16 0.13 0.06
OOM 0.31 0.33 0.34 0.73 0.59 0.69 0.51 0.36 0.39 0.89 0.46 0.44 0.42 0.49 0.25
WIM 0.32 0.34 0.35 0.74 0.61 0.67 0.56 0.38 0.49 0.92 0.42 0.22 0.20 0.18 0.06
WSM 0.31 0.33 0.35 0.75 0.60 0.68 0.56 0.39 0.72 0.91 0.66 0.41 0.35 0.43 0.21
RSA 0.31 0.34 0.34 0.65 0.60 0.69 0.56 0.34 0.84 0.94 0.62 0.32 0.38 0.30 0.10
PCA 0.31 0.34 0.35 0.74 0.61 0.66 0.55 0.37 0.54 0.92 0.61 0.33 0.31 0.33 0.13
MAE
AM 0.13 0.09 0.16 0.19 0.25 0.24 0.11 0.19 0.08 0.21 0.09 0.04 0.08 0.04 0.03
OOM 0.13 0.09 0.16 0.18 0.25 0.24 0.1 0.17 0.10 0.21 0.13 0.12 0.18 0.13 0.14
WIM 0.14 0.10 0.17 0.18 0.26 0.24 0.11 0.18 0.11 0.22 0.11 0.06 0.10 0.04 0.03
WSM 0.14 0.10 0.17 0.18 0.26 0.24 0.11 0.18 0.17 0.22 0.16 0.11 0.15 0.11 0.13
RSA 0.13 0.10 0.16 0.16 0.25 0.24 0.11 0.17 0.20 0.23 0.15 0.10 0.18 0.10 0.06
PCA 0.14 0.10 0.17 0.18 0.26 0.23 0.11 0.18 0.13 0.22 0.15 0.10 0.14 0.09 0.08
RMSE
AM 0.20 0.13 0.22 0.22 0.29 0.27 0.14 0.23 0.11 0.26 0.11 0.05 0.1 0.05 0.04
OOM 0.19 0.14 0.21 0.22 0.29 0.27 0.13 0.21 0.13 0.27 0.17 0.17 0.22 0.18 0.17
WIM 0.20 0.15 0.22 0.21 0.30 0.27 0.15 0.22 0.16 0.28 0.15 0.08 0.13 0.07 0.05
WSM 0.20 0.15 0.22 0.21 0.29 0.27 0.15 0.22 0.22 0.28 0.21 0.15 0.20 0.16 0.16
RSA 0.19 0.15 0.22 0.2 0.29 0.27 0.14 0.2 0.25 0.29 0.20 0.15 0.23 0.14 0.10
PCA 0.20 0.15 0.22 0.21 0.30 0.26 0.14 0.21 0.17 0.28 0.19 0.14 0.18 0.13 0.11
Polynomial Kernel
MMRE
AM 0.32 0.33 0.35 0.74 0.61 0.68 0.56 0.48 0.73 0.90 0.70 0 0.37 0 0.25
OOM 0.31 0.33 0.34 0.73 0.59 0.70 0.55 0.38 1.02 0.89 0.61 0.59 0.51 0.53 0.37
WIM 0.32 0.34 0.35 0.74 0.61 0.67 0.56 0.38 0.5 0.92 0.62 0.11 0.19 0.19 0.54
WSM 0.31 0.33 0.34 0.73 0.60 0.67 0.56 0.39 0.70 0.91 0.71 0.54 0.32 0.48 0.15
RSA 0.3 0.34 0.34 0.74 0.61 0.69 0.56 0.36 0.85 0.94 0.62 0.47 0.47 0.32 0.60
PCA 0.31 0.34 0.35 0.74 0.61 0.68 0.55 0.38 1.03 0.92 0.65 0.45 0.36 0.38 0.14
MAE
AM 0.13 0.09 0.16 0.19 0.26 0.24 0.11 0.20 0.18 0.21 0.17 0 0.16 0 0.11
OOM 0.13 0.09 0.16 0.18 0.25 0.24 0.11 0.18 0.24 0.22 0.15 0.16 0.23 0.14 0.20
WIM 0.14 0.10 0.17 0.18 0.26 0.24 0.11 0.18 0.12 0.22 0.15 0.03 0.09 0.05 0.24
WSM 0.14 0.10 0.17 0.18 0.26 0.24 0.11 0.18 0.16 0.22 0.16 0.14 0.13 0.12 0.09
RSA 0.13 0.10 0.16 0.18 0.26 0.24 0.11 0.18 0.21 0.23 0.15 0.14 0.22 0.10 0.27
PCA 0.14 0.10 0.17 0.18 0.26 0.24 0.11 0.18 0.25 0.22 0.15 0.13 0.16 0.11 0.08
RMSE
AM 0.20 0.14 0.22 0.22 0.29 0.28 0.14 0.23 0.22 0.26 0.22 0 0.20 0 0.14
OOM 0.19 0.14 0.21 0.22 0.29 0.28 0.14 0.22 0.30 0.27 0.20 0.22 0.27 0.20 0.22
WIM 0.20 0.15 0.22 0.21 0.30 0.27 0.15 0.22 0.16 0.28 0.19 0.05 0.12 0.08 0.25
WSM 0.20 0.14 0.22 0.21 0.29 0.27 0.15 0.22 0.22 0.28 0.22 0.19 0.18 0.18 0.12
RSA 0.19 0.15 0.22 0.21 0.30 0.28 0.14 0.21 0.26 0.29 0.20 0.19 0.26 0.14 0.29
PCA 0.20 0.15 0.22 0.21 0.30 0.27 0.14 0.21 0.30 0.28 0.20 0.17 0.19 0.15 0.1
RBF Kernel
AM 0.32 0.32 0.35 0.71 0 0.67 0.38 0.45 0.09 0.38 0.08 0.03 0.08 0.05 0.02
OOM 0.3 0.32 0.34 0.57 0.13 0.68 0.28 0.36 0.22 0.01 0.40 0.42 0.20 0.44 0.13
WIM 0.32 0.34 0.35 0.27 0.42 0.39 0.45 0.29 0.08 0.92 0.16 0.03 0.07 0.02 0.02
WSM 0.3 0.33 0.33 0.50 0.60 0.67 0.56 0.37 0.39 0.89 0.30 0.35 0.16 0.24 0.05
RSA 0.3 0.34 0.34 0.60 0 0.68 0.28 0.35 0.58 0.34 0.10 0 0.16 0.13 0.09
PCA 0.31 0.33 0.35 0.73 0 0.67 0.49 0.36 0.17 0.29 0.27 0.18 0.21 0.22 0.05
MAE
AM 0.13 0.09 0.16 0.18 0 0.23 0.07 0.18 0.03 0.09 0.03 0.01 0.04 0.02 0.01
OOM 0.13 0.09 0.16 0.14 0.06 0.24 0.05 0.17 0.06 0 0.11 0.12 0.09 0.11 0.07
WIM 0.14 0.10 0.17 0.07 0.18 0.14 0.09 0.14 0.03 0.22 0.04 0.01 0.04 0.01 0.01
WSM 0.13 0.10 0.16 0.12 0.26 0.23 0.11 0.18 0.10 0.22 0.07 0.09 0.06 0.06 0.02
RSA 0.13 0.10 0.16 0.15 0 0.24 0.06 0.17 0.14 0.08 0.03 0 0.07 0.04 0.05
PCA 0.14 0.10 0.17 0.18 0 0.23 0.09 0.17 0.05 0.07 0.07 0.05 0.09 0.06 0.03
RMSE
AM 0.20 0.14 0.22 0.21 0 0.27 0.10 0.22 0.04 0.11 0.04 0.01 0.05 0.02 0.02
OOM 0.19 0.14 0.21 0.17 0.07 0.27 0.07 0.21 0.08 0.01 0.15 0.17 0.12 0.16 0.10
WIM 0.20 0.15 0.22 0.08 0.20 0.16 0.12 0.17 0.04 0.28 0.06 0.02 0.05 0.01 0.02
WSM 0.19 0.15 0.21 0.15 0.29 0.27 0.15 0.21 0.14 0.27 0.10 0.14 0.10 0.09 0.04
RSA 0.19 0.15 0.22 0.18 0 0.27 0.07 0.20 0.19 0.11 0.03 0 0.09 0.07 0.08
PCA 0.20 0.15 0.22 0.21 0 0.27 0.13 0.20 0.06 0.09 0.10 0.08 0.12 0.09 0.04
Copyright © 2017 for this paper by its authors. 71
5th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2017)
TABLE IV: Result of t-test: Among Different Metrics Set
P-Value
MMRE MAE RMSE
AM OOM HMS BMS RSA PCA AM OOM HMS BMS RSA PCA AM OOM HMS BMS RSA PCA
AM 1.000 0.063 0.031 0.063 0.031 0.031 1.000 0.031 0.031 0.031 0.031 0.031 1.000 0.031 0.031 0.031 0.031 0.031
OOM 0.063 1.000 0.031 0.031 0.031 0.031 0.031 1.000 0.031 0.031 0.031 0.031 0.031 1.000 0.031 0.031 0.031 0.031
HMS 0.031 0.031 1.000 0.031 0.094 0.031 0.031 0.031 1.000 0.063 0.031 0.031 0.031 0.031 1.000 0.313 0.031 0.031
BMS 0.063 0.031 0.031 1.000 0.031 0.031 0.031 0.031 0.063 1.000 0.031 0.031 0.031 0.031 0.313 1.000 0.031 0.031
RSA 0.031 0.031 0.094 0.031 1.000 0.031 0.031 0.031 0.031 0.031 1.000 0.031 0.031 0.031 0.031 0.031 1.000 0.031
PCA 0.031 0.031 0.031 0.031 0.031 1.000 0.031 0.031 0.031 0.031 0.031 1.000 0.031 0.031 0.031 0.031 0.031 1.000
Mean Difference
MMRE MAE RMSE
AM OOM HMS BMS RSA PCA AM OOM HMS BMS RSA PCA AM OOM HMS BMS RSA PCA
AM 0.000 0.020 -0.392 -0.013 -0.345 -0.268 0.000 0.038 -0.082 -0.068 -0.142 -0.158 0.000 -0.052 -0.067 -0.073 -0.123 -0.148
OOM -0.020 0.000 -0.412 -0.033 -0.365 -0.288 -0.038 0.000 -0.043 -0.030 -0.103 -0.120 0.052 0.000 -0.015 -0.022 -0.072 -0.097
HMS 0.392 0.412 0.000 0.378 0.047 0.123 0.082 0.043 0.000 0.013 -0.060 -0.077 0.067 0.015 0.000 -0.007 -0.057 -0.082
BMS 0.013 0.033 -0.378 0.000 -0.332 -0.255 0.068 0.030 -0.013 0.000 -0.073 -0.090 0.073 0.022 0.007 0.000 -0.050 -0.075
RSA 0.345 0.365 -0.047 0.332 0.000 0.077 0.142 0.103 0.060 0.073 0.000 -0.017 0.123 0.072 0.057 0.050 0.000 -0.025
PCA 0.268 0.288 -0.123 0.255 -0.077 0.000 0.158 0.120 0.077 0.090 0.017 0.000 0.148 0.097 0.082 0.075 0.025 0.000
TABLE V: t-test: Among different Kernel Hence, null hypothesis is rejected only if the p-value is less
P-Value than 0.05
3 = 0.0167. The null hypothesis while applying the
MMRE MAE RMSE
Lin Poly RBF Lin Poly RBF Lin Poly RBF
Wilcoxon test is that there is no significant difference between
Lin 1.000 0.000 0.000 1.000 0.000 0.000 1.000 0.000 0.000 the two classification techniques. From the result Table V, we
Poly 0.000 1.000 0.000 0.000 1.000 0.000 0.000 1.000 0.000
RBF 0.000 1.000 0.000 0.000 1.000 0.000 0.000 1.000 0.000 observe that there is a significant difference between the
Mean Difference kernel functions. This interpretation is due to the fact that
MMRE MAE RMSE
Lin Poly RBF Lin Poly RBF Lin Poly RBF the p-value is lower than 0.0167 (rejecting the null hypothesis
Lin 0.000 -0.051 0.155 0.000 -0.015 0.047 0.000 -0.016 0.057 and accpeting the alternate hypothesis). However by closely
Poly 0.051 0.000 0.206 0.015 0.000 0.063 0.016 0.000 0.074
RBF -0.155 -0.206 0.000 -0.047 -0.063 0.000 -0.057 -0.074 0.000 examining the value of mean difference, RBF kernel function
yields better result as compared to other kernel functions.
a median residual value being close to zero and the model
B. Source Code Metrics Sets
developed by considering selected set of metrics using BMS
has smallest whiskers, narrowest box as well as few numbers In this work, six different set of source code metrics are
of outliers. This shows that model developed by considering used as input to develop QoS prediction models. Hence for
BMS as input obtained better performance as compared to each set of source code metrics, a total of three sets (one for
others. each performance parameter) are used. Each set has 45 data
points (15 QoS parameters * 3 kernel functions). Results of
VI. COMPARISON OF VARIOUS K ERNEL F UNCTIONS AND Wilcoxon test with Bonferroni correction for all performance
M ETRIC S UITES parameter is shown in Table V. The Bonferroni correction sets
We apply Wilcoxon signed rank test to compare the per- the significance cutoff at αn , where n is number of different
formance of the models using LSSVM method with three pairs (here 6 sets of metrics; n=6technique C2 = 6 ∗ 5/2 = 15)
different types of kernel functions and different sets of source and all results are analyzed at a 0.05 significance level. Hence,
code metrics. We use Wilcoxon test with Bonferroni correction null hypothesis is rejected only if the p-value is less than
0.05
for comparative analysis. 15 = 0.0033. From Table IV, we infer that there is no
significant difference between sets of metrics. We arrive
A. Kernel Functions at this conclusion due to the fact that the p-value is greater
Three different types of kernel functions have been applied than 0.0033 (accepting the null hypothesis). However, by
to develop QoS prediction models. Hence for each of the closely examining the value of mean difference, we infer that
kernel functions, a total number of three sets (one for each per- the object-oriented Metrics are yields better performance
formance parameter) are used. Each set has 90 data points (15 results in comparison to other sets of metrics.
QoS parameters * 6 sets of metrics). The results of Wilcoxon
test with Bonferroni correction for all performance parameters VII. T HREATS TO VALIDITY
are shown in Table V. The upper portion of the Table V shows
the p-value between kernel functions and the lower portion One threat to validity is that the impact on the dependent
shows the mean difference value of performance parameters variable may not be completely attributed to the changes in
between different kernels. The Bonferroni correction sets the the independent variable due to overfitting of the predictive
significance cut-off at α n , where n is number of different model. Another threat to validity is that we have conducted
pairs (3 kernel functions; n=3technique C2 = 3 ∗ 2/2 = 3) experiments on a limited dataset and the answer result can be
and all results are analyzed at a 0.05 significance level. biased to the specific dataset.
Copyright © 2017 for this paper by its authors. 72
5th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2017)
VIII. C ONCLUSION to predict maintainability of service oriented software.
Our main conclusions and takeaways are the following: In High Assurance Systems Engineering (HASE), 2017
• Based on our correlation analysis of the metrics, we
IEEE 18th International Symposium on, pages 88–95.
conclude that there exists a high correlation between IEEE, 2017.
Object-Oriented metrics and WSDL metrics. [9] L. Kumar, S. K. Rath, and A. Sureka. Using source code
• From the result of Wilcoxon test with Bonferroni correc-
metrics to predict change-prone web services: A case-
tion, we conclude that there is a statistically significant study on ebay services. In Machine Learning Techniques
difference between the performance of the predictive for Software Quality Evaluation (MaLTeSQuE), IEEE
models built using three different LSSVM kernel func- Workshop on, pages 1–7. IEEE, 2017.
tions. [10] W. Li and S. Henry. Maintenance metrics for the Object-
• From the rest of Wilcoxon test with Bonferroni correc-
Oriented paradigm. In International Software Metrics
tion, we conclude that there is no statistically significant Symposium, pages 52–60, 1993.
difference between different sets of source code metrics. [11] R. Malhotra and Y. Singh. On the applicability of
• From Table III, we conclude that no one set of source-
machine learning techniques for object oriented software
code metrics dominate the other sets for any QoS param- fault prediction. Software Engineering: An International
eter and vice-versa. Journal.
• By assessing the value of mean difference shown in Table
[12] C. Mateos, M. Crasso, A. Zunino, and J. L. O. Cos-
V, we conclude that that the RBF kernel for LSSVM cia. Detecting wsdl bad practices in code–first web
method yields better performance results compared to services. International Journal of Web and Grid Services,
other kernel functions. 7(4):357–387, 2011.
• By assessing the value of mean difference shown in
[13] T. Menzies, Z. Chen, J. Hihn, and K. Lum. Selecting
Table IV, we conclude that the object-oriented metrics best practices for effort estimation. IEEE Transactions
yields better result compared to other sets of source code on Software Engineering, 32(11):883–895, 2006.
metrics. [14] M. Perepletchikov, C. Ryan, and K. Frampton. Cohesion
• Our analysis shows evidences that it is possible to esti-
metrics for predicting maintainability of service-oriented
mate the QoS parameters of Web Services using source software. In QSIC, pages 328–335. IEEE, 2007.
code metrics and LSSVM based method. [15] M. Perepletchikov, C. Ryan, K. Frampton, and Z. Tari.
Coupling metrics for predicting maintainability in
R EFERENCES service-oriented designs. In ASWEC, pages 329–340.
[1] E. Al-Masri and Q. H. Mahmoud. Investigating web IEEE, 2007.
services on the world wide web. In Proceedings of the [16] B. Shim, S. Choue, S. Kim, and S. Park. A design quality
17th international conference on World Wide Web, pages model for service-oriented architecture. In 2008 15th
795–804. ACM, 2008. Asia-Pacific Software Engineering Conference, pages
[2] V. R. Basili, L. C. Briand, and W. L. Melo. How 403–410. IEEE, 2008.
reuse influences productivity in object-oriented systems. [17] H. M. Sneed. Measuring web service interfaces. In Web
Communications of the ACM. Systems Evolution (WSE), pages 111–115. IEEE, 2010.
[3] V. R. Basili, L. C. Briand, and W. L. Melo. A [18] J. A. Suykens, J. De Brabanter, L. Lukas, and J. Vande-
validation of Object-Oriented design metrics as quality walle. Weighted least squares support vector machines:
indicators. IEEE Transactions on Software Engineering, robustness and sparse approximation. Neurocomputing.
22(10):751–761, October 1996. [19] V. X. Tran, H. Tsuji, and R. Masuda. A new qos ontology
[4] D. Baski and S. Misra. Metrics suite for maintainability and its qos-based ranking algorithm for web services.
of extensible markup language web services. IET Soft- Simulation Modelling Practice and Theory, 17(8):1378–
ware, 5(3):320–341, 2011. 1398, 2009.
[5] S. R. Chidamber and C. F. Kemerer. A metrics suite for [20] D. Wang and J. Romagnoli. Robust multi-scale prin-
Object-Oriented design. IEEE Transactions on Software cipal components analysis with applications to process
Engineering, 20(6):476–493, June 1994. monitoring. Journal of Process Control, 15(8):869–882,
[6] J. L. O. Coscia, M. Crasso, C. Mateos, and A. Zunino. 2005.
Estimating web service interface quality through conven- [21] P. Wang. Qos-aware web services selection with in-
tional object-oriented metrics. CLEI Electron. J, 16(1), tuitionistic fuzzy set under consumer’s vague percep-
2013. tion. Expert Systems with Applications, 36(3):4460–
[7] L. Kumar, S. K. Rath, and A. Sureka. Predicting qual- 4466, 2009.
ity of service (qos) parameters using extreme learning [22] Y. Zhou and H. Leung. Empirical analysis of object-
machines with various kernel methods. In Quantitative oriented design metrics for predicting high and low
Approaches to Software Quality, page 11, 2016. severity faults. 32(10):771–789, 2006.
[8] L. Kumar, S. K. Rath, and A. Sureka. Using source
code metrics and multivariate adaptive regression splines
Copyright © 2017 for this paper by its authors. 73