Professional Documents
Culture Documents
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
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
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
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
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
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.
SA of Figure1 = 5.5
SA of figure2 = 4.14
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-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.
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.
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.
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.
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
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.
[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.
[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.
[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.
APPENDIX-A