Skip to main content

A Review of Coupling and Cohesion Measurement in OO Systems Using Program Slicing

  • Conference paper

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 285))

Abstract

This paper gives an overview of various studies regarding static and dynamic Cohesion and Coupling measurement. This study has extrapolated that static measures are insufficient to measure dynamic coupling and cohesion and in order to obtain accurate results dynamic measures are required. Further the current work dwells into the fact that coupling and cohesion calculated with the help of dynamic program slicing yields better results than those calculated by conventional means. One approach to obtain static or dynamic program slicing is making dependence graphs of the system. We have also performed a comparative study on the various dependence graph required to obtain Cohesion and Coupling measurement using static and dynamic Program Slicing.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Weiser, M.: Program slicing. IEEE Trans. Software Eng. 10(4), 352–357 (1984)

    Article  Google Scholar 

  2. Rilling, J., Meng, W.J., Ormandjieva, O.: Context Driven Slicing Based Coupling Measures. In: Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM 2004), Washington DC, USA, p. 532 (2004)

    Google Scholar 

  3. 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 25(1), 91–121 (1999)

    Article  Google Scholar 

  4. Arisholm, E., Briand, L.C., Føyen, A.: Dynamic Coupling Measurement for Object-Oriented Software. IEEE Transactions on Software Engineering 30(8), 491–506 (2004)

    Article  Google Scholar 

  5. Yacoub, S.M., Ammar, H.H., Robinson, T.: Dynamic metrics for object oriented design. In: Proc. 6th International Symposium on Software Metrics, Boca Raton, FL, pp. 50–61 (1999)

    Google Scholar 

  6. Zhou, H., Huang, Z., Zhu, Y.: Polymorphism Sequence Diagrams Test Data Automatic Generation Based on OCL. In: The 9th International Conference for Young Computer Scientists, pp. 1235–1240 (2008)

    Google Scholar 

  7. Briand, L.C., Daly, J.W., Wüst, J.K.: A Unified Framework for Cohesion Measurement in Object-Oriented Systems. Empirical Software Engineering 3(1), 65–117 (1998)

    Article  Google Scholar 

  8. Gupta, V., Chabbra, J.K.: Dynamic cohesion measures for object oriented software. Journal of Systems Architecture 57(4), 452–462 (2011)

    Article  Google Scholar 

  9. Selby, R.W., Basili, V.R.: Analyzing error-prone system structure. IEEE Transactions on Software Engineering 17(2), 141–152 (1991)

    Article  Google Scholar 

  10. Horwitz, S., Reps, T.: The use of program dependence graphs in software engineering. In: ICSE 1992: Proceedings of the 14th International Conference on Software Engineering, New York, NY, USA, pp. 392–411 (1992)

    Google Scholar 

  11. Yourdon, E., Constantine, L.: Structured Design: Fundamentals of a Discipline of Computer Program and System Design. Prentice Hall (1979)

    Google Scholar 

  12. Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems 12(1), 26–61 (1990)

    Article  Google Scholar 

  13. Larson, L.D., Harrold, M.J.: Slicing object oriented software. In: Proceedings of the 18th International Conference on Software Engineering, Berlin, Germany, pp. 495–505 (March 1996)

    Google Scholar 

  14. Liang, D., Harrold, M.J.: Slicing objects using system dependence graphs. In: Proceedings of International Conference on Software Maintenance, pp. 358–367 (November 1998)

    Google Scholar 

  15. Krishnaswamy, A.: Program slicing: An application of program dependency graphs. Technical report, Department of Computer Science, Clemson University (August 1994)

    Google Scholar 

  16. Chen, J., Wang, F., Chen, Y.: An object oriented dependency graph. In: Technology of Object-Oriented Languages and Systems Tools, Beijing, China (1997)

    Google Scholar 

  17. Chen, J.T., Wang, F.J., Chen, Y.L.: Slicing object-oriented programs. In: Proceedings of the APSEC 1997, Hongkong, China, pp. 395–404 (December 1997)

    Google Scholar 

  18. Kung, D., Gao, J., Hisa, P., Toyoshima, Y.: Change impact identification in object-oriented software maintenance. In: Proceedings of International Conference on Software Maintenance, pp. 202–211 (September 1994)

    Google Scholar 

  19. Kung, D., Gao, J., Hisa, P., Toyoshima, Y., Chen, C.: Design recovery for Software Testing of Object Oriented Systems. In: World Conference on Reverse Engineering, pp. 201–211 (May 1993)

    Google Scholar 

  20. Gupta, N., Rao, P.: Program execution based module cohesion measurement. In: Proceedings of 16th Annual International Conference on Automated Software Engineering (ASE 2001), pp. 144–153 (2001)

    Google Scholar 

  21. Agrawal, H., Horgan, J.: Dynamic program slicing. In: Proceedings of the ACM SIGPLAN 1990 Conference on Programmimg Lanuages Design and Implementation, SIGPLAN Notices, Analysis and Verification, White Plains, NewYork, vol. 25, pp. 246–256 (1990)

    Google Scholar 

  22. Zhao, J.: Dynamic slicing of object-oriented programs. Technical report, Information Processing Society of Japan (May 1998)

    Google Scholar 

  23. Song, Y., Huynh, D.: Forward Dynamic Object- Oriented Program Slicing. In: Application Specific Systems and Software Engineering and Technology (ASSET 1999). IEEE CS Press (1999)

    Google Scholar 

  24. Xu, B., Chen, Z.: Dynamic slicing object-oriented programs for debugging. In: SCAM 2002, pp. 115–122 (2002)

    Google Scholar 

  25. Malloy, B.A., McGregor, J.D., Krishnaswamy, A.: An extensible program representation for object oriented software. In: Proceedings of ISFST, pp. 105–112 (2004)

    Google Scholar 

  26. Mohapatra, D.P., Mall, R., Kumar, R.: An edge marking dynamic slicing technique for object-oriented programs. In: Proceedings of 28th IEEE Annual International Computer Software and Applications Conference, pp. 60–65. IEEE CS Press (September 2004)

    Google Scholar 

  27. Mohapatra, D.P.: Dynamic slicing of objectoriented programs. PhD thesis, Indian Institute of Technology, Kharagpur, India (2005)

    Google Scholar 

  28. Hammer, C., Snelting, G.: An improved slicer for Java. In: Proceedings of PASTE, pp. 107–112 (2004)

    Google Scholar 

  29. Harrold, M.J., Rothermel, G.: Performing data flow testing on classes. In: Second ACM SIGSOFT Symposium on the Foundation of Software Engineering, pp. 154–163 (December 1994)

    Google Scholar 

  30. Lallchandani, J.T., Mall, R.: Static slicing of UML architectural models. Journal of Object Technology 8(1), 159–188 (2009)

    Article  Google Scholar 

  31. Lallchandani, J.T., Mall, R.: Integrated state-based dynamic slicing technique for UML models. IET Softw. 4(1), 55–78 (2010)

    Article  Google Scholar 

  32. Bae, J.H., Lee, K.M., Chae, H.S.: Modularization of the UML metamodel using model slicing. In: Proc. Fifth Int. Conf. on Information Technology: New Generations, pp. 1253–1254 (2008)

    Google Scholar 

  33. Bae, J.H., Chae, H.S.: UMLSlicer: A Tool for Modularizing the UML Metamodel using Slicing. In: The 2008 IEEE 8th International Conference on Computer and Information Technology, pp. 772–777 (July 2008)

    Google Scholar 

  34. Kagdi, H., Maletic, J.I., Sutton, A.: Context-free slicing of UML class models. In: Proc. 21st IEEE Int. Conf. on Software Maintenance (ICSM 2005), Washington, DC, USA, pp. 635–638 (2005)

    Google Scholar 

  35. Ray, M., Barpanda, S.S., Mohapatra, D.P.: Test Case Design Using Conditioned slicing of Activity Diagram. POSTER PAPER International Journal of Recent Trends in Engineering 1(2) (May 2009)

    Google Scholar 

  36. Weiser, M.: Program slicing. In: Proc. 5th Int. Conf. Software Eng., pp. 439–449 (May 1981)

    Google Scholar 

  37. Longworth, H.: Slice based program metrics. Master’s thesis, Computer Science, Michigan Technical University, Michigan, USA (1984)

    Google Scholar 

  38. Ott, L.M., Thuss, J.J.: Slice based metrics for estimating cohesion. In: IEEE-CS International Metrics Symposium, pp. 78–81 (1993)

    Google Scholar 

  39. Bieman, J.M., Ott, L.M.: Measuring functional cohesion, 0098-5589. IEEE Transactions on Software Engineering 20(8), 644–657 (1994)

    Article  Google Scholar 

  40. Krinke, J.: Statement-level cohesion metrics and their visualization. In: SCAM 2007 Seventh IEEE International Working Conference on Source Code Analysis and Manipulation, Paris, France. IEEE Computer Society Press (2007)

    Google Scholar 

  41. Meyers, T., Binkley, D.: An empirical study of slice-based cohesion and coupling metrics. ACM Transactions on Software Methodology (TOSEM) 17(1), 1–27 (2007)

    Article  Google Scholar 

  42. Meyers, T.M., Binkley, D.: Slice-based cohesion metrics and software intervention. In: Proceedings of 11th Working Conference on Reverse Engineering, Netherlands, pp. 256–265 (2004)

    Google Scholar 

  43. Henry, S., Kafura, D.: Software structure metrics based on information flow. IEEE Transactionson Software Engineering 7(5), 510–517 (1981)

    Article  Google Scholar 

  44. Harman, M., Okulawon, M., Sivagurunathan, B., Danicic, S.: Slice-based measurement of function coupling. In: 8th International Software Quality Week (QW 1995), San Francisco CA, paper 4-T-4 (1995)

    Google Scholar 

  45. Li, B., Zhou, Y., Mo, J., Wang, Y.: Analyzing the Conditions of Coupling Existence Based on Program Slicing and Some Abstract Information-Flow. In: Proceedings of the Sixth International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and First ACIS International Workshop on Self-Assembling Wireless Networks (SNPD/SAWN 2005), pp. 96–101 (2005)

    Google Scholar 

  46. Li, B.: A Hierarchical Slice-Based Framework for Object-Oriented Coupling Measurement, TUCS Techl. Report, Turku Centre for Computer Science, TUCS Technical Report No.415, Finland (July 2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Khalsa, S.K., Bhatia, R.K., Chhabra, J.K., Singh, M. (2012). A Review of Coupling and Cohesion Measurement in OO Systems Using Program Slicing. In: Dua, S., Gangopadhyay, A., Thulasiraman, P., Straccia, U., Shepherd, M., Stein, B. (eds) Information Systems, Technology and Management. ICISTM 2012. Communications in Computer and Information Science, vol 285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29166-1_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-29166-1_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-29165-4

  • Online ISBN: 978-3-642-29166-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics