You are on page 1of 14

International Journal of Advanced Research in Engineering and Technology (IJARET)

Volume 11, Issue 3, March 2020, pp. 510-523, Article ID: IJARET_11_03_047
Available online at https://iaeme.com/Home/issue/IJARET?Volume=11&Issue=3
ISSN Print: 0976-6480 and ISSN Online: 0976-6499
DOI: https://doi.org/10.17605/OSF.IO/TKP2N

© IAEME Publication Scopus Indexed

ANALYZABILITY METRIC FOR


MAINTAINABILITY OF OBJECT ORIENTED
SOFTWARE SYSTEM
T. Preeti Priyanka
Research Scholar, Department of Computer Science, Acharya Nagarjuna University,
Guntur, Andhra Pradesh, India.

D.N.V. Syma Kumar


Associate Professor, Department of CSE., St. Ann’s College of Engineering & Technology,
Chirala, Andhra Pradesh, India.

R. Satya Prasad
Professor, Department of CSE, Acharya Nagarjuna University,
Guntur, Andhra Pradesh, India.

ABSTRACT
Analyzability is one of the major factors in the prediction of maintainability aspect
that can improve the quality of the intended software solution in an appropriate manner.
In fact, the right analyzability measure will go a long way in decreasing the
inadequacies and deficiencies through identification of the modified parts and failure
causes in the software system. The analyzability metric identification is not possible in
every software solution because of its non- functional nature in the real world, but in
object-oriented software system there is an opportunity to find out the analyzability
metric in the form of class inheritance hierarchies. In this research paper, the
researcher measured the analyzability factor for the object-oriented software systems
and also validated in accordance with the famed weyker’s properties. The proposed
analyzability metric here is intended to lead the new developments in object-oriented
software maintainability parameter in future and help the new researchers do their
research the right way thus eventually achieving the quality aspect of the object-
oriented software system and fulfilling the needs of the users.
Keywords: Class Analyzability, Analyzability metric, Maintainability metrics, Inheritance
hierarchy, Weyker’s properties, Object- Oriented (OO).
Cite this Article: T. Preeti Priyanka, D.N.V. Syma Kumar and R. Satya Prasad, Analyzability
Metric for Maintainability of Object Oriented Software System, International Journal of
Advanced Research in Engineering and Technology (IJARET), 11 (3), 2020, pp. 510-523.
https://iaeme.com/Home/issue/IJARET?Volume=11&Issue=3

https://iaeme.com/Home/journal/IJARET 510 editor@iaeme.com


Analyzability Metric for Maintainability of Object Oriented Software System

1. INTRODUCTION
In the software engineering or for that matter, in any other discipline of the engineering field, a
great number of researchers work to improve the software product quality significantly because
success of every software product has a bearing on the quality. And for enhancing the quality
of software, some researchers proposed some studies [1,2] with the help of number of available
metrics related to the software engineering field. This software quality cannot be measured
directly or in rather simpler manner because it is non functional in nature and because of various
parameters i.e., maintainability, portability, efficiency, usability, security, salability..etc and
their use in conjunction throw up quality issues.[3]. Among the number of parameters present
in software quality, maintainability is the major parameter to judge the any software product
quality requirement.
Strictly speaking, software maintainability identification helps show the improvement of
the productivity of the software in the future. But, as per different studies [4, 5] software
maintainability is the most difficult and costliest phase in the entire software development life
cycle (SDLC) phases. As per the existing work of the previous researchers, the software
maintainability inherently includes so many predictions and activities. These factors of
maintainability are the hurdles to determine the software maintainability in the correct manner.
To deal with the software maintainability in smooth manner estimated models of this parameter
do help the researcher to improve the maintainability of the software product to a great extent.
Like software quality, a number of previous studies state that maintainability parameter also
depends on the several factors i.e., Understandability, Modifiability, Analyzability, reusability,
accuracy..etc[6,7].
Analyzability factor is one of the most important criteria of any software product
maintainability because proper identification of the software analyzability factor protects the
software product from the failures that occur in future. The Analyzability factor defined by
ISO/IEC-9126-3 standard states that “a set of attributes for predicting the user’s or maintainer’s
efforts or resources are spent in trying to diagnose for deficiencies or causes of failure, or for
identification of parts to be modified in the software product” [8]. Generally, analyzability
factor prediction, hitherto, involved estimated model because of its non-functional nature. The
improvement of analyzability factor in the maintainability parameter prediction requires the
accurate measurement of the factor. The accurate measure of any factor or parameter is actually
given by the identified metric rather than the model estimation.
The researcher took metric identification for the Analyzability factor of the Maintainability
parameter as the main task in this research paper. The researcher had taken inspiration from the
existed research work of F T.Shelton et.al. [9] in view of finding the metrics for
Understandability and Modifiability factors of the Object-Oriented (OO) software
maintainability parameter. By considering the research work of Briand et.al. [10], Analyzability
is also one of the important factors among the three important factors of software
maintainability. The size and structural properties of the OO software system plays major role
in the prediction of the three important factors of the software maintainability. The OO class
diagram is the structural diagram of the OO software system which can help in prediction of
generalization property based metrics to improve the accuracy of the OO software
maintainability.
The roadmap of this research work is as follows. Section-2 gives the detailed literature
survey regarding the identified metrics of the three important factors of software maintainability
based on the generalization property of the OO software system. Section-3 illustrates the
introductory part and studies on the famous weyker’s properties which are used for the
validation of the researcher identified analyzability metric. The next section (Section-4)
describes the proposed metrics of Analyzability factor by individual class wise and total OO

https://iaeme.com/Home/journal/IJARET 511 editor@iaeme.com


T. Preeti Priyanka, D.N.V. Syma Kumar and R. Satya Prasad

system wise. The proposed Analyzability metric validation is done in the Section-5. Section-6
includes the comparison of the researcher proposed Analyzability metric and the previous
existed metrics based on the generalization property in the form of table manner. The
conclusion and future work relate to extend this research work in future is placed in Section -7
and Section-8 continuously.

2. LITERATURE SURVEY
The researcher did a study on the existed OO Class diagram based maintainability metrics based
on the generalization property in this section to support this research with a good basis. This
survey on number of existed metrics gives the basic foundation for the proposed Analyzability
factor metric and may pave way for new inventions in the area of OO class diagram
generalization based metrics in the future to bring the OO software system maintainability to
full perfection.
The inheritance is the principle of the generalization property of the OO class diagram based
software system. The basic development of the OO software maintainability metrics are started
by the first step of CK[11] proposed six OO metrics in 1991. Later CK[12] validated the
proposed six metrics both empirically and theoretically in the more constructive manner.
Among the proposed six metrics by CK only two are related to inheritance principle of the OO
class diagram like Depth of Inheritance (DIT) and Number of Children (NOC). The DIT
maintainability metric gives the longest path from root to a class in inheritance hierarchy of the
OO class diagram. The NOC maintainability metric gives the immediate level of children for
the class of the system. The proposed metrics are applied by CK[13] on number of commercial
applications and observed the working nature of the proposed metrics to improve the OO
software system productivity in an effective manner. The proposed two metrics show some
ambiguity in the multiple inheritance situation of the OO class diagram and that is the main
drawback of the proposed two metrics.
After some recommended studies done by several researchers[14,15,16,17] in theoretical
and empirical manner Li[18] identified some redundancy that existed with the CK[11]
developed DIT and NOC metrics in the maintenance phase of the SDLC. To improve the
maintainability Li[18] proposed two OO software maintainability metrics namely Number of
Ancestors(NAC) and Number of Descendant classes(NDC) based on inheritance principle of
the OO system. The NAC maintainability metric is the count of ancestor classes form a class.
This metric is the alternative and more improved rather than DIT metric. The NDC
maintainability is the count of sub children to a class. This is more improved than NOC metric.
Tegarden et.al.[19] proposed two new metric for OO software maintainability metrics based
on inheritance property namely one is Class to Leaf Depth (CLD) and Number of Ancestor
(NOA) respectively to measure the maintainability parameter. CLD metric states that the
maximum numbers of inheritance levels form a class and NOA states that a class can indirectly
or directly inherited from how many number of classes. Lake and Cook[20] proposed two more
inheritance based maintainability metrics namely Number of Descendants (NOD) and Number
of Parents (NOP). The NOD maintainability metric gives the number of directly and indirectly
inherited classes from a class. The NOP maintainability metric gives the number of classes that
directly inherits with a class of the intended OO software system.
Marchesi [21] proposed seven metrics based on the generalization and specialization
structural properties of the OO software system. Among the proposed seven metrics five metrics
are based in the generalization structural property. The proposed five metrics are defined here
as follows. The first metric is OA1gives the total number of classes in the given OO class
diagram. The second metric OA2 is the total count of Inheritance hierarchies of the system. The
third metric is OA3 which gives the average weighted responsibilities of the classes existed in

https://iaeme.com/Home/journal/IJARET 512 editor@iaeme.com


Analyzability Metric for Maintainability of Object Oriented Software System

OO system. The fourth metric named as OA4 gives the standard deviation of weighted
responsibilities of the classes in OO system. The final metric is OA7 which gives the percentage
of inherited responsibilities from the total number of responsibilities of a class.
Genero et.al. [22] Proposed three generalization structural property based metrics among
the total 12 proposed OO system maintainability metrics. The three proposed metrics are viz.
Maximum depth of inheritance tree(MaxDIT), Number of Generalizations(NGen) and Number
of Generalization Hierarchies(NGenH) respectively. Hendeson- Selleres[23] proposed a new
inheritance metric in the place of existing DIT metric named as Average depth of
Inheritance(DIT) to judge the maintainability of the OO software system in an effective manner.
AID metric involves the summation of individual depths of the classes in the system. This may
take more time rather than existing metrics which, in fact, is the drawback of this metric.
The basis of the Analyzability factor metric research work taken from the F.T.shelton et. al.
[9] proposed two inheritance principle based metrics namely Average Understandability (AU)
and Average Modifiability (AM) . AU maintainability metric includes both the super and sub
classes of the OO class diagram. AM maintainability metric includes only sub classes and the
developed AU metrics also. In the Analyzability metric identification also researcher followed
the same OO based class diagram strategy which can be used the existed researchers in their
research described in this literature survey. The researcher proposed the Analyzability metric
for individual class level and total system level also. The proposed metric process and validation
of the researcher proposed metric with the weyker’s properties [24] also described in the
following sections.

3. WEYKER’S PROPERTIES
Every proposed metric need to satisfy some constraints or follow axioms (or) properties to give
more strength to proposed metric and improve the metric’s usage by the future researchers in
their research to get their intended results. Among the existing constraints for validation of the
proposed metric, Weyker’s properties are well known and famous than others because more
number of researchers used these properties. The Weyker’s proposed nine properties for the
validation of the metrics are listed below:
The Weyker’s properties are Non- Coarseness, Granularity, Non-Uniqueness, Design
Implementation, Monotonicity, Non-Equivalence of Interaction, Significance of Permutation,
Significance of Permutation and Increased complexity with interaction. In the total nine
properties property-5 and property-9 contain the three subcases and the proposed metric need
to satisfy the these three sub cases also.
The Weyker’s properties are applied to any type of software program not just OO software
system. These properties are applicable to the software program for both the peripheral and
inner details also. In this research work the researcher used the OO software class diagrams
means the validation of the Weyker’s properties are only outside details of the class not the
inside details (source lines of code) of the class design. Abreu and Carapuca[25] stated that the
Weyker’s second property named Granularity can be applicable for any type of software system
because every system must contain the finite number of programs or classes that depend on the
software nature.
Previously some researchers[26,27,28] performed theoretical and empirical validation on
the weyker’s proposed nine properties in the view of applicability of them and identified non
applicable situations. Charniasky and Smith [27] stated that the seventh property of the
Weyker’s properties is not applicable for the OO software class diagram based system design
because the property-7 is only applicable only on the inside code of the program not applicable
for the outside details like classes of the OO class diagram. Sharma et al. [29] and Gurusan [30]
stated that the Weyker’s property-9 cannot be applicable for OO class diagram based systems

https://iaeme.com/Home/journal/IJARET 513 editor@iaeme.com


T. Preeti Priyanka, D.N.V. Syma Kumar and R. Satya Prasad

because the individual classes metric summation value is not greater than or equal to the metric
values of the combined classes in any situation. In the property-5, case-2 is not also applicable
for the previous proposed metrics also based on class diagrams.

4. PROPOSED METRIC OF ANALYZABILITY FACTOR


The researcher proposed the Analyzability metric for the individual class level and the total
system level also. The researcher named the Analyzability of the individual class is with CA
(Class Analyzability) and Analyzability of the total OO class diagram system is named as SA
(System Analyzability). In the prediction of the Analyzability factor metric the researcher used
two different inheritance hierarchy based class diagrams which are placed at the end of this
paper(Appendix-1). The Figure-1 represented with the Directed Acyclic Graph (DAG) with no
loops [31]. This fist class diagram includes the all types of the inheritances existed previously.
The Figure-2 represented with single, multi level and hierarchical inheritances only.
Analyzability of the individual class means to know about the all the classes inherited
directly and indirectly by the class and to the class along with the chosen class also. In this
metric prediction super classes and sub classes of the specified class are taken into the
consideration. Hence, the programmer may identify the failure zones of the OO software system
and protect the failures which may occur in the future. Analyzability of total system means the
average number of the total classes existed in the specified OO class diagram. The identified
Analyzability metric by class wise and system wise formulas and calculated metric values of
the individual classes and total system for two different diagrams also presented here.
Analyzability of the Individual Class (CA) is
CA= Number of Super Classes + Number of Sub Classes + 1
Analyzability of the entire system (SA) is
SA=∑𝑛𝑖=1 𝐶𝐴 i / n
CAi = Analyzability of the Individual Class i.
n= Number of classes.

By applying the proposed metrics on Figure-1


CA(E)=3
CA(A) = CA (B) =CA (D) = 5
CA(C) = CA (H) =6
CA (G) = CA(F)=7

SA of Figure1 = 5.5

By applying the metrics on Figure-2


CA(S) =CA(T) =CA (V)=3
CA(U)=CA(R)=4
CA(Q) =5
CA (P) =7

SA of figure2 = 4.14

https://iaeme.com/Home/journal/IJARET 514 editor@iaeme.com


Analyzability Metric for Maintainability of Object Oriented Software System

5. VALIDATION OF THE PROPOSED METRICS


The validation of the proposed Class Analyzability (CA) and System Analyzability (SA) are
illustrated here against the Weyker’s properties. The researcher applied the proposed metrics
on the different inheritance hierarchy based class diagrams (Figure-1 and Figure-2 ) and
validated with Weyker’s nine properties to give more strength to the proposed metrics.

Property-1: Non-Coarseness
The Non-Coarseness property states that the proposed metric value is not equal for some of the
different classes. If two classes I and J are with the proposed metric M the property-1 states that
M (I)! =M (J).
In Figure-1 the proposed metric shows the different values for classes E, A, C, G
respectively. The metric value of class E (CA (E)) is 3 and metric value of class A (CA (A) is
5 which are not equal. In Figure-2 also the classes S,Q and P are showing different Analyzability
metric values. Analyzability metric value of S (CA(S)) is 3 and metric value of Q (CA (Q)) is
5 are not equal. Hence the Analyzability metric at class level satisfied the Weyker’s property-1
successfully.
The system level Analyzability metric values for the two diagrams are different (Figure-1
and Figure-2). The Figure-1 system level metric value is 5.5 is not equal to the metric value of
the Figure-2 which is 4.14. Hence the Weyker’s property-1 also satisfied with the system level.
Finally the Weyker’s Non-coarseness property successfully validated with the researcher
proposed CA and SA metrics.

Property -2: Granularity


Every program must possess its metric value means finite number of programs has the metric
value. In the class level hierarchy every class and system is must having its own metric value
means without the metric value no one class should be placed in the OO class diagram based
software system.
In the section-3 discussed about this property validation for the software system with the
reference of the previous researchers. Hence the researcher developed CA and SA metric for
the Analyzability are successfully validated by weyker’s second property.

Property-3: Non-Uniqueness
The proposed metric value is equal for some of the different classes. If class I and class J are
two classes in the class diagram with the metric value M, the property states that M(I)=M(J).
In the Figure-1 classes A, D shows the same metric value at the class level. The class
Analyzability metric value of A (CA (A)) is 3 equal to the metric value of class D (CA (D)) is
also 3. The classes S, T, V of the Figure-2 are also shows the same class Analyzability metric
values. The CA (S) is 3 also equal to CA (T) which is also 3. Hence the class level Analyzability
metric (CA) validated the Non-Uniqueness property satisfied successfully.
Even though the system level Analyzability metric values are different for these two class
diagrams (Figure-1 and Figure-2) there is more chance to produce equal values by any two
different diagrams in the number of class diagrams. Hence system level Analyzability metric
(SA) also satisfies the third property of the Weyker’s in successful manner.
So, the third property of the Weyker’s (Non-Uniqueness) is successfully validated with the
proposed CA and SA metrics of the Analyzability.

https://iaeme.com/Home/journal/IJARET 515 editor@iaeme.com


T. Preeti Priyanka, D.N.V. Syma Kumar and R. Satya Prasad

Property-4: Design Implementation


Two different metric values can be given by the two different class diagram designs designed
by two designers (programmers). Generally any two different designers do not follow the same
structure of the class diagram i.e. same inheritance hierarchy and same number of classes. so,
the obtained metric values for the two different designers is absolutely different. This property
can be applied to any type of software in the real world.
Hence, the researcher proposed Analyzability metrics (CA,SA) are also satisfies the
Weyker’s fourth property (Design Implementation) in successful manner.

Property-5: Monotonicity
The grouping of any two different classes metric value is greater than or equal to the metric
values of the individual classes. If the two classes are namely I and J the combined as I+J , the
metric value of the I+J (M(I+J)) is greater than or equal to the individual classes metric values
(M(I), M(J)). The property can be represented with classes in the form of below equation.
M(I+J)>=M(I) and M(I+J)>=M(J)
This property has the three sub cases and the proposed metric need to satisfy the three sub
cases of this property.
(i) If two classes are siblings
(ii) If one class is the child of the another class
(iii) If the both the classes are not the siblings or children of each other.

Case-1: If two classes are siblings


Figure-1(b) and Figure-2(b) represented in Appendix-1shows the class diagrams suitable to the
case-1 of the Weyker’s property-5. In Figure-1(b) class C and D are give the two different
Analyzability metric values i.e., CA(C)=6 and CA(D)=5 respectively. The combination of the
two classes C+D Analyzability metric value is CA(C+D)= 7. Here CA(C+D)>=CA(C) and
CA(C+D)>=CA(D) satisfies the property-5.
The Figure-2(b) shows the class Analyzability metric value of class U, CA(U) is 4 not equal
to the metric value of V, CA(V) is 3. The grouping of these two classes as (U+V) and calculated
value of CA(U+V) is 6. The derived formulas CA(U+V)>=CA(U) and CA(U+V)>=CA(V)
satisfies the property-5.
Hence the Weyker’s property-5 (Case-1) satisfies with the validation of the proposed Class
Analyzability metric (CA) in proper manner. If the same strategy applied to the group of class
diagrams the system Analyzability (SA) metric also validated with property-5 (Monotonicity)
in successful manner.

Cse-2: If one class is the child of the another class


Figure-1(c) and Figure-2(c) of the Appendix-1 represents suitable diagrams for the Case-2 of
the Weyker’s fifth property. The class B and C are shown two different Class Analyzability
metric values i.e., CA(B)=5 and CA(C)=6 respectively. By combining the B and C classes as
C+B and the calculated CA(C+B) is 5. Here the resultant formulas are CA(C+B)>=CA (B) but
CA(C+B) < CA(C).
The Figure-2(c) contained class Q and S are given two different metric values. The CA
(Q)=5 not equal to the value of CA(S)= 3. By grouping the two classes into (Q+S) and the
resultant value of CA(Q+S) is equal to 4. The obtained formulas are CA(Q+S)>=CA(S) but
CA(Q+S)<CA(Q).

https://iaeme.com/Home/journal/IJARET 516 editor@iaeme.com


Analyzability Metric for Maintainability of Object Oriented Software System

The proposed metrics of Analyzability is not satisfied the Weyker’s fifth property (Case-2)
in some special situations. If the parent and child classes are combined generally the size of the
class diagram reduced and the effect shown on the combined classes. Hence the metric value is
reduced for some occasions. Like many of the previous developed metrics do not satisfy this
special case of property-5, class and system Analyzability metrics (CA and SA) developed by
the researcher also do not satisfy this special case of the property-5.

Case-3: If the both the classes are not the siblings or children of each other
The Case-3 of the Weyker’s property-5 can be applicable on Figure-1(d) and Figure-2(d) to
find the validity of proposed Analyzability metrics. In Figure-1(d) contained class-C and Class-
E gives two different values and both classes are not the siblings or not the children of each
other. The metric values of CA(C)=6 not equal toCA(E)= 3. The combination of both classes
as (C+E), the calculate metric value of CA(C+E)= 8. The resultant formulas are as
CA(C+E)>=CA(C) and CA(C+E) >=CA (E).
The class-Q and class-V form Figure-2(d) shows two different class Analyzability metric
values i.e., CA(Q)=5 which is not equal to the value of CA(V)=3. By grouping the two classes
as one class in the form of one class(Q+V) and the calculated metric value of C(Q+V) is equal
to 5. The obtained formulas with the help of proposed metrics are CA(Q+V)>=CA(Q) and
CA(Q+V)=CA(V).
Hence the proposed class Analyzability metric (CA) satisfies the Weyker’s fifth
property(Case-3) perfectly. In much the same way the system Analyzability metric (SA) also
satisfies the case-3 of the Weyker’s property by considering the more number of class diagrams
for the metric validation purpose. Finally the proposed CA and SA metrics are validated
successfully by this individual case of the property-5.
The proposed Analyzability metrics in this paper are satisfies the Weyker’s property-5
contained three cases in perfect manner but in the second case only not applicable situation
emerged. Previously so many maintainability metrics also did not satisfy this individual case of
the property-5 because of the reduced nature of the OO class diagram by combining the parent
and class into one class. Hence this is not a major issue in metric validation.

Property-6: Non-Equivalence of Interaction


If any two classes showing same metric values, grouping those individual classes with the same
class separately the resultant metric values are not equal. For example class I and class J are
two individual metric shown classes and the classes individually combined with the same class
K in the form of classes namely class(I+K) and class (J+K). The calculate metric values of
M(I+K) not equal to the M(J+K). The equation form of this property is as follows.
M(I+K)!=M(J+K)
The Figure-1(e),(f) and Figure-2(e),(f) class diagrams are suitable for validating the
proposed Analyzability metrics against the Weyker’s sixth property. In figure-1 class F and
class G shows the same class Analyzability metric values i.e., CA(F)=CA(G)=7. By combining
the class H with the F and G, two new classes namely class F+H and class G+H represented in
Figure-1(e) and Figure-1(f) respectively. The calculated metric values of CA(F+H) = 6 is not
equal to the metric value of CA(G+H)= 7.
The classes of the U and R of the Figure-2 gives the same Analyzability metric values i.e.,
CA(U)=CA(R)=4. By grouping the class V with class U and class R as shown in figure-2(e)
and Figure-2(f) as class (R+V) and class (U+V) respectively. The obtained metrics values of
CA(R+V)=3 is not equal to CA(U+V)=5.

https://iaeme.com/Home/journal/IJARET 517 editor@iaeme.com


T. Preeti Priyanka, D.N.V. Syma Kumar and R. Satya Prasad

The class level Analyzability metric (CA) is applicable to Weyker’s sixth property in
successful manner. In the same manner by considering the more number of class diagrams for
system level Analyzability metric(SA), this Non-Equivalence of Interaction property also
satisfied in successful manner. Hence the researcher proposed Analyzability metrics (CA and
SA) are validated by Weyker’s sixth property in successful manner.

Property-7: Significance of Permutation


If one program developed with the permutation order of another program the metric values of
the programs are not equal. This Weyker’s property is suitable for the traditional programming
only not on the OO software systems. This property especially works on the inside details of
the software program not the outside details like class name, structural properties..etc.
In the Section-3 described in elaborate manner about the non applicability of this property
to the OO software systems. This non applicability behavior can be identified and proved by
the researchers also included in the Section-3. As like as previous so many OO maintainability
class diagram based metrics the researcher proposed CA and SA metrics are also not satisfies
the Weyker’s seventh property in proper manner.

Property-8: No Change of Remaining


If the class name is changed with other name there is no change between the previous and
present metric values. Generally renaming of the class or any program can not show the effect
on result in the real world. Name is only for the class or program identification purpose only
not for the metric identification purpose.
This property can be applied to any type software developed metric because of its simple
nature. Hence the researcher developed class Analyzability (CA) and System Analyzability
(SA) metrics of OO software maintainability are satisfy this Weyker’s eighth property in
successful manner.

Property-9: Increased complexity with interaction


The metric value of the combination of two different classes is greater than or equal to addition
of the individual classes metric values. For example two classes namely class I and class J are
with different or same metric values the combination class(I+J) presented metric vale is greater
than or equal to the summation of the individual classes metric values. The equation form of
this property nine is as follows.
M(I+J)>=M(I)+M(J)
This property also has the three sub cases same as property-5 and the proposed metric need
to satisfy the three sub cases of this property.
(i) if two classes are siblings
(ii) if one class is the child of the another class
(iii) if the both the classes are not the siblings or children of each other.
Generally in any case the metric value of the combination class is not greater than or equal
to the addition of two individual metric values. This property opposed by the researchers and
stated that this property not applicable for the OO software system class diagram inheritance
hierarchies. In Section-3 of this research paper discussed about this non applicability of this
property-9 to the OO software systems. The three cases of the property-9 are not satisfied with
any proposed metric on OO software system with inheritance principle. Hence, researcher
proposed CA and SA metrics does not satisfy the three case of Property-9 in any proper manner.

https://iaeme.com/Home/journal/IJARET 518 editor@iaeme.com


Analyzability Metric for Maintainability of Object Oriented Software System

6. PROPOSED METRICS COMPARISON WITH EXISTED METRICS


In this section, researcher want to compare the proposed Class Analyzability (CA) and System
Analyzability (SA) metrics to give more strength for the proposed metrics. The existing metrics
are considered here for comparison are namely DIT, NOC, NDC, NAC, AID, AU and AM
metrics developed by the previous researchers. The Weyker’s properties tested data can be
compared to the various preferred OO software maintainability metrics. The comparison of the
number of metrics with Weyker’s properties are displayed in the following Table-1. The
proposed metrics in this research paper are displayed in table with bold letters.

Table 1 Inheritance based Metrics validation with Weyker’s properties


Property/
Metric DIT NOC NAC NDC AID AM AU CA SA
1 √ √ √ √ √ √ √ √ √
2 √ √ √ √ √ √ √ √ √
3 √ √ √ √ √ √ √ √ √
4 √ √ √ √ √ √ √ √ √
5 × √ × × × × × × ×
6 √ √ √ √ √ √ √ √ √
7 × × × × × × × × ×
8 √ √ √ √ √ √ √ √ √
9 × × × × × × × × ×
.√ - weyker’s property satisfied by the metric.
× - weyker’s property not satisfied by the metric.
In the above table Weyker’s satisfied metrics can be denoted by Right (√) symbol and not
satisfied property can be denoted with the Wrong (×) symbol. All most all the properties are
satisfied by the researcher proposed CA and SA metrics except that property-7 and Property-
are not satisfied. These two properties are not satisfied by the previously existed metrics also.
The property-5 can be applicable for NOC metric only because this metric only considers the
immediate first level of children only for the concerned node. This is also applicable to very
less number OO class diagrams. The researcher proposed metrics also satisfies almost total
cases of the property-5 but in the second d case of the property-5 can not applicable. Hence the
researcher proposed metrics are also eligible to use by the future researchers or users to fulfill
their requirements to improve the intended software product quality in prominent way.

7. CONCLUSION
In this research work researcher proposed new metric for the Analyzability factor of the OO
software maintainability parameter. Along with the existed Analyzability estimated models
researcher wants to propose the metrics for this factor because metric of the factor gives the
more accurate measure rather than the estimated model. The Analyzability factor metric
identification is entirely new idea which can improve the chances of predicting the software
maintainability in correct and accurate manner. This may lead to the success of the software
product. With the help of OO software class diagram inheritance hierarchies the researcher
proposed the metric for the Analyzability factor.
The researcher proposed metrics are namely class Analyzability (CA) and total system
Analyzability (SA) for the purpose of measuring the Analyzability in the class level and system
level also. The proposed metrics are validated with the Weyker’s nine properties also in this
research work. Most of the Weyker’s properties are satisfied by these proposed Analyzability
metrics and very less number of properties are not applicable for the proposed metrics. The

https://iaeme.com/Home/journal/IJARET 519 editor@iaeme.com


T. Preeti Priyanka, D.N.V. Syma Kumar and R. Satya Prasad

validation of the proposed metrics against Weyker’s properties gives more strength for these
metrics and ready to use in the future requirements.

8. FUTURE ENHANCEMENTS
Software quality improvement is the key ingredient in any software product development. The
software quality improvement is linked to so many parameters and its factors also. The proper
measurement of any factor or parameter related to the software quality leads to the success of
the software product and productivity is also improved drastically. In this process the researcher
wants to contribute towards improvement of the software quality by measuring the
maintainability with proper estimation model. For this, the researcher proposed individual class
and total system Analyzability (CA and SA) metrics to strengthen the research a bit in the
improvement of software quality.
The researcher concentrated on the development of the Analyzability metrics only in this
research paper. In future by using this Analyzability metric accurate estimated models will be
developed with the combination of different number of factors that exist for the OO software
maintainability parameter. Another angle of this research is to improve the chances of
developing the new metrics for the different factors of software maintainability parameter. This
metric identification for the other factors of maintainability helps in judging the OO software
system maintainability in an easy and in a more accurate way.

REFERENCES
[1] Amjan Shaik,C. R. K. Reddy, Bala Manda, Prakashini. C, Deepthi. K Metrics for Object
Oriented Design Software Systems: A Survey Journal of Emerging Trends in Engineering and
Applied Sciences (JETEAS) 1 (2): 190-198.

[2] M.S. Ranwat, A.Mittal, S.K. Dubey Survey on impact of software metrics on software quality
(IJACSA)International journal of Advanced Computer Science and Applications,
Vol.3,No.1,2012.

[3] ISO/IEC 9126. (1991) “Information technology - software product evaluation- quality
characteristics and guidelines for their use”.

[4] Li W. and Henry S. (1993) “Object-Oriented Metrics that Predict Maintainability”, Journal of
Systems and Software, vol. 23, no. 2, pp. 111-122, 1993.

[5] Sommerville I. (1996): Software Engineering, 5th Ed. Addison Wesley, USA, 1996.

[6] Ajay Rana, Soumi Ghosh and Dubey S.K. (2011) Comparative Study of Factors that affects
Maintainability, International Journal on Computer Science and Engineering”, vol 3 (12).

[7] Antonellis P., Antoniou D., Kanellopoulos Y., Makris C., Theodoridis E., Tjortjis C. and
Tsirakis N. (2007) “A Data Mining Methodology for Evaluating Maintainability According to
ISO/IEC-9126 Software Engineering Product Quality Standard,” Proc.11th IEEE Conference
on Software Maintenance and Reengineering (CSMR2007), 21 – 23 Mar, Amsterdam,
Netherlands.

[8] ISO/IEC TR 9126-3 (2002) Software Engineering Product Quality.

[9] Sheldon F.T.—Jerath K.—Chung H. (2002): Metrics for Maintainability of Class In-
heritance Hierarchies. Journal of Software Maintenance 14, pp. 147–160.

https://iaeme.com/Home/journal/IJARET 520 editor@iaeme.com


Analyzability Metric for Maintainability of Object Oriented Software System

[10] Briand L., Wüst J. and Lounis H. (1998) ” A comprehensive investigation of quality factors in
object-oriented designs: an industrial case study. In: 21st International Conference on Software
Engineering, Los Angeles, pp345-354.

[11] Chidamber S.R. and Kemerer C.F.(1991)“Towards a Metrics Suite for Object- Oriented
Design”, Proceedings of the 6th Annual ACM SIGPLAN Conference on Object-Oriented
Programming, Systems, Languages, and Applications (OOPSLA’91), October 6-11, Phoenix,
Arizona, USA, pp. 197-211.

[12] Chidamber S.R. and Kemerer C.F. (1994)“A Metrics Suite for Object Oriented Design”, IEEE
Transactions on Software Engineering, vol. 20, no. 6, pp. 476-493.

[13] Chidamber S., Darcy D. and Kemerer C.F. (1998) “Managerial Use of Metrics for Object-
Oriented Software: An Exploratory Analysis”, IEEE Transactions on Software Engineering,
vol. 24, no. 8, pp. 629-639.

[14] Basili VR, Briand LC, Melo WL., A validation of Object-Oriented design metrics as quality
indicators, Technical Report, University of Maryland, Department of Computer Science, 1995;
1-24.

[15] Hitz M. and Montazeria B.(1996)“Chidamber and Kemerer’s Metrics Suite: a Measurement
Theory Perspective,” IEEE Transactions on Software Engineering, vol. 22, no. 4, pp. 267 - 271.

[16] Tang MH, Kao MH, Chen MH, An empirical study on Object- Oriented metrics, Proceedings
23rd Annual International Computer Software and Application Conference, IEEE Computer
Society, 1999; 242-249.

[17] Li W. and Henry S. (1993) “Object-Oriented Metrics that Predict Maintainability”, Journal of
Systems and Software, vol. 23, no. 2, pp. 111-122, 1993.

[18] Li W. (1998) Another Metric Suite for Object-Oriented Programming. Journal of Systems and
Software, Vol. 44, pp. 155–162.

[19] Teagarden D.P., Sheetz S.D., Monarchi D.E. (1995) A software complexity model of Object-
Oriented systems. Decision support systems 13(3-4): 241-262.

[20] Lake A. (1994) Cook C. Use of factor analysis to develop OOP software complexity metrics.
Proceedings of the Annual Oregon workshop on Software Metrics, April 10-12, Silver Falls
OR, Oregon Center for Advanced Technology.

[21] Marchesi M. (1998): OOA metrics for the unified modeling languages. In Proceedings of 2nd
Euromicro Conference on Software Maintenance and Reengineering (CSMR'98), Palazzo degli
Affari, Italy, pp.67-73.

[22] Genero M. Manso M.E., Piattini, M., García F. (2000): Early metrics for Object- Oriented
Information systems. In Proceedings of 6th International Conference on Object- Oriented
Information Systems (OOIS 2000), London, UK, pp.414-425.

[23] Henderson-Sellers B. (1996): Object Oriented Metrics: Measures of Complexity. Pren-tice Hall
PTR: Englewood Cliffs, NJ, 1996; pp. 130–132.

[24] Weyker E.J. (1988): Evaluating Software Complexity Measures. IEEE Transactions on
Software Engineering, Vol. 14, No. 9, pp. 1357–1365.

https://iaeme.com/Home/journal/IJARET 521 editor@iaeme.com


T. Preeti Priyanka, D.N.V. Syma Kumar and R. Satya Prasad

[25] Abreu F.B. and Carapuca R. (1994) Candidate Metrics for Object-Oriented Software within a
TaxonomyFramework. Journal of System Software, Vol. 26, pp.87–96.

[26] Fenton N.E. and Pfleeger S.L. (1997) Software Metrics: A Rigorous and Practical Approach,
PWS Publishing.

[27] Cherniavsky J.C. and Smith C.H. (1991): On Weyker’s Axioms for Software Complexity
Measures. IEEE Transaction on Software Engineering, Vol. 17, No. 6, pp. 636–638.

[28] Zuse H. (1991) Software Complexity: Measures and Methods, De Gruyter. Berlin.

[29] Gursaran G.R. (2001) “On the Applicability of Weyuker Property Nine to Object-Oriented
Structural Inheritance Complexity Metrics”. IEEE Transaction on Software Engineering, Vol.
27, No. 4, pp. 361–364.

[30] Sharma N.—Joshi P.—Joshi R.K. (2006): Applicability of Weyuker’s Property-9 to Object-
Oriented Metrics. IEEE Transaction on Software Engineering, Vol. 32, No. 3, pp. 209-211.

[31] wang CC, shih TK , paiWC An automatic approach to object –oriented software testing and
metrics for c++ inheritance hierarchies, proceedings International Conference on Automated
Software Engineering (ASE’97), IEEE Computer Society press 1997;934-938.

AUTHORS PROFILE
Mrs. T. Preethi Priyanka, received B.Tech., degree from JNTU-hyderabad and
M.Tech., degree from jntu-kakinada, currently pursuing PhD from dept of CSE
from Acharya Nagarjuna University, Andhra Pradesh. current research is on
software engineering. she has published papers in national & international
journals.

Dr. D.N.V. Syma Kumar, Presently working as an Associate Professor in the


department of Computer Science & Engineering at St. Anns College of
Engineering &Technology, Chirala, Andhra Pradesh, India. He had received his
Ph.d. degree from Krishna University in the stream of Computer Science &
Engineering in 2017.He had published more number of international publications
in Scopus and various reputed journals. His research interests are Software
Engineering, Data Mining, Artificial Intelligence and Machine learning.
Dr. R. Satya Prasad received Ph.D. Degree in computer science in the faculty
of Engineering in 2007 from Acharya Nagarjuna University, Andhra Pradesh. He
received gold medal from Acharya Nagarjuna University for his outstanding
performance in master’s degree. He is currently working as Professor & HOD in
the department of Computer Science & Engineering., Acharya Nagarjuna
University. His current research is focused on Software engineering. He has
published several papers in National & International Journals.

https://iaeme.com/Home/journal/IJARET 522 editor@iaeme.com


Analyzability Metric for Maintainability of Object Oriented Software System

APPENDIX-A

https://iaeme.com/Home/journal/IJARET 523 editor@iaeme.com

You might also like