An Inception Architecture-Based Model for Improving Code Readability Classification.
Abstract
The process of classifying a piece of source code into a Readable or Unreadable class is referred to as Code Readability Classification. To build accurate classification models, existing studies focus on handcrafting features from different aspects that intuitively seem to correlate with code readability, and then exploring various machine learning algorithms based on the newly proposed features. On the contrary, our work opens up a new way to tackle the problem by using the technique of deep learning. Specifically, we propose IncepCRM, a novel model based on the Inception architecture that can learn multi-scale features automatically from source code with little manual intervention. We apply the information of human annotators as the auxiliary input for training IncepCRM and empirically verify the performance of IncepCRM on three publicly available datasets. The results show that: 1) Annotator information is beneficial for model performance as confirmed by robust statistical tests (i.e., the Brunner-Munzel test and Cliff's delta); 2) IncepCRM can achieve an improved accuracy against previously reported models across all datasets. The findings of our study confirm the feasibility and effectiveness of deep learning for code readability classification. CCS CONCEPTS • Software and its engineering → Software reliability; Maintaining software; • Computing methodologies → Neural networks; Supervised learning by classification; KEYWORDS Code Readability Classification, Inception Architecture, Deep Learning, Empirical Software Engineering ACM Reference Format: Qing Mi, Jacky Keung, Yan Xiao, Solomon Mensah, Xiupei Mei. 2018. An Inception Architecture-Based Model for Improving Code Readability Classification. In EASE'18: 22nd International Conference on Evaluation and Assessment in Software Engineering, June 28-29, 2018, Christchurch, New Zealand. ACM, New York, NY, USA, 6 pages. https://doi.org/10.1145/3210459.3210473 1 INTRODUCTION Reading source code is a frequent activity in software maintenance and evolution. Developers must read and fully understand source Permission to make digital or hard copies of all or part of this work for personal or classroom use is gr