Entropies as Measures of Software Information

  • Authors:
  • Salwa K. Abd-El-Hafiz

  • Affiliations:
  • Cairo University

  • Venue:
  • ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper investigates the use of entropies as measures of software information content. Several entropies, including the well-known Shannon entropy, are characterized by their mathematical properties. Based on these characterizations, the entropies, which are suitable for measuring software systems, are rigorously chosen. By treating a software system as an information source, the function calls in procedural systems or method invocations in object-oriented systems resemble the emission of symbols from an information source. Thus, the probabilities, required for computing the entropies, are obtained using an empirical distribution of function calls or method invocations. Application of the suggested measures on procedural and object-oriented programs is further explained using two small examples. Because a rigorous definition of information measures does not guarantee their usefulness in practice, an evaluation case study is performed. In particular, the aim of this study is to practically evaluate the intuitiveness and scalability of the measures on a real software system totaling about 460,000 lines of code. In addition to being intuitive and meaningful, the case study results highlight differences between the information measures. Thus, the family of measures presented in this paper can satisfy different measurement requirements.