Code Readability: A Review of Metrics for Software Quality

International Journal of Computer Trends and Technology (IJCTT)          
© 2017 by IJCTT Journal
Volume-46 Number-1
Year of Publication : 2017
Authors : Ankit Pahal, Rajender S. Chillar
DOI :  10.14445/22312803/IJCTT-V46P101


Ankit Pahal, Rajender S. Chillar "Code Readability: A Review of Metrics for Software Quality". International Journal of Computer Trends and Technology (IJCTT) V46(1):1-4, April 2017. ISSN:2231-2803. Published by Seventh Sense Research Group.

Abstract -
Various software metrics evaluate the complexity of software by using some physical software characteristics. Readability Metrics is exceptional amongst the present software complexity metrics for considering a non-physical software characteristics i.e. readability. Readability should be the key quality attributes for program source codes. The readability of the software is strongly associated to its maintainability, and is thus the crucial feature in whole quality of software. More the readable code, greater the chances of having easier to modify, less mistakes, more maintainable, easy to reuse, and more reliable. Readability is used to improve source codes for future preservation and extensibility. But code readability is not simply computable with a deterministic function. In this review paper, we will study various common readability metrics present in the literature such as Flesch-Kincaid metric, Gunning-Fog metric, SMOG index and Automated Readability Index (ARI) and how to calculate readability score metrics. Then we will relate the notion of code readability and examine its relation to software quality. Lastly, based on this review study, we will classify challenging issues for the future work of the code readability.

[1] R. P. L. Buse and W. R. Weimer, “Learning a metric for code readability”, Software Engineering, IEEE Transactions, doi:10.1109/tse.2009.70, vol. 36, no. 4, (2010), pp. 546-558.
[2] C. M. Chung, W. R. Edwards, and M. G. Yang, "Static and Dynamic Data Flow Metrics," Policy and Information, Vol. 13, No. 1, pp. 91-103, June 2010.
[3] E. Collar and R. Valerdi, “Role of software readability on software development cost”, Proceedings of the 21st Forum on COCOMO and Software Cost Modeling, Herndon, VA, (2006) October.
[4] R. Fitzpatrick, “Software quality: definitions and strategic issues”, Reports, (1996), pp. 1.
[5] R. Land, “Measurements of software maintainability”, Proceedings of ARTES Graduate Student Conference, ARTES, (2002), pp. 1-7.
[6] “The Automated Readability Index (ARI)”,
[7] “The smog readability formula”,
[8] “The Gunning’s Fog Index (or FOG) Readability Formula”,
[9] "Flesch-Kincaid Readability Index" [10] "Coleman-Liau Index" [11] C. Yung, “Simplified readability metrics”, Information Systems Working Papers Series, (1997).
[12] D. Posnett, A. Hindle & P. Devanbu "A Simpler Model of Software Readability" MSR ’11, Waikiki, Honolulu, USA Copyright 2011.
[13] X. Wang, L. Pollock and K. Vijay-Shanker, "Automatic segmentation of method code into meaningful blocks to improve readability", Reverse Engineering (WCRE), 2011 18th Working Conference on IEEE, (2011).
[14] P. Sivaprakasam and V. Sangeetha, "An accurate model of software code readability", International Journal of Engineering Research and Technology. ESRSA Publications,(2012)August, vol. 1, no. 6.
[15] R. Namani1 and J. Kumar, “A New Metric for Code Readability”, IOSR Journal of Computer Engineering, vol. 6, Issue 6, (2012) November-December.
[16] K. Aggarwal, Y. Singh, and J. Chhabra. An integrated measure of software maintainability. In Reliability and Maintainability Symposium, 2002. Proceedings. Annual, pages 235-241. IEEE, 2002.
[17] P. Sivaprakasam and V. Sangeetha, “An accurate model of software code readability” International Journal of Engineering, vol. 1, no. 6, (2012).
[18] C. M. Chung, and C. Yung, "Measuring Software Complexity Considering Both Readability and Size," Infomration and Communication, Tamkang Univ., Taiwan.

software engineering, code readability, software quality, code maintainability.