A style analysis of C programs
Communications of the ACM - Special section on computer architecture
The dimensionality of program complexity
ICSE '89 Proceedings of the 11th international conference on Software engineering
Typographic style is more than cosmetic
Communications of the ACM
Debugging Effort Estimation Using Software Metricsv
IEEE Transactions on Software Engineering
Construction and testing of polynomials predicting software maintainability
Journal of Systems and Software - Special issue of the best papers from the Oregon Workshop on Software Metrics, 1993
An Evaluation of the MOOD Set of Object-Oriented Software Metrics
IEEE Transactions on Software Engineering
Program indentation and comprehensibility
Communications of the ACM
Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
Computational Linguistics
Flow trace of a structured program
ACM SIGPLAN Notices
A complexity measure based on selection and nesting
ACM SIGMETRICS Performance Evaluation Review
Measuring Fine-Grained Change in Software: Towards Modification-Aware Change Metrics
METRICS '05 Proceedings of the 11th IEEE International Software Metrics Symposium
Perl Best Practices
Towards a Theoretical Model for Software Growth
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
IEEE Transactions on Software Engineering
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
Shared information and program plagiarism detection
IEEE Transactions on Information Theory
Hi-index | 0.00 |
Maintainers often face the daunting task of wading through a collection of both new and old revisions, trying to ferret out those that warrant detailed inspection. Perhaps the most obvious way to rank revisions is by lines of code (LOC); this technique has the advantage of being both simple and fast. However, most revisions are quite small, and so we would like a way of distinguishing between simple and complex changes of equal size. Classical complexity metrics, such as Halstead's and McCabe's, could be used but they are hard to apply to code fragments of different programming languages. We propose a language-independent approach to ranking revisions based on the indentation of their code fragments. We use the statistical moments of indentation as a lightweight and revision/diff friendly metric to proxy classical complexity metrics. We found that ranking revisions by the variance and summation of indentation was very similar to ranking revisions by traditional complexity measures since these measures correlate with both Halstead and McCabe complexity; this was evaluated against the CVS histories of 278 active and popular SourceForge projects. Thus, we conclude that measuring indentation alone can serve as a cheap and accurate proxy for computing the code complexity of revisions.