Information Theory-Based Measurement of Software
- 1.4k Downloads
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.
KeywordsInformation theory Measurement Software engineering Software metrics
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.
- 1.Allen, E.B.: Information theory and software measurement. PhD thesis, Florida Atlantic University, Boca Raton, Florida, August 1995. Advised by Taghi M. KhoshgoftaarGoogle 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 SocietyGoogle 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 SocietyGoogle 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
- 17.Fenton, N.E., Pfleeger, S.L.: Software Metrics: A Rigorous and Practical Approach, 2nd edn. PWS Publishing, London (1997)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 1988Google 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 SocietyGoogle 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 onlyGoogle Scholar
- 34.van Emden, M.H.: An Analysis of Complexity. Number 35 in Mathematical Centre Tracts. Mathematisch Centrum, Amsterdam (1971)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