Skip to main content
Log in

Statistical Methods for Predicting and Improving Cohesion Using Information Flow: An Empirical Study

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

We consider the difficulty in deriving and validating new scales of measurement for modular cohesion. We show that currently derived objective measures cannot predict, or measure, a scale of cohesion that has an empirical relation system, for which a “high degree of interpersonal agreement” exists. However, we demonstrate empirically that it is feasible to predict low levels of a cohesion scale with an observed empirical relation. For this scale there exists agreement to make the observational distinctions that form the empirical relation system. Our statistically derived prediction systems use information flow measures and are available at architectural and detailed design. These prediction systems have been validated and we have determined their predictive capability using cross-validation. Within the limits of their external validity, we discuss how these and future prediction systems can be used to improve modular cohesion. For example, improvements may be achieved by using a simple cut-off value for fanout to predict modules that lack cohesion.

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. Agresti, A. 1990. Categorical Data Analysis, New York, John Wiley & Sons, Inc.

    Google Scholar 

  2. Basili, V. R., Briand, C., and Melo, W. L. 1996. A Validation of object-oriented design metrics as quality indicators. IEEE Trans. on S. E. 22(10): 751-761.

    Google Scholar 

  3. Bate, G., Simpson, H., Jackson, K., and Reiddiough, H. R. 1986. Special issue on MASCOT 3. Software Engineering Journal 1(3): 95-102.

    Google Scholar 

  4. Bieman, J. M. and Kang B-K. 1998. Measuring design-level cohesion. IEEE Trans. on S. E. 24(2): 111-124.

    Google Scholar 

  5. Bieman, J. and Ott, L. 1994. Measuring functional cohesion, IEEE Trans. on S. E. 20(8):644-657.

    Google Scholar 

  6. Booch, G. 1987. Software Engineering with Ada, 2nd Ed., Menlo Park, CA, Benjamin/Cummings.

    Google Scholar 

  7. Briand, L., Morasca, S., and Basili, V. 1996. Defining validating high-level design metrics. CS-TR 3301, College Park, MD: Univ. Of Maryland.

    Google Scholar 

  8. Briand, L. C., Morasca, S., and Basili, V. R. 1996. Property-based software engineering measurement, IEEE Trans. S. E. 22(1): 68-85.

    Google Scholar 

  9. Diebolt, J. and Eddie, H. S. Ip. 1996. Stochastic EM: Method and Application, Markov Chain Monte Carlo in Practice. Editors Gilks, W. R., Richardson, S., and Spiegelhalter, D. J., London, UK, Chapman and Hall.

    Google Scholar 

  10. Emerson, T. J. 1984. A Discriminant metric for module cohesion. Proceedings of the 7th Int. Conf. on S. E. IEEE, Orlando, USA. 26–29 March, pp. 294-303.

  11. Fenton, N. 1994. Software Measurement:A necessary scientific basis, IEEE Trans. on S. E. 20(3): 199-206.

    Google Scholar 

  12. Fenton, N. E. and Pfleeger, S. L. 1997. Software Metrics: A Rigorous and Practical Approach. 2nd Edition. Revised Printing, Boston, MA, PWS Publishing.

    Google Scholar 

  13. Henry, S. and Kafura, D. 1981. Software structure metrics based on information flow. IEEE Trans. on SE. SE 7(5):510-518.

    Google Scholar 

  14. Hosmer, D. W. and Lemeshow, S. 1989. Applied Logistic Regression, New York, John Wiley & Sons Inc.

    Google Scholar 

  15. Hull, M. E. C., O 'Donoghue, P. G., and Hagan, B. J. Development methods for real-time systems. The Computer Journal 34(2): 164-172.

  16. Ince, D. and Shepperd, M. 1989. An empirical and theoretical analysis of an information flow based design metric. Proc. European Soft. Conf. 11-16

  17. Jackson, M. A. 1975. Principles of Program Design, London, UK, Prentice Hall Int.

    Google Scholar 

  18. Kafura, D. and Canning, J. 1985. A validation of software metrics using many metrics and two resources. 8th Int. Conf. on S. E., IEEE Comp. Soc. Press, pp. 378-385.

  19. Kang, B-K. and Bieman, J. M. 1998. Using design abstractions to visualize quantify and restructure software. J. of Systems and Software 42 175-187.

    Google Scholar 

  20. Kitchenham, B. A., Pickard, L. M., and Linkman, S. J. 1990. An evaluation of some design metrics. Software Engineering Journal 5(1): 50-58.

    Google Scholar 

  21. Kitchenham, B., Pfleeger, S. L., and Fenton, N. 1995. Towards a framework for software measurement validation. IEEE Trans. on S. E. 21(12): 929-944.

    Google Scholar 

  22. Kyburg, H. E. 1984. Theory and Measurement, Cambridge, Great Britain, Cambridge University Press.

    Google Scholar 

  23. Lakhotia, A. 1993. Rule-based approach to computing module cohesion. Proc. 15th In'l. Conf. on S. E., IEEE, pp. 35-44.

  24. Lederer, A. L., Mirianio, R., Neo, B. S., Pollard, C., Prasad, J., and Ramamurthy, K. 1990. Information system cost estimating:A management perspective. MIS Quarterly 14(2):159-178.

    Google Scholar 

  25. McCullagh, P. and Nelder, J. A. 1983. Generalized Linear Models, London, UK, Chapman and Hall Ltd.

    Google Scholar 

  26. Moses, J., Farrow, M., and Smith, P. 1999. Cohesion prediction using information flow:An empirical feasibility study and comparison using students as inexperienced designers. Information and Software Technology 41(13): 887-905.

    Google Scholar 

  27. Myers, R. H. J. 1990. Classical and Modern Regression with Applications, 2nd Ed. Duxbury Advanced Series in Statistics and Decision, Boston, MA, PWS-Kent Publishers.

    Google Scholar 

  28. Neil, M., Littlewood, B., and Fenton, N. 1996. Applying Bayesian belief networks to system dependability assessment, safety critical systems—The convergence of high tech and human factors. Proc. 4th Safety Critical Systems Group, pp. 71-94.

  29. Ott, L. M. and Thuss, J. L. 1989. The relationship between slices and module cohesion. IEEE Proc. 11th Int'l Conf. Software Engineering, pp. 198-204.

  30. Pfleeger, S. L. 1995. Experimental design and analysis in software engineering. Annals of Software Engineering 1: 219-253.

    Google Scholar 

  31. Pickard, M. M. and Carter, B. D. 1995. A eld study of the relationship of information flow and maintainability of COBOL programs. Information and Software Technology 37(4): 195-202.

    Google Scholar 

  32. Roberts, F. S. 1979. Measurement Theory with Applications to Decision Making, Utility and Social Sciences, Reading, MA, Addison-Wesley.

    Google Scholar 

  33. Robinson, P. J. 1992. Hierarchical Object-Oriented Design, London, UK, Prentice-Hall Int.

    Google Scholar 

  34. Rombach, H. D. 1987. A controlled experiment on the impact of software structure on maintainability. IEEE Trans. Software Eng., pp. 344-354.

  35. Shepperd, M. J. 1990. Design metrics:An empirical analysis. Soft. Eng. Journal 5(1): 3-10.

    Google Scholar 

  36. Smith, J. Q. 1992. Decision Analysis a Bayesian Approach, London, Great Britain, Chapman and Hall.

    Google Scholar 

  37. Stevens, W. P., Myers, G. J., and Constantine, L. L. 1974. Structured design, IBM Systems Journal 2: 115-139.

    Google Scholar 

  38. Woodward, M. R. 1993. Difficulties using cohesion and coupling as quality indicators. Software Quality Journal 2: 109-127.

    Google Scholar 

  39. Yourdon, E. and Constantine, L. L. 1979. Structured Design, Englewood Cliffs, NJ, Yourdon Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Moses, J., Farrow, M. & Smith, P. Statistical Methods for Predicting and Improving Cohesion Using Information Flow: An Empirical Study. Software Quality Journal 10, 11–46 (2002). https://doi.org/10.1023/A:1015720832562

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1015720832562

Navigation