Evaluating Software Complexity Measures
IEEE Transactions on Software Engineering
A Study of the Applicability of Complexity Measures
IEEE Transactions on Software Engineering
Software engineering in the UNIX/C environment
Software engineering in the UNIX/C environment
An entropy measure for the complexity of multi-output Boolean functions
DAC '90 Proceedings of the 27th ACM/IEEE Design Automation Conference
An introduction to object-oriented programming
An introduction to object-oriented programming
An Entropy-Based Measure of Software Complexity
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Complexity measures for concurrent programs based on information-theoretic metrics
Information Processing Letters
Property-Based Software Engineering Measurement
IEEE Transactions on Software Engineering
Identifying Objects in Procedural Programs Using Clustering Neural Networks
Automated Software Engineering
Structural information as a quality metric in software systems organization
ICSM '97 Proceedings of the International Conference on Software Maintenance
Complexity Measures for Object-Oriented Program Based on the Entropy
APSEC '95 Proceedings of the Second Asia Pacific Software Engineering Conference
Measuring Coupling and Cohesion: An Information-Theory Approach
METRICS '99 Proceedings of the 6th International Symposium on Software Metrics
Building Software Quality Classification Trees: Approach, Experimentation, Evaluation
ISSRE '97 Proceedings of the Eighth International Symposium on Software Reliability Engineering
An information theory based complexity measure
AFIPS '80 Proceedings of the May 19-22, 1980, national computer conference
Improving software quality from the requirements specification
SoD '07 Proceedings of the 2007 Symposium on Science of Design
An architecture-centric software maintainability assessment using information theory
Journal of Software Maintenance and Evolution: Research and Practice
Predicting faults using the complexity of code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Advances in Software Engineering - Special issue on new generation of software metrics
Hi-index | 0.00 |
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.