Software Metrics Project
Sai Shreya Spurthi Dantu Vaishnavi Soni Surya Bhagavan Raju Pericherla Lakshmi Ashritha Annadata
sadp21@[Link] vaso21@[Link] supe22@[Link] laad21@[Link]
20020211-T043 20001205-T207 20020302-T035 20001017-T205
I. I NTRODUCTION best suitable in this study as an experiment is conducted in a
Software metrics are a very important factor in deciding the controlled environment where the variables are manipulated to
quality of a software. In recent times object oriented metrics test a hypothesis which is not applicable in this case. Similarly
have become an essential part of development []. OO metrics survey is the process of collecting data and insights on a
focuses on measuring class and design. Metrics should be used targeted group of population which is also the case here.
from early stages of development as it reduces efforts and im- B. Data Collection
proves quality. Software quality is a very important aspect with
Tools used:CodeMR and Metrics reloaded.
today’s growing technology. It provides an idea about how well
the developed product is and what further improvements and
Metrics Reloaded: IntelliJ IDEA is a platform that
changes can be performed. Specifically it is very important for
provides plugins with various functionalities; one such plugin
the development team to know about maintenance of software
is metrics reloaded; it is used to provide the wealth of the
where the concept of maintainability comes into play. Various
metrics used. It gives a keen insight about the project. After
object oriented metrics like coupling,cohesion,complexity etc
the installation of this software it shows us various options
can help achieve this. This project focuses on studying the
to fine tune and analyze different parts of code be it certain
maintainability of ArtOfIllusion. An analysis on several differ-
projects, module files etc. Metrics such as dependency,
ent versions like 3.2.0, “nightly-2020-06- 25”, 3.1.0, “nightly-
complexity, class count, lines of code etc can be calculated.
47c3f74”, “nightly-6d119b1”, “nightly-187a2b3” and 3.0.3 a
There is also an option to generate your own selection of
keen study on these version is done to see the quality change
metrics based on the project. Pie charts, histograms and
over the period of time. GQM empirical methodology is used
distribution diagrams can also be drawn with the help of
to understand the internal attributes of the goal like code
metrics reloaded. .
structure,complexity,size and understandability and conclude
which classes are difficult to maintain. [?].
CodeMR: CodeMR is an integration of eclipse and IntelliJ
This paper consists of the first section having the intro-
IDEA and a quick and easy tool to understand the quality of
duction followed by research methodology along with data
software. One can visualize high level object oriented metrics
collection and analysis and the next section containing GQM
like complexity, cohesion, coupling etc to see the state of
tree with relevant questions, suitable metrics, tools and justi-
the project. We can divide into customized working sets and
fications. The fourth section has the discussion about results
extract information. Metrics can be observed in various views
which is answering all the GQM questions and visualizing the
like package structure, graph views and dependency etc. It
data obtained and finally the last section discusses the analysis
saves all the files to the local machine and no third party is
of results, reflection of the study and related work for further
involved. Visualiton can be done on a keen level with various
extension.
distribution diagrams..
II. R ESEARCH M ETHODOLOGY Both Metrics Reloaded and CodeMR produces code at both
class level and package level and sometimes methods as well.
A. Study type Metrics that we cannot get from packages are individually
The methodology that is well suited for this project calculated from each class and then average is calculated.
would be case study. A case study is a systematic study on
a specified subject by focusing on extracting an in-depth C. Data Analysis
knowledge from real time context. It is a flexible approach Data is collected in Excel sheets as it has strong
which aims to investigate contemporary situations using computational power to store and analyze large data sets. It
multiple pieces of evidence. is an easy and accessible tool. Large data visualization can
also be done in simple ways.
Justification: Here our aim is to study the maintainability
of art of illusion to achieve this we used metrics extraction Statistical Measures: Most of the metrics considered were
tools collected relevant metrics and then later analyzed the evaluated from class level. The sums are calculated followed
results for all the given versions for software. Case study is the by mean for all the classes thereby packages. Therefore we
can normalize the data. For some package level analysis will with each other. And is used to calculate the coupling with
be directly provided by the tool. The central tendency is each other classes. If the CBO value is zero, it indicates no
based on the scale we fix upon. relationship between the classes.
Visualization: The data we collected is in the form of Justification - The number of classes, coupled with other
tables to make it more readable and understandable. We make classes, is the count of the CBO. If that value is in between
use of the visualization features of excel sheets. Various data 1 and 4, then the class or modules are perfect, i.e. loosely
visualizations like barcharts, histograms, scatter plots etc can coupled and if the value is high that leads to high coupled
be illustrated. Here we used scatter plots where each version is and increases the complexity. In the research paper “can we
stored in different sheets and x axis is for the packages and y predict types of code changes? And empirical analysis” by E
for the versions. Each metrics and their corresponding values Giger, M Pinzger and Harald C.G in 2012, they concluded
are plotted in a similar manner for analysis. that the CBO values provide the strong coupling with source
code changes, which showed proneness change in code.
III. GQM T REE
Goal Question Metric framework is an approach adopted Efferent coupling –Ce is defined as the total count of
to improve the quality of business products or processes by classes in the packages which is dependent on the other
measuring them using different metrics. The famous Basili’s classes in that package. In other words, it is defined as the
GQM process contains five phases:Develop goals, Formulate no. of incoming arrows to the class.
questions relevant to goals (each question containing an entity
and an attribute),identify and specify metrics to answer the Justification - It is a count of the no. of inner classes that
above questions, validate and analyze the collected data. The are dependent on external classes. If the Ce values are zero
results will help in achieving the goal and in depicting future or low value that is defined as the module being more stable.
improvements[2]. Also, if the value of Ce is higher, then the module is unstable.
If the Ce value is low then the module is more stable, and
TABLE I also the maintenance would be easy.
R ESEARCH Q UESTIONS
Goal
Afferent coupling – Ca is meant by total count of classes
To examine maintainability of ArtOfIllusion present in other packages which are dependent on the
Question Attribute classes in the package, by this the Afferent coupling is been
Q1 Which Art Of Illusion module has least Coupling calculated.
coupling ?
Q2 Which Art of Illusion module is highly Cohesion
cohesive? Justification – afferent coupling is used to calculate number
Q3 Which Art Of Illusion module has the least Complexity classes in the exterior classes which are dependent on inner
complexity?
Q4 Which Art Of Illusion module is easier to Understan- classes. It is also known as the number of arrows coming
understand ? inside of a class. High Afferent coupling values indicate
dability good coupling which in turn increases the difficulty of
Q5 Which Art Of Illusion module is the small- Size
est in size ? maintenance. Afferent coupling is used to calculate the no.
of class in the exterior classes, those who are dependent on
inner classes. In other words, no. of arrows which are coming
TABLE II
inside of a class. High Afferent Coupling value indicates a
M ETRICS U SED good coupling which makes difficult to maintain.
Metrics
M1 CBO Coupling Between Objects LCOM – It represents the number of non-connected method
M2 Ce Efferent Coupling pairs in a class, which represent the independent parts with no
M3 Ca Afferent Coupling cohesion. It is calculated as
M4 LCOM Lack of cohesion metric
LCOM = No. of method pairs that share no common
M5 LTCC Lack of Tight class cohesion
M6 DIT Depth of Inheritance Tree instance variable - No. of method pairs that share common
M7 LOC Lines of Code instance variables.
M8 Comment ra- Comment ratio
tio
M9 NOM Number of methods Justification – According to the jehad Al Dallal research
M10 RFC Response for a class paper “Improving the applicability of object-oriented class
cohesion metrics”, defined as the cohesion metrics that
improves the applicability and increases in the code quality
A. Metrics in every suitable case. If the value of cohesion is high
CBO – Coupling between objects is used in representing that indicates a better code understandability, reusability,
how many data types are present in the class and are coupled and analyzing. If that LCOM value also decreases the
maintainability, portability, and efficiency. NOM – NOM is defined as the total no. of methods present
in a given class.
LTCC – The lack cohesion between the public methods of
a class is measured using [Link] is the number of public Justification – : NOM is used to measure the size of the
methods in the class that are directly related. Classes with a class by calculating the no. of methods present in the class.
high lack of cohesiveness imply design flaws. If the count of the NOC is high, the code is size increases,
which makes it hard to maintain and similarly if that value is
Justification—It is used for measuring cohesion as lack of comparatively less,then the size is less and which is easy to
cohesion will disturb the design and knowing this value will maintain
indicate the efficiency of the system.
TABLE III
C APTION
RFC – The number of different methods and Constructors
Entity Attribute Metric
Introduced by a Class is known as the RFC. It measures Understandability Comment Ratio
the range of various methods that can be executed when a CBO
message is received by an object of that class. Coupling Ce
Ca
RFC
Justification –If the RFC value is greater than the no. of Package Complexity
DIT
methods that can invokes from a class, that leads to more LOC
Size
NOM
complexity in the class. If that value is the less then that LCOM
leads to the less complex and more easy to maintain. Cohesion LTCC
DIT – : DIT is used to measure the complexity. It can B. Scale types:
also be used the calculate the path with the maximum
length from a class to the root. This can also be measured by In general, there are five scale types: Nominal Scale: This
counting the modes present between root and the subject node. scale is used to categorize entities into unordered classes
Ordinal Scale: This scale is used to categorize entities into
ordered classes. Ratio Scale: This scale is used to measure
Justification – If the value of DIT increases the distance
entities which are quantitative in nature and a zero element
between the classes and the root will also increase. By which
exists. Interval Scale: This scale is also a quantitative
the complexity of the code will also increase, which becomes
measurement scale but zero element is random. Absolute
harder to maintain with high DIT.
Scale: This scale is used for counting the number of elements
in the dataset.
Common Ratio– The comments in the code assist us in
understanding what the code does, how well it works, and Justification:
also what the code is all about. It’s the number of lines
of code divided by the total number of lines of code. CR CB0-Absolute Justification:CBO as mentioned above is the
=Comment lines of code / Source lines of code. total count of classes coupled to a given class. So Absolute
scale is the most appropriate one to measure this metric.
Justification – A good comment ratio makes the code
easier to read and maintain. If the Comment Ratio is too low, Ca-Absolute Justification:Ca is the absolute value of the
the code will be hard to maintain and understand, and if it is total number of packages the given package is dependent
too high, the code will be difficult to understand. The best [Link] Absolute scale is the most appropriate one to measure
comment ratio is 0 (zero). A good CR is when you write this metric.
the fewest comments possible while still comprehending the
code. The CR is an appropriate measure for determining the Ce-Absolute Justification:Ce is the absolute value of total
product’s understandability and maintainability number packages that are dependent on the given package
and is similar to Ca metric. Therefore, Absolute scale is the
LOC – Lines Of Code is a size measurement that most appropriate one to measure this metric.
determines the size of a program by counting the number of
lines it contains. The complexity of a program can sometimes LCOM-Ratio Justification:Since it measures the cohesion
be increased by adding more lines of code. based on methods that are linked to each other in a class and
the values are numerical, Ratio scale is the most appropriate
Justification – :For calculating the lines of the code, a few scale.
things are considered, such as the number of methods in that
class and the number of lines the code has. LTCC-Ratio Justification: It measures the cohesion based
on directly connected methods in a class. Therefore, the Ratio
scale is the most appropriate scale to measure TCC. TABLE V
VARYING SIZE
RFC-Ratio Justification:RFC gives the count of number of version number number Lines
classes that can be executed in response to a [Link],the most of packages of classes of code
suitable metrics would be Ratio. 3.2.0 16 523 73016
nightly- 16 524 72920
2020-06- 25
DIT-Absolute Justification: This metric shows the position 3.1.0 16 522 72465
of the class in the inheritance tree. Hence, the appropriate nightly- 16 522 72464
47c3f74
metrics would be Absolute. nightly- 16 520 72292
6d119b1
Comment Ratio-Ratio Justification: Comment ratio shows nightly- 16 516 70995
the understandability of the code. It is calculated as- Comment 187a2b3
3.0.3 16 509 69207
ratio= (No. of commented lines) CLOC/ (Total lines of code)
TLOC Hence, the appropriate scale type would be Ratio.
number of classes increased from the first version till the
LOC-Absolute Justification: LOC gives the total number latest [Link] the latest version is an exception as number
of lines in a code; it is related to the size of the code. Hence, of classes reduced by one from nightly-2020-06-25 to 3.3.0.
the suitable scale type would be Absolute. Similarly, there is an increase in LOC of about 4k LOC in the
latest version when compared to the first version.
NOM-Absolute Justification:NOM gives the total number
of methods in the code. It tells about the size of the code.
TABLE VI
Hence, the appropriate scale type would be Absolute. S IZE OF PACKAGES IN THE LATEST VERSION
Package Lines number
IV. R ESULT of code of classes
artofillusion 22573 1361
A. Art of illusion [Link] 9062 34
Art Of Illusion is a program that is used to create finest [Link] 2140 45
[Link] 3231 9
images and animations coded in Java [Link] this section
[Link] 787 4
,we present a complete overview of Art Of Illusion and show [Link] 314 9
how it evolved over different versions. All the Seven versions [Link] 701 5
of Art Of Illusion are thoroughly analyzed and compared to [Link] 1836 1
[Link] 11189 33
achieve the stated goal .Each version contains 16 packages [Link] 7012 64
or modules and we analyzed each one of them across all the [Link] 962 5
versions. The packages identified are listed below along with [Link] 5069 21
their Lines Of Code (LOC) and Number Of Classes (NOC) in [Link] 3675 60
[Link] 312 0
the latest version 3.2.0 of Art Of Illusion. [Link] 1297 0
[Link] 2856 13
TABLE IV
S IZE OF PACKAGES IN THE LATEST VERSION
Package Lines number B. GQM answers
of code of classes
artofillusion 22573 1361 1) Which Art Of Illusion module has least coupling ?:
[Link] 9062 34 Coupling is the measure of dependency of one module over
[Link] 2140 45 the [Link] Coupling is a measure of interconnections, it
[Link] 3231 9
can be considered as a good indicator of the structure. Low
[Link] 787 4
[Link] 314 9 Coupling indicates less dependency and interlinks between
[Link] 701 5 modules.. Thus there will be less connectivity among the
[Link] 1836 1 modules which makes it easier to maintain them. To answer
[Link] 11189 33
[Link] 7012 64
this question, we selected relevant metrics such as CBO,Ca
[Link] 962 5 and [Link] used the Code MR tool to extract each of these
[Link] 5069 21 metrics for individual packages in different versions. For each
[Link] 3675 60 of these metrics , the tool provides class level values. So we
[Link] 312 0
[Link] 1297 0 aggregated them to obtain package level values by taking the
[Link] 2856 13 mean of all the values(since ratio scale is most appropriate to
measure the above metrics.
As we can see in the above table, the number of packages As far as CBO values are considered from fig1,
i.e 16 remained consistent throughout all the [Link] [Link] has zero CBO value and this value is
consistent throughout all the [Link] lowest coupling Ca is the measure of the number of packages outside
value makes it very easier to maintain. the class that are dependent on a given package. Packages
such as [Link] , [Link], artofillu-
[Link] ,[Link] , [Link] and
[Link] have zero Ca values and thus are easier to
maintain. [Link] and [Link] have
next lowest values. [Link] has highest ca values
and is the hardest to maintain among all the modules.
Fig. 1. CBO
Among all the packages, the art of illusion package has the
low coupling values in the initial versions. But we observe
that it increased to a considerable amount in the latest version.
So this module is difficult to maintain now when compared
to previous [Link] far as latest version is considered
,art of [Link] has highest CBO [Link] the whole, Fig. 4. Ca graph
the CBO values of majority of modules is increased making
them difficult to maintain. Ce is the measure of the number of classes in the given
package that depend on other packages.
Fig. 2. CBO graph Fig. 5. Ce
Ce values for [Link] reduced to zero in the latest
version and is very easier to maintain compared to all other
modules.
Fig. 3. Ca Fig. 6. Ce Graph
[Link] also has a zero value Modules such as and [Link] have similar but high values of
[Link] and [Link] have the LCOM .Since these packages have high values of LCOM,
next lowest Ce values and are consistent throughout all the they have less cohesion and are very tough to maintain. The
versions. artofillusion package has highest Ce values followed [Link] package has the least LCOM value
by [Link] and [Link] making and is consistent across all the versions.
these packages difficult to maintain compared to others. It has highest cohesion and is very easier to maintain
On the whole, [Link] has zero CBO values and Ce when compared to other modules. In fig 5, LTCC values
values and lower Ca values as well .So we can conclude
that [Link] package has the least coupling and thus
is very easier to maintain as it has less dependency over others.
2) Which Art of Illusion module is highly cohesive?
: Cohesion is a measure of relationship between different
methods of a given [Link] methods are related to each
other(for example: if they share same instance local variables)
, then that particular module has high cohesion and is
easily maintainable. To answer this question, we selected
two relevant metrics namely LCOM (Lack Of Cohesion of
Methods) and LTCC (Lack of Tight Class Cohesion). Fig. 9. LTCC
We used the Code MR tool to extract both the metrics. We
of all the packages across all the versions are given.
LTCC is a measure of lack of cohesion between public
methods of a class. If LTCC values are high,cohesion
is Low and it becomes difficult to maintain the module.
[Link] and [Link] have high values of
LTCC leading to low [Link] are the most difficult
ones to maintain. [Link] package has a zero
Fig. 7. LCOM
extracted the values at method level and aggregated them by
taking the average or Mean of all the values.
In fig 7 ,LCOM values of all the packages across all the
versions are [Link] is a measure of unrelated methods
of a class, so high LCOM values lead to low cohesion
and low maintainability. The [Link] package
Fig. 10. LTCC Graph
LTCC value. So it has highest cohesion and is most easiest
to maintain. [Link], [Link] and
[Link] modules have next lowest LTCC values
but are quite high compared to [Link] package.
[Link] package also has low values of LTCC
but has a high value in one of the versions. It is also easier
to maintain compared to most of the other modules.
On the whole, [Link] has highest cohesion
since it has minimal LCOM and TLCC values which makes it
easier to [Link] can conclude the same from the graphs
also. While [Link] has a zero LTCC value,it
Fig. 8. LCOM-Graph has high LCOM [Link] we cannot comment on its cohesion.
has highest LCOM value followed by packages such as 3) Which Art Of Illusion module has the least com-
[Link],[Link] , [Link] plexity?: Complexity , as the name suggests, is the measure
of how complex the given code of a module is. As the
complexity increases, it gets very difficult to maintain the
code .This complexity can be measured using various metrics
and parameters which can help in determining the complexity
of a given [Link] answer this question, we selected two
relevant metrics namely DIT and RFC.
Fig. 13. RFC
Therefore we conclude that artofillusion is more complex and
thus is very difficult to maintain. The packages [Link]
and [Link] have least values of RFC, Thus they
are less complex and easier to maintain. On the whole,
Fig. 11. DIT
In fig 11, DIT values for all packages across all the
versions are given. As Depth of Inheritence Tree Increases,
it is obvious that the code becomes more complex. This will
lead to decrease in maintainability. We observed that there is
a lot variation in the values for each package across different
versions. We also observed that for each package, the DIT
values are low in the versions 3.0.1, Nightly- 47c3f and
Nightly-187a2b3 . The artofillusion and [Link]
Fig. 14. RFC Graph
we conclude that [Link] module is the module
with least complexity Since it has both low DIT and low
RFC values. Therefore [Link] module is easier To
maintain and has higher maintainability.
4) Which is the most understandable module of Art
Of Illusion?: Understandability is a measure of how easier
it is to understand the code of a given module. More
understandable code is definitely easier to maintain as it takes
less time to repair more more comprehensible code. It will
Fig. 12. DIT Graph
packages have high values of DIT when compared to other
modules. They have high complexity ,hence have low values
of maintainability. We also observed that [Link]
, [Link] and [Link] have least values of
DIT. Among them,[Link] has the lowest com-
plexity and thus is easier to maintain.
In fig 13, RFC values for all packages across all the versions
are given. As RFC value increases, the complexity increases
and maintainability [Link] to DIT values, There
is a lot of variation in RFC values across different versions Fig. 15. Comment Ratio
for each [Link] versions Nightly- 47c3f and Nightly-
187a2b3 have very low RFC values when compared to RFC also be easier to identify the errors and hence to maintain.
values of the same package in other versions. Among all the To answer this question, we selected Comment Ratio as the
packages,artofillusion package has very high RFC values . relevant metrics since comments in the code are written so
that both developers and readers can understand the code
clearly. If ratio of commented lines to total Lines of code
increases , understandability [Link] used Metrics
Reloaded tool to extract the values for this metric at package
level directly across all the versions increases. As per fig 15,
Fig. 17. LOC
LOC and thus it is the smallest module in terms of LOC .This
package is followed by packages such as [Link],
[Link] and [Link] which have
second lowest LOC values.
Fig. 16. Comment Ratio Graph
the [Link] has a zero commented ratio value. This
suggests that no comments have been made while writing the
code for this module. So it is least understandable module
and most difficult to maintain when compared to [Link]
also observed that packages in the latest versions have slightly
higher comment ratio when compared to same package in
the previous [Link] More or less these values are the
same. Among all the packages , [Link] package has
the highest comment ratio (i.e about 11Of LOC belong to
commented lines).These comments will make the code more
understandable and thus easier to [Link] packages such Fig. 18. LOC-Graph
as [Link] and [Link] have next highest
comment ratio values .These are also easier to understand Secondly, we consider the values of NOM in fig [Link]
and thus are easier to maintain. observed that there is a lot variation in the values of NOM
We conclude that [Link] is the most understandable for each package across different versions.
package since it has high comment ratio. Thus, maintenance
of this module is easier when compared to others.
5) Which Art Of Illusion Module is smallest in size?: Size
is often considered as the most appropriate internal measure
to measure maintainability. As the size of a module increases,
it becomes difficult to maintain the module. Therefore smaller
modules are easier to maintain and understand. To answer this
question , we selected two relevant metrics namely LOC and
NOM. These two metrics tell about the total number of lines
and methods in the code.
We used Code MR tool to extract both the metrics and
found out the values for all the packages across different Fig. 19. NOM
versions of Art Of Illusion. As per the LOC values given in
fig 18, [Link] package has highest number of LOC Two of the seven versions namely Nightly- 47c3f and Nightly-
followed by [Link] package when compared with 187a2b3 versions have low values of NOM for almost every
other modules .These values of LOC are consistent across package when compared with other versions.
all the versions for both the packages. We also observed that We also observed [Link] has highest values of
[Link] package has least LOC values. Even though NOM in most of the versions, this makes it very difficult
these values are very low In previous versions when compared module to maintain. The [Link] package has least
to latest one, it still remains the module with least number of values of NOM especially in both the above specified versions.
While analyzing individual attributes we also found out that
there are few versions which have Abnormal values such as
Nightly- 47c3f and Nightly-187a2b3. For the metrics DIT,
NOM and RFC , these metrics values for every package is
very low compared to their values in different versions.
We also observed a relation between complexity and Un-
derstandability. They are always inversely related. Artofillu-
[Link] package is most understandable and less complex.
Thus complexity and understandability are inversely propor-
tional.
V. D ISCUSSION
A. Related work
Fig. 20. NOM Graph
Not much data is available on this topic in any of the
reputed databases but in [1] they discussed the object oriented
So it is the smallest module in terms of NOM also. This class maintainability prediction using internal attributes by
package is followed by packages such as [Link] taking the concepts of art of illusion.
, [Link] etc.
On the whole ,the [Link] has the least values
both in terms of LOC and [Link] We can conclude B. Reflections
that [Link] is the smallest module and thus is
easiest to maintain when compared to other packages. Maintenance of software is very important factor for the
development of a software project in this assigmnet we got to
C. overall analysis use object oriented metrics and tools like codeMR and metrics
reloaded to analyse important information about art of illusion
Overall analysis is done taking the values of all the metrics
for each package into consideration. From the analysis of VI. R EFERENCES
individual questions we observed the following: The packages [1]Jehad Al Dallal, Object-oriented class
that are easier to maintain or have high maintainability based maintainability prediction using internal quality
on Internal attributes are: attributes,Information and Software Technology,Volume
[Link] has least coupling Artofillu- 55, Issue 11,2013,Pages 2028-2048,ISSN 0950-5849,
[Link] has high cohesion [Link] has [Link]
least complexity [Link] has more understandability
[Link] is small in size V. R. Basili and D. M. Weiss, ”A Methodology for Collecting
Out of 5 internal attributes , [Link] has more Valid Software Engineering Data,” in IEEE Transactions on
favourable values for two of them. So we can conclude that Software Engineering, vol. SE-10, no. 6, pp. 728-738, Nov.
[Link] might be more easier to maintain compared to 1984, doi: 10.1109/TSE.1984.5010301
other modules. We believe that [Link] can also be
considered as an easier to maintain module since It has more
favourable coupling values, size and cohesion values.
The most difficult to maintain module would be artofillusion
and [Link] since they have more complexity
and coupling which makes them very difficult to maintain.
Thus we tried to aggregate the results of individual questions
to evaluate our goal which is to understand which of our
modules are easier to evaluate.
D. Reflections
In this section, we try to further investigate the relationship
between different internal attributes. Considering the size and
structure, we found out few similarities which are as follows:
[Link] has low coupling,high cohesion and less
size . Thus it is very easier to maintain because of its good
size and structure values. Also,[Link] has high
coupling,low cohesion and more size. These values of size
and structure decrease the maintainability of this module.