Software complexity measurement
Communications of the ACM
Human factors and typography for more readable programs
Human factors and typography for more readable programs
Improving computer program readability to aid modification
Communications of the ACM
The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics
IEEE Transactions on Software Engineering
Software design---cognitive aspects
Software design---cognitive aspects
Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
Journal of Software Maintenance: Research and Practice
CASCON '91 Proceedings of the 1991 conference of the Centre for Advanced Studies on Collaborative research
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
A Model for Measuring Software Understandability
CIT '06 Proceedings of the Sixth IEEE International Conference on Computer and Information Technology
Metrics for Measuring the Effectiveness of Decompilers and Obfuscators
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Software Science and Cognitive Psychology
IEEE Transactions on Software Engineering
Use of Genetic Algorithm for Software Maintainability Metrics' Conditioning
ADCOM '07 Proceedings of the 15th International Conference on Advanced Computing and Communications
Assessing maintainability change over multiple software releases
Journal of Software Maintenance and Evolution: Research and Practice
Reading Beside the Lines: Indentation as a Proxy for Complexity Metric
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
IEEE Transactions on Software Engineering
The WEKA data mining software: an update
ACM SIGKDD Explorations Newsletter
Relating Identifier Naming Flaws and Code Quality: An Empirical Study
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
Learning a Metric for Code Readability
IEEE Transactions on Software Engineering
Exploring the Influence of Identifier Names on Code Quality: An Empirical Study
CSMR '10 Proceedings of the 2010 14th European Conference on Software Maintenance and Reengineering
Dual ecological measures of focus in software development
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.01 |
Software readability is a property that influences how easily a given piece of code can be read and understood. Since readability can affect maintainability, quality, etc., programmers are very concerned about the readability of code. If automatic readability checkers could be built, they could be integrated into development tool-chains, and thus continually inform developers about the readability level of the code. Unfortunately, readability is a subjective code property, and not amenable to direct automated measurement. In a recently published study, Buse et al. asked 100 participants to rate code snippets by readability, yielding arguably reliable mean readability scores of each snippet; they then built a fairly complex predictive model for these mean scores using a large, diverse set of directly measurable source code properties. We build on this work: we present a simple, intuitive theory of readability, based on size and code entropy, and show how this theory leads to a much sparser, yet statistically significant, model of the mean readability scores produced in Buse's studies. Our model uses well-known size metrics and Halstead metrics, which are easily extracted using a variety of tools. We argue that this approach provides a more theoretically well-founded, practically usable, approach to readability measurement.