Sie sind auf Seite 1von 5

Empirical Analysis on Object-Oriented Systems Using Dynamic

Coupling Measurements

Thida Oo

Pakokku Computer University, Myanmar

Abstract
The importance of software quality has been accepted a matter of great concern not only for the
developers but also for the business and government customers. As it was well-known before, quality
depends mainly upon the maintainability of the software. Coupling measurement is undoubtedly one
of the benchmarking methods whether the ready-to-launch application has reliable maintainability or
not. The measurement, in one hand, has traditionally been performed simply using static code analysis
at the stage of system testing or sometimes at the trial operation stage. The static analysis is an
appropriate measure while we were using traditional programming languages like COBOL,
FORTRAN, Pascal and C among others. With the crowded popularity of object-oriented (OO)
languages like C++, Visual C, Java and applications implemented in those OO languages, on the other
hand, the dynamic coupling measure could be used for the evaluation of the systems and application.
One of the main reason to apply dynamic coupling metrics is that it can reflects the reality of the tested
application since the measure could pinpoint the pitfalls and shortages that are not to be expected to be
found with static coupling measure although dynamic measure takes much more time to quality-test
especially if the size of the subject application is large.

The main motivation behind this proposal is that, for software development process, maintenance is a
follow-up activity and maintainability is one quality attribute that is usually considered as a post-
delivery phenomenon. In addition, realizing maintenance cost for a target software system couldn't be
decided off-hand, for maintainers of both sides (i.e. system supplier and developer in one side and
customer on the other), the author supposes the coupling measures as a proactive action both for the
quality of the target application and cost-benefit considerations for the stakeholders. Many a coupling
measure has been proposed for OO systems. Better maintainable and reusable system resulting from
the advantage of OO modeling approach is unquestionably accepted. The aim of this paper is to
investigate the relationship between coupling measurements and the quality and maintainability of
object-oriented systems developed. This paper presents the dynamic coupling measures which could
be used for the evaluation of the OO systems. The experimental analysis is done on three not-so-small-
1
scaled OO system releases, which are implemented in OO language, by using (6) types of dynamic
coupling measurements. So, three GNU packages, which are publicly distributed free software written
in Java, are collected. They are appropriate enough to be compared. The official brand of the collected
sample software is Package gnu.regexp. Three releases collected for this present research purpose are
26-class version 1.0.8, 30-class version 1.1.1 and 32-class version 1.1.4. To confirm and verify the
metric measurement results, the statistical methods, i.e. regression analysis, is applied.

The remainder of this paper is organized as follows. Section 2 presents the definition and brief
explanation on coupling together with dynamic coupling. Section 3 presents proposed analysis
structure. Section 4 describes the methodology used to analyze the collected data and build quality
predictive models. Section 5 sees the data collection process. Experimental data resulting from the
analysis are shown in Section 6. Section 7 concludes the paper by presenting limitations of the current
analysis and future work that can be extended.

O1 O2
m1

m2
f1(…… a1()
)
m3
f2(… a2()
…) m4
f3( ) a3()

m5

DMsgCount(f1,O2)=m1+m2=2
DMsgCount(f2,O2)=m3=1

Fig. 1: Dynamic coupling between two objects

Source Coupling
Parse
Code Measures

Information Store

2
Metrics Metrics
Results Analysis
Fig. 2: Proposed Analysis Structure

The followings are the analysis measures of dynamic coupling performed in this research:-

(i) IC-CD - Import Coupling Class-Level Dynamic message

(ii) IC-CM - Import Coupling Class-Level Distinct Methods

(iii) IC-CC - Import Coupling Class-Level Distinct Classes

(iv) EC-CD - Export Coupling Class-Level Dynamic messages

(v) EC-CM - Export Coupling Class-Level Distinct Methods

(vi) EC-CC - Export Coupling Class-Level Distinct Classes

3
A B C

m1B

m1B m1C

m1C

m1A

m2B

Fig. 3: Example Interaction diagram among classes A, B and C.

Table 1: Dynamic coupling measures from the example Scenario in figure (3)

A B C
Im- Ex- Im- Ex- Im- Ex-
port port port port port port
Dynamic 4 1 1 3 1 2
Messages
Distinct 3 1 1 2 1 1
Methods
Distinct 2 1 1 1 1 1
Classes

References

[1] E. Arisholm, "Dynamic Coupling Measures for Object-Oriented Software", in Proceedings of 8th
IEEE Symposium on Software Metrics (METRICS'02), pp. 33-42, 2002
[2] S. R. Chidamber and C. F. Kemerer, "A Metrics Suite for Object-Oriented Design", IEEE
Transactions on Software Engineering, Vol. 20, No. 6, pp. 476–493, 1994
[3] S. R. Chidamber, D. P. Darcy and C. F. Kemerer, "Managerial Use of Metrics for Object-Oriented
4
Software: An Exploratory Analysis", IEEE Transactions on Software Engineering, Vol. 24, No. 8,
pp. 629–637, 1998
[4] R. V. Hogg, and E. A. Tanis, Probability and Statistical Inference, Press 1977
[5] Y. D. Liang, Introduction to Java Programming, Third Edition, 2001
[6] I. Sommerville, Software Engineering, Addison-Wesley, 6th edition, Feb 2000
[7] Retrieved from http://www.testlabs.com/whitepapers.html, Copyright 1996-2R00, Test Labs, Inc.
[8] R. Chern and K. D. Volder, The Impact of Static-Dynamic Coupling on Remodularization,
OOPSLA’08, October October 19-23, 2008, Neshville, Tennessee, USA
[9] Y. Liu and A. Milanova, Static Analysis for Dynamic Coupling Measures, Proceedings of the 2006
Conference of the Center for Advanced Studies on Collaborative Research

Das könnte Ihnen auch gefallen