Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Package coupling measurement in object-oriented software

Published: 01 March 2009 Publication History

Abstract

The grouping of correlated classes into a package helps in better organization of modern object-oriented software. The quality of such packages needs to be measured so as to estimate their utilization. In this paper, new package coupling metrics are proposed, which also take into consideration the hierarchical structure of packages and direction of connections among package elements. The proposed measures have been validated theoretically as well as empirically using 18 packages taken from two open source software systems. The results obtained from this study show strong correlation between package coupling and understandability of the package which suggests that proposed metrics could be further used to represent other external software quality factors.

References

[1]
Booch G. Object Oriented Analysis and Design with Applications. 2nd Ed., Redwood City: Benjamin Cummings Publishing Company Inc., LA, USA, 1994.
[2]
Meyer B. Object Success -- A Manager's Guide to Object Orientation, Its Impact on the Corporation, and Its Use for Reengineering the Software Process. Prentice Hall, 1995.
[3]
Coad P, Yourdon E. Object-Oriented Analysis. Prentice Hall, 1991.
[4]
Page-Jones M. What Every Programmer Should Know about Object-Oriented Design. Dorset House New York, USA, 1995.
[5]
Rumbaugh J, Blaha M, Premerlani W, Eddy F, Lorensen W. Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, NJ, USA, 1991.
[6]
Jacobson I, Christerson M, Jonsson P, Övergaard D G. Object-Oriented Software Engineering -- A Use Case Driven Approach. ACM Press, Addison-Wesley, MA, USA, 1992.
[7]
Cantu M. Mastering Delphi 2 for Windows 95/NT. Sybex, 1996.
[8]
Booch G, Jacobson I, Rumbaugh J. UML Semantics. Ratiohal Software Corporation, Version 1.0, 1997.
[9]
Lewis S. The Art and Science of Smalltalk. Prentice-Hall, 1995.
[10]
Stroustrup B. The C++ Programming Language. Third Edition, Addison-Wesley Publishing Company, Massachusetts, USA, 1997.
[11]
DeMarco T. Controlling Software Projects. Yourdon Press, New York, USA, 1982.
[12]
Briand L, Morasca S, Basili V. Property-based software engineering measurement. IEEE Transactions of Software Engineering , 1996, 22(1): 68-86.
[13]
Chidamber S R, Kemerer C F. Towards a metrics suite for object oriented design. In Proc. the 6th ACM Conf. Object-Oriented Programming: Systems, Languages and Applications (OOPSLA), Phoenix, AZ, Oct. 6-11, 1991, pp.197-211.
[14]
Chidamber S R, Kemerer C F. A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 1994, 20(6): 476-493.
[15]
Eder J, Kappel G, Schrefl M. Coupling and cohesion in object-oriented systems. Technical Report, University of Klagenfurt, 1994.
[16]
Churcher N I, Shepperd M J. Comments on 'A metrics suite for object-oriented design'. IEEE Transactions of Software Engineering, 1995, 21(3): 263-265.
[17]
Li W, Henry S. Object-oriented metrics that predict maintainability. Journal of Systems and Software, 1993, 23(2): 111-122.
[18]
Li W, Henry S, Kafura D, Schulman R. Measuring object-oriented design. Journal of Object-Oriented Programming, 1995, 8(4): 48-55.
[19]
Hitz M, Montazeri B. Measuring coupling in object-oriented systems. Object Currents, 1996, 1(4): 124-136.
[20]
Briand L, Devanbu P, Melo W. An investigation into coupling measures for C++. In Proc. 19th Int. Conf. Software Eng., Boston, May 17-23, 1997, pp.412-421.
[21]
Lee Y S, Liang B S, Wu S F, Wang F J. Measuring the coupling and cohesion of an object-oriented program based on information flow. In Proc. International Conference on Software Quality, Maribor, Slovenia, Nov. 6-9, 1995, pp.81-90.
[22]
Martin R. Object oriented design quality metrics: An analysis of dependencies. ROAD, 1995, 2(3).
[23]
Martin R. Agile Software Development, Principles, Patterns, and Practices. Prentice Hall, 2002.
[24]
Tagoug N. Object-oriented system decomposition quality. In Proc. the 7th IEEE International Symposium on High Assurance Systems Engineering, Tokyo, Japan, Oct. 23-25, 2002, pp.230-235.
[25]
Xu B, Chen Z, Zhao J. Measuring cohesion of packages in Ada95. In Proc. Annual ACM SIGAda International Conference on Ada: The Engineering of Correct and Reliable Software for Real-Time & Distributed Systems Using Ada and Related Technologies, San Diego, California, USA, Dec. 7-11, 2003, pp.62-67.
[26]
Gui G, Scott P D. Coupling and cohesion measures for evaluation of component reusability. In Proc. International Workshop on Mining Software Repositories, Shanghai, China, May 22-23, 2006, pp.18-21.
[27]
Yu L G, Ramaswamy S. Component dependency in object-oriented software. Journal of Computer Science and Technology , May 2007, 22(3): 379-386.
[28]
Xu T, Qian K, He X. Service oriented dynamic decoupling metrics. In Proc. the 2006 International Conference on Semantic Web and Web Services (SWWS'06), Las Vegas, USA, June 26-29, 2006, pp.170-176.
[29]
Washizaki H, Yamamoto H, Fukazawa Y. A metrics suite for measuring reusability of software components. In Proc. the Ninth International Software Metrics Symposium (METRICS'03), 2003.
[30]
Narasimhan V L, Hendradjaya B. Some theoretica considerations for a suite of metrics for the integration of software components. Information Sciences, 2007, 177: 844-864.
[31]
Seng O, Bauer M, Biehl M, Pache G. Search-based improvement of subsystem decompositions. In Proc. GECCO'05, Washington, DC, USA, June 25-29, 2005, pp.1045-1051.
[32]
Franch X, Carvallo J P. A quality-model-based approach for describing and evaluating software packages. In Proc. IEEE Joint International Conference on Requirements Engineering (RE'02), Essan, Germany, Sept. 9-13, 2002, pp.1-8.
[33]
Ponisio L, Nierstrasz O. Using contextual information to assess package cohesion. Technical Report No. IAM-06-002, 2006, Institute of Applied Mathematics and Computer Sciences, University of Berne, 2006.
[34]
Lieberherr K J, Lorenz D H, Mezini M. Building modular object-oriented systems with reusable collaborations. In Proc. International Conference on Software Engineering. Limerick Ireland, June 4-11, 2000, pp.821-821.
[35]
Allen E, Khoshgoftaar T. Measuring coupling and cohesion of software modules: An information theory approach. In Proc. the Seventh International Software Metrics Symposium, London, UK, April 4-6, 2001, pp.124-134.
[36]
Mancoridis S, Mitchell B S, Chen Y, Gansner E R. Bunch: A clustering tool for the recovery and maintenance of software system structures. In Proc. International Conference on Software Maintenance, Oxford, England, IEEE Computer Society Press, 1999, pp.50-59.
[37]
Misic V B. Cohesion is structural, coherence is functional Different views, different measures. In Proc. the Seventh International Software Metrics Symposium (METRICS-01), London, UK, April 4-6, 2001, pp.135-144.
[38]
Hautus E. Improving Java software through package structure analysis. In Proc. International Conference on Software Engineering and Applications, Cambridge, USA Nov. 4-6, 2002.
[39]
Lee J K, Seung S J, Kim S D, Hyun W, Han D H. Component identification method with coupling and cohesion. In Proc. the Eighth Asia-Pacific on Software Engineering Conference (APSEC'01), Macao, China, Dec. 4-7, 2001, pp.79-79.
[40]
Abreu F B, Pereira G, Sousa P. A coupling-guided cluster analysis approach to reengineer the modularity of object-oriented systems. In Proc. the 4th European Conference on Software Maintenance and Reengineering (CSMR'2000), Zurich, Switzerland, Feb. 29-March 3, 2000, p.13.
[41]
Abreu F B, Goulão M. A merit factor driven approach to the modularization of object-oriented systems. L'Object, 2001, 7(4): 1-23.
[42]
Szyperski C. Component Software: Beyond Object-Oriented Programming. New York: ACM Press/Addison-Wesley, 1998.
[43]
Yu E, Mylopoulos J. An actor dependency model of organizational work -- With application to business process reengineering. In Proc. Conference on Organizational Computing Systems, Milpitas, Calif., USA, Nov. 1-4, 1993, pp.258-268.
[44]
Yu E. Towards modelling and reasoning support for earlyphase requirements engineering. In Proc. the 3rd IEEE Int. Symposium on Requirements Engineering (RE'97), Washington DC, USA, Jan. 6-8, 1997, pp.226-235.
[45]
Northcott M, Vigder M. Managing dependencies between software products. Lecture Notes in Computer Science 3412, Franch X, Port D (eds.), ICCBSS 2005, Springer-Verlag, Berlin/Heidelberg, 2005, pp.201-211.
[46]
Grunske L, Kaiser B. An automated dependability analysis method for COTS-based systems. Lecture Notes in Computer Science 3412, Franch X, Port D (eds.), ICCBSS 2005, Springer-Verlag, Berlin/Heidelberg, 2005, pp.178-190.
[47]
Franch X, Maiden N A M. Modeling component dependencies to inform their selection. Lecture Notes in Computer Science 2580, Erdogmus H, Weng T (eds.), ICCBSS 2003, Springer-Verlag, Berlin/Heidelberg, 2003, pp.81-91.
[48]
Aggarwal K K, Singh Y, Chhabra J K. Complete dependency matrix for object-oriented software. International Journal of Management and Systems (IJOMAS), 2003, 19(1): 43-54.
[49]
Gosling J, Yellin F. The Java Application Programming Interface. Vol. #1 (Core Packages)/#2 (Window Toolkit and Applets). Reading: Addison-Wesley, Massachusetts, USA, 1996.
[50]
Briand L C, Daly J W, Wüst J K. A unified framework for coupling measurement in object-oriented systems. IEEE Transactions on Software Engineering, 1999, 25(1): 91-121.
[51]
http://sourceforge.net/projects/xgen/.
[52]
http://jakarta.apache.org.
[53]
Kothari C R. Research Methodology: Methods & Techniques. Revised Second Edition, New Age International Publishers, New Delhi, 2007, pp.302-306.

Cited By

View all
  • (2023)Evaluating Microservice Organizational Coupling Based on Cross-Service ContributionProduct-Focused Software Process Improvement10.1007/978-3-031-49266-2_30(435-450)Online publication date: 11-Dec-2023
  • (2020)Software Defect-Proneness Prediction with Package Cohesion and Coupling Metrics Based on Complex Network TheoryDependable Software Engineering. Theories, Tools, and Applications10.1007/978-3-030-62822-2_12(186-201)Online publication date: 24-Nov-2020
  • (2018)Coupling and Cohesion Metrics for Object-Oriented SoftwareProceedings of the 11th Innovations in Software Engineering Conference10.1145/3172871.3172878(1-11)Online publication date: 9-Feb-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Journal of Computer Science and Technology
Journal of Computer Science and Technology  Volume 24, Issue 2
March 2009
224 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 March 2009
Revised: 24 November 2008
Received: 16 March 2008

Author Tags

  1. coupling
  2. metrics
  3. object-oriented software
  4. package
  5. understandability

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Evaluating Microservice Organizational Coupling Based on Cross-Service ContributionProduct-Focused Software Process Improvement10.1007/978-3-031-49266-2_30(435-450)Online publication date: 11-Dec-2023
  • (2020)Software Defect-Proneness Prediction with Package Cohesion and Coupling Metrics Based on Complex Network TheoryDependable Software Engineering. Theories, Tools, and Applications10.1007/978-3-030-62822-2_12(186-201)Online publication date: 24-Nov-2020
  • (2018)Coupling and Cohesion Metrics for Object-Oriented SoftwareProceedings of the 11th Innovations in Software Engineering Conference10.1145/3172871.3172878(1-11)Online publication date: 9-Feb-2018
  • (2018)Supporting the analyzability of architectural component models - empirical findings and tool supportEmpirical Software Engineering10.1007/s10664-017-9583-423:6(3578-3625)Online publication date: 1-Dec-2018
  • (2017)Measurement Metric Proposed For Big Data Analytics SystemProceedings of the 2017 International Conference on Computer Science and Artificial Intelligence10.1145/3168390.3168425(265-269)Online publication date: 5-Dec-2017
  • (2017)Harmony search based remodularization for object-oriented software systemsComputer Languages, Systems and Structures10.1016/j.cl.2016.09.00347:P2(153-169)Online publication date: 1-Jan-2017
  • (2016)Towards a pattern language for construction and maintenance of software architecture traceability linksProceedings of the 21st European Conference on Pattern Languages of Programs10.1145/3011784.3011810(1-20)Online publication date: 6-Jul-2016
  • (2015)Software metrics for measuring the understandability of architectural structuresProceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering10.1145/2745802.2745822(1-14)Online publication date: 27-Apr-2015
  • (2015)Empirical evidence on the link between object-oriented measures and external quality attributesEmpirical Software Engineering10.1007/s10664-013-9291-720:3(640-693)Online publication date: 1-Jun-2015
  • (2014)Supporting Software Evolution by Integrating DSL-based Architectural Abstraction and Understandability Related MetricsProceedings of the 2014 European Conference on Software Architecture Workshops10.1145/2642803.2642822(1-8)Online publication date: 25-Aug-2014
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media