Skip to main content
Log in

Package Coupling Measurement in Object-Oriented Software

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Booch G. Object Oriented Analysis and Design with Applications. 2nd Ed., Redwood City: Benjamin Cummings Publishing Company Inc., LA, USA, 1994.

    Google Scholar 

  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. Rational 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.

    Google Scholar 

  12. Briand L, Morasca S, Basili V. Property-based software engineering measurement. IEEE Transactions of Software Engineering, 1996, 22(1): 68–86.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  17. Li W, Henry S. Object-oriented metrics that predict maintainability. Journal of Systems and Software, 1993, 23(2): 111–122.

    Article  Google Scholar 

  18. Li W, Henry S, Kafura D, Schulman R. Measuring object-oriented design. Journal of Object-Oriented Programming, 1995, 8(4): 48–55.

    Google Scholar 

  19. Hitz M, Montazeri B. Measuring coupling in object-oriented systems. Object Currents, 1996, 1(4): 124–136.

    Google Scholar 

  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.

    Article  MATH  Google Scholar 

  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 theoretical considerations for a suite of metrics for the integration of software components. Information Sciences, 2007, 177: 844–864.

    Article  MATH  MathSciNet  Google Scholar 

  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 Confer̄ence (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’Objet, 2001, 7(4): 1–23.

    Google Scholar 

  42. Szyperski C. Component Software: Beyond Object-Oriented Programming. New York: ACM Press/Addison-Wesley, 1998.

    Google Scholar 

  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 early-phase 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.

    Google Scholar 

  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.

    Article  Google Scholar 

  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.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Varun Gupta.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gupta, V., Kumar Chhabra, J. Package Coupling Measurement in Object-Oriented Software. J. Comput. Sci. Technol. 24, 273–283 (2009). https://doi.org/10.1007/s11390-009-9223-6

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-009-9223-6

Keywords

Navigation