7 CONCLUSIONS AND FUTURE
WORK
In this work, we proposed an automated and inter-
pretable readability evaluation methodology, which is
based on a large set of static analysis metrics and cod-
ing violations. The evaluation of our approach in a set
of diverse axes indicates that our system can be effec-
tive for evaluating readability on three axes, each cor-
responding to a primary source code property. Upon
providing results that lead to actionable recommenda-
tions regarding the audits that can enhance the read-
ability degree of the project under evaluation, our sys-
tem can be a valuable tool for developers.
Future work relies on several directions. At
first, we can expand our dataset by adding additional
projects with different characteristics and thus im-
prove the ability of our models to generalize. Finally,
the design of our target variable can be further investi-
gated for the incorporation of additional metrics other
than violations.
ACKNOWLEDGEMENTS
This research has been co-financed by the European
Regional Development Fund of the European Union
and Greek national funds through the Operational
Program Competitiveness, Entrepreneurship and In-
novation, under the call RESEARCH - CREATE - IN-
NOVATE (project code: T1EDK-04045).
REFERENCES
Bergland, G. D. (1969). A guided tour of the fast fourier
transform. IEEE Spectrum, 6(7):41–52.
Buse, R. and Weimer, W. (2010). Learning a metric for code
readability. IEEE Transactions on Software Engineer-
ing, 36:546–558.
Choi, S., Kim, S., Kim, J., and Park, S. (2020). Met-
ric and tool support for instant feedback of source
code readability. Tehnicki vjesnik - Technical Gazette,
27(1):221228.
Dorn, J. (2012). A general software readability model.
Drucker, H., Burges, C. J. C., Kaufman, L., Smola, A. J.,
and Vapnik, V. (1997). Support vector regression ma-
chines. In Mozer, M. C., Jordan, M. I., and Petsche,
T., editors, Advances in Neural Information Process-
ing Systems 9, pages 155–161. MIT Press.
Fakhoury, S., Roy, D., Hassan, S. A., and Arnaoudova,
V. (2019). Improving source code readability: The-
ory and practice. In Proceedings of the 27th Interna-
tional Conference on Program Comprehension, ICPC
19, page 212. IEEE Press.
Halstead, M. H. (1977). Elements of software science.
ISO (2020). ISO/IEC 25010. https://iso25000.com/index.
php/en/iso-25000-standards/iso-25010. Accessed:
2020-03-20.
Knight, J. C. and Myers, E. A. (1993). An improved in-
spection technique. Communications of the ACM,
36(11):50–61.
Mannan, U. A., Ahmed, I., and Sarma, A. (2018). Towards
understanding code readability and its impact on de-
sign quality. pages 18–21.
Mkaouer, M. W., Kessentini, M., Bechikh, S., Cinnide,
M., and Deb, K. (2015). On the use of many quality
attributes for software refactoring: a many-objective
search-based software engineering approach. Empiri-
cal Software Engineering.
Moha, N., Gueheneuc, Y., Duchien, L., and Le Meur, A.
(2010). Decor: A method for the specification and de-
tection of code and design smells. IEEE Transactions
on Software Engineering, 36(1):20–36.
Pantiuchina, J., Lanza, M., and Bavota, G. (2018). Im-
proving code: The (mis) perception of quality metrics.
pages 80–91.
PMD (2020). PMD static analysis tool. https://pmd.github.
io/. [Online; accessed March 2020].
Posnett, D., Hindle, A., and Devanbu, P. (2011). A simpler
model of software readability. In Proceedings of the
8th Working Conference on Mining Software Repos-
itories, MSR 11, page 7382, New York, NY, USA.
Association for Computing Machinery.
Raymond, D. R. (1991). Reading source code. In Proceed-
ings of the 1991 Conference on Centre for Advanced
Studies on Collaborative Research (CASCON), pages
3–16.
Rousseeuw, P. (1987). Rousseeuw, p.j.: Silhouettes:
A graphical aid to the interpretation and validation
of cluster analysis. comput. appl. math. 20, 53-65.
Journal of Computational and Applied Mathematics,
20:53–65.
Rugaber, S. (2000). The use of domain knowledge in pro-
gram understanding. Annals of Software Engineering,
9:143–192.
Scalabrino, S., Linares-Vsquez, M., Oliveto, R., and Poshy-
vanyk, D. (2018). A comprehensive model for code
readability. Journal of Software: Evolution and Pro-
cess, 30(6):e1958. e1958 smr.1958.
Scalabrino, S., Linares-Vsquez, M., Poshyvanyk, D., and
Oliveto, R. (2016). Improving code readability mod-
els with textual features. In 2016 IEEE 24th In-
ternational Conference on Program Comprehension
(ICPC), pages 1–10.
sourcemeter (2020). SourceMeter static analysis tool. https:
//www.sourcemeter.com/. [Online; accessed March
2020].
ICSOFT 2020 - 15th International Conference on Software Technologies
72