source code metric; the cyclomatic complexity,
representing an internal complexity of software
modules, and it is a good indicator to assume for
identifying the presence of buggy modules; those
ones of the CK metrics suite (Chindamber and
Kemerer, 1994), which indicate features of object-
oriented systems.
However, many widely used software metrics
have not a complete and/or unique definition. For
example, metric WMC (Weighted Methods for
Class), which is part of the CK metrics suite,
represents the weighted sum of the class methods,
but its definition does not suggest how methods are
weighted. The incompleteness of the definitions of
metrics has involuntarily impact on their evaluation.
Several research papers analyze the behaviour of
software metrics measurement tools. An analysis of
tools evaluating OO metrics has been discussed in
(Lincke, 2007), (Lincke et al., 2008). The authors
analysed the tools supporting the CK metrics and
concluded that the analysed measurement tools
output different values for the same metrics. This
was due to the difference in interpretation of the
metric. A similar study has been proposed in
(Codesido, 2011), where the authors observed that
the metrics supported by the tools complement each
other. In (Rutar et al., 2004) five tools making static
analysis of Java source code have been compared,
concluding that the usability of the results is
difficult. A further comparison has been presented in
(Bakar and Boughton, 2012) where the authors again
observed that different tools provide different metric
values for the same software system. In addition, the
values obtained with the manual calculation were
different from those obtained through the use of
tools, as well. Moreover, in (Tomas, 2013), an
analysis of open source tools analysing the Java and
evaluate the supported metrics is discussed, but the
authors do not provide any empirical validation.
The aim of the comparative study proposed in
this paper is to further investigate the behaviour of a
set of selected software measurement tools and
related features, with the aim of understanding if the
evaluation they perform regarding the metrics
interpret and evaluate the same metrics and by
applying the same strategy. Differently from the
previous papers, the presented study focuses on a
wider set of software metric tools.
3 PLAN OF THE STUDY
The execution of the presented study, required a
planning of the activities to be executed. The main
steps are the following:
Scope Definition. The aim is to investigate the
impact of the software measurement tools on the
evaluation of software quality metrics, with the
goal of verifying if they induce to different
maintenability evaluations. The task required the
selection of the software measurement tools to
analyse. Tools have been compared on the basis of
the metrics they consider and the measurement
they perform. In particular, the paper investigates
on the following question: Do the software
measurement tools impact of the software
maintainability assessment? If yes, what is the
kind of impact they have?
Metrics Selection. The aim of this step is to select
a comprehensive set of metrics useful for the
evaluation of the software maintenability
characteristics. Its execution has required the
analysis both standards and quality models, and
selected tools. The selected metrics have been
analyzed with reference of the chosen tools for
understanding their impact on the maintainability
measurement.
Selection of the Software Systems. The step
aimed at choosing the set of software systems to be
analyzed for assessing their maintenability by
using the selected measurement tools. Open source
software systems have been considered. Their
selection had to take into account the license kind,
as many tools are just partially open source and
their source code is not always available. In
addition, just Java software systems were
considered.
Metric Evaluation. This steps has entailed the
measurement of the chosen metrics by assessing
the considered software analysis tools for
evaluating the selected software systems.
Analysis of the Results. This step has compared
the values of the software maintenability
characteristics evaluated on a software system by
using the different software measurement tools.
The aim was to verify how similarly the evaluation
tools evaluate the metrics concerning a
characteristics and apply the same rules for
evaluating the same metric.
The following subsections describe with a
greater details the process applied for performing the
selection of the considered software measurement
tools and the selected metrics.
Assessing the Impact of Measurement Tools on Software Mantainability Evaluation
393