<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Proceedings of the SQAMIA</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Predicting Reliability changes using Object Oriented Metrics</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>PAUL T¸IRBAN</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Babes¸-Bolyai University Cluj Napoca</string-name>
          <email>tirban@cs.ubbcluj.ro</email>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <volume>7</volume>
      <fpage>27</fpage>
      <lpage>30</lpage>
      <abstract>
        <p>Reliability is an important factor but is hard to asses it during the development of an application. In this paper we propose an approach to predict reliability changes of object oriented applications using object oriented metrics from multiple versions of an application. Further on, after computing this criterion, the current work investigate how the new criterion that we propose correlates with changes in object oriented metrics using statistical methods. Analyzing results from the correlation, we can see that there is a strong correlation between our criterion and WMC, RFC and LOC metrics, a moderate correlation with CBO, LCOM5 and a very weak correlation with NOC metric. The approach was applied to seven projects (a total number of 1.462.178 classes from 678 total versions), with sizes ranging from small to medium, in order to assure statistical relevance and project diversity (not resumed to a single project with several versions).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>Complex systems needs to be developed within time and budget, are usually done incrementally over
a long period of time and, after delivering them, developers have to maintain and improve them based
on the new requirements.</p>
      <p>Fore some of these systems (like safety critical systems for example) one of the most important
quality factor to be considered is reliability, which expresses the degree to which a system is free of
faults or can recover to a stable state after failure. Nina S Godbole points out that Quality goals must
be clearly defined, effectively monitored and rigorously enforced [Godbole 2004] in order to deliver
reliable software systems.</p>
      <p>Being hard to asses reliability during the development cycle of a software, the assessment of
reliability is usually done at the end of the cycle so that corrections to improve it cost more time and money.
Also is very hard to find a metric that computes exactly the reliability of a software during the
development phase and current methods of predicting reliability are mainly focusing on complexity of the
software without taking into consideration the facts that object oriented programming imposes a
special structure of the code and special interactions between constructs are not taken into consideration.</p>
      <p>Since, using the current IDEs available, is easy to compute object oriented metrics for a version of
a software and see how the metrics evolve between multiple versions we focused on finding a method
to relate this changes in metrics to changes in reliability. After proposing our method of predicting
reliability changes based on OO metrics, we applied statistical methods in order to validate if the
changes in the metrics correlates with the changes in our criteria of predicting reliability changes.</p>
      <p>The paper is organized as follows: Section 2 contains preliminary information about reliability,
object oriented metrics used in our research and related work. In Section 3 we present our approach of
19:2
predicting reliability changes using OO metrics and the results of our case study. In the last section
we conclude the paper and discuss future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. PRELIMINARIES</title>
    </sec>
    <sec id="sec-3">
      <title>2.1 Reliability as Software Quality Factor</title>
      <p>Starting with the [McCall et al. 1977], Reliability has been introduced as a quality factor, and then it
has been present as a software quality factor as shown in Table I.</p>
      <p>SQ Model
McCall
Boehm
FURPS
ISO 9126
Dromey
ISO 25010</p>
      <p>Due to the fact that applications have evolved and changed over time, the subfactors that
characterized it changed, in order to capture the relevant aspects and requirements of applications. As part of
reliability in earlier models, accuracy, which represents the measure of required precision in
computation, was present, but has lost its importance in the newer models, being replaced by maturity and
recoverability.</p>
      <p>In ISO 25010, availability is also recognized as a key characteristic of software, capturing the
aspect that software should be ready to be used and accessible. Looking at nowadays mobile and web
applications the importance of availability is even more important.</p>
      <p>
        ”Degree to which a system, product or component meets needs for reliability under normal operation”
[
        <xref ref-type="bibr" rid="ref11">ISO25010 2011</xref>
        ] defines Maturity subfactor. Maturity captures the aspect that the frequency of faults
decreased in a mature application, since it has gone through a series of development cycles. Even in
case of failures, the software product is able to re-establish its level of performance and recover data
handled by application, which are the defining aspects of recoverability.
      </p>
    </sec>
    <sec id="sec-4">
      <title>2.2 Object Oriented Metrics</title>
      <p>
        Object oriented metrics provide information about code and help developers in discovering design
flows and are widely used in software development. There are multiple tools that allows us to
compute the metrics, some integrated in IDEs or frameworks and some independent, that compute OO
met
        <xref ref-type="bibr" rid="ref18 ref6">rics: SourceMeter [SourceMeter 2018</xref>
        ], Eclipse
        <xref ref-type="bibr" rid="ref22">Metrics [Metrics 2016</xref>
        ],
        <xref ref-type="bibr" rid="ref25">NDepend[Ndepend 2016</xref>
        ],
        <xref ref-type="bibr" rid="ref13">JHawk[JHawk 2016</xref>
        ].
      </p>
      <p>
        Until now a lot of metrics have been proposed and new metrics continue to appear in the
literature regularly. Some examples are the metrics proposed by [Abreu 1993], [Abreu and Rogerio 1994],
[Chidamber and Kemerer 1994], [Li and Henry 1993], and the MOOD metrics proposed in [Abreu
1995]. [Ma
        <xref ref-type="bibr" rid="ref20">rinescu 2002</xref>
        ] has classified these metrics according to four internal characteristics that are
essential to object-orientation: coupling, inheritance, cohesion and structural complexity.
      </p>
      <p>
        In the current study we have chosen the following metrics: WMC, CBO, RFC, LCOM5, NOC and
LOC that you can find bellow as they are defined by Sou
        <xref ref-type="bibr" rid="ref18 ref6">rceMeter [SourceMeter 2018</xref>
        ].
—Weighted Methods per Class (WMC) measures the complexity of the class expressed as the
number of independent control flow paths in it. It is calculated as the sum of the McCabes Cyclomatic
Complexity (McCC) values of its local methods and init blocks; [Sou
        <xref ref-type="bibr" rid="ref18 ref6">rceMeter 2018</xref>
        ]
—Coupling Between Objects (CBO) measures number of directly used other classes (e.g. by inheritance,
function call, type reference, attribute reference). Classes using many other classes highly depend
on their environment, so it is difficult to test or reuse them; furthermore, they are very sensitive to
the changes in the system; [Sou
        <xref ref-type="bibr" rid="ref18 ref6">rceMeter 2018</xref>
        ]
—Response for a Class (RFC) metric is defined as the number of local (i.e. not inherited) methods
in the class (NLM) plus the number of directly invoked other methods by its methods or attribute
initializations (NOI); [Sou
        <xref ref-type="bibr" rid="ref18 ref6">rceMeter 2018</xref>
        ]
—Lack of Cohesion in Methods 5 (LCOM5) measures the lack of cohesion and computes into how
many coherent classes the class could be split. The value of the metric is the number of connected
components in the graph not counting those, which contain only constructors, destructors, gette
        <xref ref-type="bibr" rid="ref18 ref6">rs,
or setters; [SourceMeter 2018</xref>
        ]
—Number of Children (NOC) measures the number of classes, interfaces, enums and annotations
which are directly derived f
        <xref ref-type="bibr" rid="ref18 ref6">rom the class; [SourceMeter 2018</xref>
        ]
—Lines of Code (LOC) measures the number of code lines of the class, including empty and comment
lines, as well as its local methods; however, its nested, anonymous, and local classes a
        <xref ref-type="bibr" rid="ref18 ref6">re not included.
[SourceMeter 2018</xref>
        ]
      </p>
      <p>
        The chosen metrics were selected starting from the metrics proposed in CK Metric
        <xref ref-type="bibr" rid="ref5">s [Chidamber and
Kemerer 1994</xref>
        ] and the ones that are computed by Sou
        <xref ref-type="bibr" rid="ref18 ref6">rceMeter [SourceMeter 2018</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>2.3 Related work</title>
      <p>The systematic literature review provided in [Jabangwe et al. 2015] showed that the most investigated
quality characteristic is reliability and most of the studies are linked to fault-proneness.</p>
      <p>WMC, DIT, RFC, NOC and CBO from CK Metrics appear to be useful to predict class fault-proneness
during the high- and low-level design phases of the life-cycle, as presented in [Basili et al. 1996].</p>
      <p>
        In MetricsReloaded plugin from Intellij [
        <xref ref-type="bibr" rid="ref23">MetricsReloaded 2017</xref>
        ] a criterion for assessing Reliability
at the method level is introduced Quality Criteria Profile (Reliability):
      </p>
      <p>QCP RLBT Y = N + (2 N EST ) + (3 V (g)) + BRAN CH +
+CON T ROL + EXEC
where: N is the Halstead Length metric for a method, NEST is the maximum nesting depth of each
method, V(g) is the cyclomatic complexity of each non-abstract method, BRANCH is the total number
of non-structured branch statements in each method, CONTROL is total number of control statements
in each method and EXEC is the total number of executable statements in each method.</p>
      <p>
        Relationship between existing class level OO metrics and fault proneness over the multiple releases
is inve
        <xref ref-type="bibr" rid="ref26">stigated in [Rathore and Gupta 2012</xref>
        ]. Univariate logistic regression analysis to evaluate each
metric (WMC, DIT, NOC, CBO, RFC, LCOM, CC) for their potential to predict faults independently is
used.
      </p>
      <p>[Lincke and Lowe 2006] links software quality factors to object oriented metrics, based on the
semantics of the syntactical constructions that are involved in evaluation of the factor and the computation
of the metric. The approach had resulted in a Compendium [Lincke and Lowe 2013] containing 37
quality attributes (factors and criteria) and 23 metrics, together with their influences.</p>
      <p>
        Neural network are also used to predict software readiness. In [
        <xref ref-type="bibr" rid="ref15">J.Quah and Thwin 2002</xref>
        ] compares
the prediction results from multiple regression model and neural network model, where object-oriented
design metrics are used as the independent variables (for coupling - CBO, RFC, IC, CBM, for
inheritance - DIT, NOC, for complexity - WMC, AMC, for memory allocation - NOMA), and number of faults
as dependent variable.
      </p>
    </sec>
    <sec id="sec-6">
      <title>3. ASSESSING RELIABILITY USING OBJECT ORIENTED METRICS</title>
    </sec>
    <sec id="sec-7">
      <title>3.1 Approach</title>
      <p>This paper proposes a new method for assessing reliability changes in a project using OO metrics in
object oriented software. The main focus of this research is to introduce a way to measure
reliability using object oriented metrics - WRC and to see if changes of this indicator correlates with object
oriented metrics that we took under consideration.</p>
      <p>
        We selected the metrics that we use when defining our own criterion, based on the information from
ARISA Compendium, the experience that we gathered when trying to asses Maintainability changes
a
        <xref ref-type="bibr" rid="ref24">s described in [Motogna et al. 2016</xref>
        ], but also starting from the Quality Criteria Profile (Reliability)
criterion from MetricsReloaded. Based on this metric from MetricsReloaded and on the information
f
        <xref ref-type="bibr" rid="ref18">rom ARISA [Lincke and Lowe 2013</xref>
        ] we define Weighted Reliability per Class indicator as:
W RC =
      </p>
      <p>Pm2class C M RELIABILIT Y (m)
no of methods in class C</p>
      <p>W M C
where:</p>
      <p>M RELIABILIT Y = HP L + (2 N L) + (3</p>
      <p>M cCC) + N OS
where: HPL is the Halstead program length metric for a method; NL is the complexity of the method
expressed as the depth of the maximum embeddedness of its conditional, iteration and exception
handling block scopes; McCC is complexity of the method expressed as the number of independent control
flow paths in it; NOS is number of statements in the method.</p>
      <p>
        After computing WRC for each class from each version of the projects, we used statistical analysis
using R Studio in order to see if the variations of WRC correlates with WMC, CBO, LCOM5, RFC, NOC
and LOC met
        <xref ref-type="bibr" rid="ref20">rics. Starting from [Marinescu 2002</xref>
        ] research that classify metrics as describing four
internal characteristics of the object oriented paradigm (inheritance, structural complexity, coupling
and cohesion) we selected the above metrics so that there is at least one representative metric for each
cha
        <xref ref-type="bibr" rid="ref20">racteristic from [Marinescu 2002</xref>
        ].
      </p>
      <p>
        For this the first step was to run the Shapiro-Wilk test [Royston 1982], for each of the variables
to see if they are normally distributed. Now because the Shapiro-Wilk test is limited to a number of
maximum 5000 observations, we also tested normal distribution with Anderson-Darling nor
        <xref ref-type="bibr" rid="ref29">mality test
[Stephens 1974</xref>
        ]. After this the next step was to use either Pearson’s correlation (if both variables are
normally distributed) or Spearman’s correlation (if one or both variables are not normally dist
        <xref ref-type="bibr" rid="ref18 ref6">ributed)
[Correlations 2018</xref>
        ]. The last step was to interpret the results from the correlations. The flow of the
process can be see in Figure 1.
      </p>
    </sec>
    <sec id="sec-8">
      <title>3.2 Case Study and Results</title>
      <p>
        Gathering data for study was not easy, since there are no databases from where metrics from multiple
versions of projects to be considered. Moreover, it’s hard to find data from commercial projects, and
because of this we moved our attention to the open source projects. The first thing that we did was
to select some projects from GitHub of different sizes and with different number of releases and to
retrieve the releases of those projects using our own script. Project used in our study are log4j, [
        <xref ref-type="bibr" rid="ref19">Log4j
2018</xref>
        ], ElasticSea
        <xref ref-type="bibr" rid="ref18 ref6">rch [Elasticsearch 2018</xref>
        ],
        <xref ref-type="bibr" rid="ref10">Guava [Guava 2018</xref>
        ],
        <xref ref-type="bibr" rid="ref14 ref3 ref4 ref9">Apache Camel [Camel 2018</xref>
        ],
        <xref ref-type="bibr" rid="ref14 ref3 ref4 ref9">Apache
Cassandra [Cassandra 2018</xref>
        ],
        <xref ref-type="bibr" rid="ref14 ref3 ref4 ref9">Apache Groovy [Groovy 2018</xref>
        ],
        <xref ref-type="bibr" rid="ref14 ref3 ref4 ref9">Apache JMeter [JMeter 2018</xref>
        ]. Details
about the projects used can be found in Table II. Looking at Table II we can see that there is a total
number of 1.462.178 classes from 678 versions (the smallest project is log4j with 64 versions and a
total number of classes of 25.410 in those 64 versions).
      </p>
      <p>
        After this the next challenge that we faced was to automatically compute the OO metrics that we
needed in our research. For this we searched for a tool that can do this and after trying multiple
tools we stopped at SourceMeter since it was the most suitable for our needs. Using SourceMeter we
computed WMC, CBO, LCOM5, RFC, NOC and LOC metrics for our project and then using our own tool
computed WRC for each class. Table III shows the summary of the metrics computed by SourceMeter
and the summary for our WRC criterion computed with our own tool for log4j [
        <xref ref-type="bibr" rid="ref19">Log4j 2018</xref>
        ] - the project
with the lowest total number of classes, and appache-cassand
        <xref ref-type="bibr" rid="ref18 ref6">ra [Cassandra 2018</xref>
        ] - the project with
the highest number of total classes. Looking at the values we can see that there are differences from
project to project, which are normal since there are differences in the size of the projects, but we can
also see that the values are related to the tool that was used to compute the metrics (in our case
SourceMeter) and using a different tools different values can be obtained, that’s why we used data
computed with the same tool in order to have valid data for computing the changes and correlations.
In Table IV we can see a summary of the metrics on the data from all projects, data that was used for
analyzing correlations described in Table V.
      </p>
      <p>Using R Studio we gathered all the classes from all versions of the projects in one table and
starting the correlation analysis. After running normal distribution tests (using the Shapiro-Wilk and
Anderson-Darling normality test) for WRC, WMC, CBO, LCOM5, RFC, NOC and LOC we determined
that all variables are not normally distributed (for all the p-value &lt; 2.2e-16). For example the
distribution of WMC can be seen in Figure 2.</p>
      <p>Since the variables are not normally distributed we continue the analysis using the Spearman’s
correlation and tested the correlation between WRC and object oriented metrics. Results of the analysis
can be seen in Table V.</p>
      <p>Analyzing results from the correlation, available in Table V we can see that there is a strong
correlation between our method and WMC, RFC and LOC metrics, a moderate correlation with CBO, LCOM5
rho
WRC-WMC 0.7428248
WRC-CBO 0.4281653
WRC-LCOM5 0.4279371
WRC-RFC 0.7427667
WRC-NOC 0.09204933
WRC-LOC 0.780197
and a very weak correlation with NOC metric. Looking at the p-value, we can see that it is lower than
0.05 so this means that the correlations are statistically significant.</p>
      <p>Changes in WMC, RFC and LOC metrics will strongly impact the Reliability, CBO and LCOM5 will
have a moderate impact and changes in NOC will have a weak impact.</p>
      <p>In [Lincke and Lowe 2013] WMC, CBO, RFC, NOC and LOC are categorized as related to Reliability
and LCOM is Highly Related. We can see that some correlations from ARISA Compendium are also
reflected in the present study, but there are some changes that might result from the fact that different
tools are used to compute the metrics and values differ from tool to tool, or from the fact that data from
the study is limited to the projects that we managed to gather and extending the data might allow us
to find a better correlation. In order to draw a stronger conclusion further study needs to be done using
different tools and more data (as discussed also in the future work section).</p>
    </sec>
    <sec id="sec-9">
      <title>3.3 Threats to Validity</title>
      <p>The selection of metrics was done to ensure that key characteristics of the software are covered, but a
further extension of this selection is required to be investigated in order to better capture the impact of
each metric. Also since there are differences between how each tool compute the metrics and because
gathering enough data is a challenge another threat to validity is the size of the sample data.</p>
    </sec>
    <sec id="sec-10">
      <title>4. CONCLUSIONS AND FUTURE WORK</title>
      <p>The paper propose an approach to predict reliability of object oriented applications using object
oriented metrics from multiple versions of an application.</p>
      <p>We proved that correlations can be found between Reliability and OO metrics using statistical
analysis. Analyzing results from the correlation, we showed that there is a strong correlation between our
method and WMC, RFC and LOC metrics, a moderate correlation with CBO, LCOM5 and a very weak
correlation with NOC metric.</p>
      <p>The approach was applied to seven projects, with sizes ranging from small to medium, in order to
assure statistical relevance and project diversity (not resumed to a single project with several versions).</p>
      <p>
        Regarding the future work one of the aspects that needs to be covered is extending the selection of
metrics and also the size of the sample data. Also the method of predicting reliability can be further
improved by taking in consideration the thresholds of the metrics and weighting more the values of
metrics that are outside of the thresholds. The approach can be extended to other quality factors and
this can be the subject of a different research, for example to validate and improve the approach to
assess the maintainability, using several object oriented metrics a
        <xref ref-type="bibr" rid="ref24">s proposed in [Motogna et al. 2016</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>F.B.</given-names>
            <surname>Abreu</surname>
          </string-name>
          and
          <string-name>
            <given-names>Carapuca</given-names>
            <surname>Rogerio</surname>
          </string-name>
          .
          <year>1994</year>
          .
          <article-title>Candidate Metrics for Object- Oriented Software within a Taxonomy Framework</article-title>
          .
          <source>In Journal of systems software 26</source>
          .
          <fpage>359</fpage>
          -
          <lpage>368</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Victor R. Basili</surname>
          </string-name>
          ,
          <string-name>
            <surname>Lionel C. Briand</surname>
            , and Walce´lio
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Melo</surname>
          </string-name>
          .
          <year>1996</year>
          .
          <article-title>A Validation of Object-Oriented Design Metrics As Quality Indicators</article-title>
          .
          <source>IEEE Trans. Softw. Eng</source>
          .
          <volume>22</volume>
          ,
          <issue>10</issue>
          (
          <year>1996</year>
          ),
          <fpage>751</fpage>
          -
          <lpage>761</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>Apache</given-names>
            <surname>Camel</surname>
          </string-name>
          .
          <year>2018</year>
          . Apache Camel. https://github.com/apache/camel. (
          <year>2018</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>Apache</given-names>
            <surname>Cassandra</surname>
          </string-name>
          .
          <year>2018</year>
          . Apache Cassandra. https://github.com/apache/cassandra. (
          <year>2018</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Chidamber</surname>
          </string-name>
          and
          <string-name>
            <given-names>C. F.</given-names>
            <surname>Kemerer</surname>
          </string-name>
          .
          <year>1994</year>
          .
          <article-title>A Metrics Suite for Object-Oriented Design</article-title>
          .
          <source>IEEE Trans. Soft Ware Eng</source>
          .
          <volume>20</volume>
          ,
          <issue>6</issue>
          (
          <year>1994</year>
          ),
          <fpage>476</fpage>
          -
          <lpage>493</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>R</given-names>
            <surname>Correlations</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <string-name>
            <given-names>R</given-names>
            <surname>Correlations</surname>
          </string-name>
          . https://www.statmethods.net/stats/correlations.html. (
          <year>2018</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Elasticsearch</surname>
          </string-name>
          .
          <year>2018</year>
          . Elasticsearch - Open
          <string-name>
            <surname>Source</surname>
          </string-name>
          , Distributed, RESTful Search Engine. https://github.com/elastic/elasticsearch. (
          <year>2018</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Nina S Godbole</surname>
          </string-name>
          .
          <year>2004</year>
          .
          <article-title>Software quality assurance: Principles and practice</article-title>
          .
          <source>Alpha Science Int'l Ltd.</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Apache</given-names>
            <surname>Groovy</surname>
          </string-name>
          .
          <year>2018</year>
          . Apache Groovy. https://github.com/apache/groovy. (
          <year>2018</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Guava</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Guava: Google Core Libraries for Java</article-title>
          . https://github.com/google/guava/. (
          <year>2018</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>ISO25010.</surname>
          </string-name>
          <year>2011</year>
          .
          <article-title>ISO25010 description information</article-title>
          . http://iso25000.com/index.php/en/iso-25000-standards/iso-25010. (
          <year>2011</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <given-names>Ronald</given-names>
            <surname>Jabangwe</surname>
          </string-name>
          , Ju¨ rgen Bo¨rstler, Darja Smite, and
          <string-name>
            <given-names>Claes</given-names>
            <surname>Wohlin</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Empirical Evidence on the Link Between Objectoriented Measures and External Quality Attributes: A Systematic Literature Review</article-title>
          .
          <source>Empirical Softw. Engg</source>
          .
          <volume>20</volume>
          ,
          <issue>3</issue>
          (
          <year>2015</year>
          ),
          <fpage>640</fpage>
          -
          <lpage>693</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>JHawk.</surname>
          </string-name>
          <year>2016</year>
          . http://www.virtualmachinery.com/jhawkprod.htm. (
          <year>2016</year>
          ). Online;
          <fpage>23</fpage>
          - Jan-
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <given-names>Apache</given-names>
            <surname>JMeter</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Apache JMeter</article-title>
          . https://github.com/apache/jmeter. (
          <year>2018</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <given-names>J.</given-names>
            <surname>Quah</surname>
          </string-name>
          and Mie Mier Thet Thwin.
          <year>2002</year>
          .
          <article-title>Prediction of Software Readiness Using Neural Network</article-title>
          .
          <source>In ICITA2002.</source>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <given-names>W.</given-names>
            <surname>Li</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Henry</surname>
          </string-name>
          .
          <year>1993</year>
          .
          <article-title>Maintenance Metrics for the Object Oriented Paradigm</article-title>
          .
          <source>IEEE Proc. First International Software Metrics Symp</source>
          (
          <year>1993</year>
          ),
          <fpage>52</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <given-names>Rudiger</given-names>
            <surname>Lincke</surname>
          </string-name>
          and
          <string-name>
            <given-names>Welf</given-names>
            <surname>Lowe</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Foundations for Defining Software Metrics</article-title>
          . (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <given-names>R.</given-names>
            <surname>Lincke</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Lowe</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Compendium of Software Quality Standards and Metrics</article-title>
          . http://www.arisa.se/compendium/ quality-metrics-compendium.html. (
          <year>2013</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Log4j.</surname>
          </string-name>
          <year>2018</year>
          .
          <article-title>Apache log4j</article-title>
          . https://github.com/apache/log4j. (
          <year>2018</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <given-names>R.</given-names>
            <surname>Marinescu</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>Measurement and Quality in Object Oriented Design</article-title>
          .
          <source>Ph.D. Dissertation. Faculty of Automatics and Computer Science</source>
          , University of Timisoara.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <given-names>J.A.</given-names>
            <surname>McCall</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.K.</given-names>
            <surname>Richards</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.F.</given-names>
            <surname>Walters</surname>
          </string-name>
          .
          <year>1977</year>
          .
          <article-title>Factors in Software Quality</article-title>
          . Griffiths Air Force Base,
          <string-name>
            <given-names>N.Y.</given-names>
            <surname>Rome Air Development Center Air Force Systems Command</surname>
          </string-name>
          (
          <year>1977</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Metrics</surname>
          </string-name>
          .
          <year>2016</year>
          . Metrics.sourceforge.net,
          <source>”Metrics 1.3</source>
          .6”. http://metrics.sourceforge.net.. (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <surname>MetricsReloaded.</surname>
          </string-name>
          <year>2017</year>
          .
          <article-title>MetricsReloaded - Automated code metrics plugin for IntelliJ IDEA</article-title>
          . https://github.com/BasLeijdekkers/ MetricsReloaded. (
          <year>2017</year>
          ).
          <source>Online; accessed 1 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>Motogna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vescan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Serban</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Tirban</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>An approach to assess maintainability change</article-title>
          .
          <source>In 2016 IEEE International Conference on Automation, Quality and Testing</source>
          ,
          <source>Robotics (AQTR)</source>
          .
          <article-title>1-6</article-title>
          . DOI:http://dx.doi.org/10.1109/AQTR.
          <year>2016</year>
          .7501279
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>Ndepend</surname>
          </string-name>
          .
          <year>2016</year>
          . http://www.ndepend.com. (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Rathore</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Gupta</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Validating the Effectiveness of Object-Oriented Metrics over Multiple Releases for Predicting Fault Proneness</article-title>
          .
          <source>In Software Engineering Conference (APSEC)</source>
          ,
          <year>2012</year>
          19th Asia-Pacific.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Royston</surname>
          </string-name>
          .
          <year>1982</year>
          .
          <article-title>An Extension of Shapiro and Wilk's W Test for Normality to Large Samples</article-title>
          .
          <source>Journal of the Royal Statistical Society</source>
          . Series C (Applied Statistics)
          <volume>31</volume>
          ,
          <issue>2</issue>
          (
          <year>1982</year>
          ),
          <fpage>115</fpage>
          -
          <lpage>124</lpage>
          . http://www.jstor.org/stable/2347973
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          <string-name>
            <surname>SourceMeter.</surname>
          </string-name>
          <year>2018</year>
          . www.sourcemeter.com,
          <source>”SourceMeter 8.2</source>
          .0”. https://www.sourcemeter.com/resources/java/.. (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Stephens</surname>
          </string-name>
          .
          <year>1974</year>
          .
          <article-title>EDF Statistics for Goodness of Fit and Some Comparisons</article-title>
          .
          <source>J. Amer. Statist. Assoc</source>
          .
          <volume>69</volume>
          ,
          <issue>347</issue>
          (
          <year>1974</year>
          ),
          <fpage>730</fpage>
          -
          <lpage>737</lpage>
          . DOI:http://dx.doi.org/10.1080/01621459.
          <year>1974</year>
          .10480196
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>