Skip to main content

Information Theory-Based Measurement of Software

  • Chapter
  • First Online:
Towards an Information Theory of Complex Networks

Abstract

Abstractions of software may take the form of complex graphs. This chapter presents methods for measurement of hypergraph abstractions of software, using information theory, rather than counting. Even though the context of this chapter is software engineering, the measurement methods are applicable to any hypergraph. The software-metrics literature often assumes that complex software has more bugs than simple software. Thus, if one measures a software system, one can identify which modules are more likely to have bugs. This chapter presents measures of size, complexity, and coupling in terms of the amount of information, building on formal definitions of these software-metric families proposed by Briand, Morasca, and Basili. Kolmogorov complexity and its information theory-based approximations are the foundation for our measure of size. Excess entropy is the foundation for our measures of complexity and coupling. These concepts make the metrics sensitive to the configuration of hypergraph connections, and thus, may be preferred to corresponding counting metrics.

MSC2000 Primary 68N30; Secondary 94A17, 68Q30.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

Institutional subscriptions

References

  1. Allen, E.B.: Information theory and software measurement. PhD thesis, Florida Atlantic University, Boca Raton, Florida, August 1995. Advised by Taghi M. Khoshgoftaar

    Google Scholar 

  2. Allen, E.B.: Measuring graph abstractions of software: An information-theory approach. In Proceedings: Eighth IEEE symposium on software metrics, pages 182–193, Ottawa, Canada, June 2002. IEEE Computer Society

    Google Scholar 

  3. Allen, E.B., Gottipati, S., Govindarajan, R.: Measuring size, complexity, and coupling of hypergraph abstractions of software: An information-theory approach. Software Qual. J. 15(2), 179–212 (2007)

    Article  Google Scholar 

  4. Allen, E.B., Khoshgoftaar, T.M.: Measuring coupling and cohesion: An information-theory approach. In Proceedings of the sixth international software metrics symposium, pages 119–127, Boca Raton, Florida, November 1999. IEEE Computer Society

    Google Scholar 

  5. Briand, L.C., Daly, J.W., Wüst, J.: A unified framework for cohesion measurement in object-oriented systems. Empir. Software Eng. Int. J. 3(1), 65–117 (1998)

    Article  Google Scholar 

  6. Briand, L.C., Daly, J.W., Wüst, J.K.: A unified framework for coupling measurement in object-oriented systems. IEEE Trans. Software Eng. 25(1), 91–121 (1999)

    Article  Google Scholar 

  7. Briand, L.C., El Emam, K., Morasca, S.: On the application of measurement theory in software engineering. Empir. Software Eng. Int. J. 1(1), 61–88 (1996). See [8, 37]

    Article  Google Scholar 

  8. Briand, L.C., El Emam, K., Morasca, S.: Reply to “Comments to the paper: Briand, El Emam, Morasca: On the application of measurement theory in software engineering”. Empir. Software Eng. Int. J. 2(3), 317–322 (1997). See [7, 37]

    Google Scholar 

  9. Briand, L.C., Morasca, S., Basili, V.R.: Property-based software engineering measurement. IEEE Trans. Software Eng. 22(1), 68–85 (1996). See comments in [10, 28, 39]

    Article  Google Scholar 

  10. Briand, L.C., Morasca, S., Basili, V.R.: Response to: Comments on “Property-based software engineering measurement”: Refining the additivity properties. IEEE Trans. Software Eng. 23(3), 196–197 (1997). See [9, 28]

    Article  Google Scholar 

  11. Chaitin, G.J.: On the length of programs for computing finite binary sequences. J. ACM 13(4), 547–569 (1966)

    Article  MathSciNet  Google Scholar 

  12. Chaitin, G.J.: A theory of program size formally identical to information theory. J. ACM 22(3), 329–340 (1975)

    Article  MathSciNet  Google Scholar 

  13. Cover, T.M., Thomas, J.A.: Elements of Information Theory. Wiley, New York (1991)

    Book  Google Scholar 

  14. Dehmer, M.: Information-theoretic concepts for the analysis of complex networks. Appl. Artif. Intell. 22(7), 684–706 (2008)

    Article  Google Scholar 

  15. El Emam, K., Benlarbi, S., Goel, N., Rai, S.N.: The confounding effect of class size on the validity of object-oriented metrics. IEEE Trans. Software Eng. 27(7), 630–650 (2001). See [16]

    Article  Google Scholar 

  16. Evanco, W.M.: Comments on “The confounding effect of class size on the validity of object-oriented metrics”. IEEE Trans. Software Eng. 29(7), 670–672 (2003). See [15]

    Article  Google Scholar 

  17. Fenton, N.E., Pfleeger, S.L.: Software Metrics: A Rigorous and Practical Approach, 2nd edn. PWS Publishing, London (1997)

    Google Scholar 

  18. Halstead, M.H.: Elements of Software Science. Elsevier, New York (1977)

    MATH  Google Scholar 

  19. Khoshgoftaar, T.M., Allen, E.B.: Applications of information theory to software engineering measurement. Software Qual. J. 3(2), 79–103 (1994)

    Article  Google Scholar 

  20. Kitchenham, B.A., Pfleeger, S.L., Fenton, N.E.: Towards a framework for software measurement validation. IEEE Trans. Software Eng. 21(12), 929–944 (1995). See comments in [21, 27]

    Article  Google Scholar 

  21. Kitchenham, B.A., Pfleeger, S.L., Fenton, N.E.: Reply to: Comments on “Towards a framework for software measurement validation”. IEEE Trans. Software Eng. 23(3), 189 (1997). See [20, 27, 36]

    Article  Google Scholar 

  22. Kolmogorov, A.N.: Logical basis for information theory and probability theory. IEEE Trans. Inform. Theory 14(5), 662–664 (1968)

    Article  MathSciNet  Google Scholar 

  23. Li, M., Vitányi, P.M.B.: Two decades of applied Kolmogorov complexity. In Proceedings of the third annual structure in complexity theory conference, pages 80–101, Washington, DC, June 1988

    Google Scholar 

  24. McCabe, T.J.: A complexity measure. IEEE Trans. Software Eng. 2(4), 308–320 (1976)

    Article  MathSciNet  Google Scholar 

  25. Mohanty, S.N.: Entropy metrics for software design evaluation. J. Syst. Software 2, 39–46 (1981)

    Article  Google Scholar 

  26. Morasca, S., Briand, L.C.: Towards a theoretical framework for measuring software attributes. In Proceedings of the Fourth International Symposium on Software Metrics, pages 119–126, Albuquerque, New Mexico, November 1997. IEEE Computer Society

    Google Scholar 

  27. Morasca, S., Briand, L.C., Basili, V.R., Weyuker, E.J., Zelkowitz, M.V.: Comments on “Towards a framework for software measurement validation”. IEEE Trans. Software Eng. 23(3), 187–188 (1997). See [20, 36]

    Article  Google Scholar 

  28. Poels, G., Dedene, G.: Comments on “Property-based software engineering measurement”: Refining the additivity properties. IEEE Trans. Software Eng. 23(3), 190–195 (1997). See [9]

    Article  Google Scholar 

  29. Schneidewind, N.F.: Methodology for validating software metrics. IEEE Trans. Software Eng. 18(5), 410–422 (1992)

    Article  Google Scholar 

  30. Schütt, D.: On a hypergraph oriented measure for applied computer science. In Digest of Papers: COMPCON 77 Fall, pages 295–296, Washington, DC, September 1977. IEEE Computer Society. Abstract only

    Google Scholar 

  31. Shannon, C.E., Weaver, W.: The Mathematical Theory of Communication. University of Illinois Press, Urbana, Illinois (1949)

    MATH  Google Scholar 

  32. Solomonoff, R.J.: A formal theory of inductive inference, part 1 and part 2. Inform. Contr. 7, 1–22, 224–254 (1964)

    Article  MathSciNet  Google Scholar 

  33. van Emden, M.H.: Hierarchical decomposition of complexity. Machine Intelligence 5, 361–380 (1970). See also [34] for details

    MathSciNet  MATH  Google Scholar 

  34. van Emden, M.H.: An Analysis of Complexity. Number 35 in Mathematical Centre Tracts. Mathematisch Centrum, Amsterdam (1971)

    Google Scholar 

  35. Watanabe, S.: Information theoretical analysis of multivariate correlation. IBM J. Res. Dev. 4(1), 66–82 (1960)

    Article  MathSciNet  Google Scholar 

  36. Weyuker, E.J.: Evaluating software complexity measures. IEEE Trans. Software Eng. 14(9), 1357–1365 (1988)

    Article  MathSciNet  Google Scholar 

  37. Zuse, H.: Comments to the paper: Briand, Emam, Morasca: On the application of measurement theory in software engineering. Empir. Software Eng. Int. J. 2(3), 313–316 (1997). See [7, 8]

    Google Scholar 

  38. Zuse, H.: A Framework for Software Measurement. Walter de Gruyter and Co., Berlin (1997)

    Google Scholar 

  39. Zuse, H.: Reply to: “Property-based software engineering measurement”. IEEE Trans. Software Eng. 23(8), 533 (1997). See [9]

    Article  Google Scholar 

Download references

Acknowledgements

This work was supported in part by grant CCR-0098024 from the National Science Foundation. The findings and opinions in this chapter belong solely to the author and are not necessarily those of the sponsor. We thank Sampath Gottipati, Rajiv Govindarajan, Taghi M. Khoshgoftaar, and Ye Chen, who were coauthors of related work with us. We thank the Empirical Software Engineering research group at Mississippi State University for helpful discussions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Edward B. Allen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Allen, E.B. (2011). Information Theory-Based Measurement of Software. In: Dehmer, M., Emmert-Streib, F., Mehler, A. (eds) Towards an Information Theory of Complex Networks. Birkhäuser, Boston, MA. https://doi.org/10.1007/978-0-8176-4904-3_12

Download citation

Publish with us

Policies and ethics