arrow
Return

Identifying algorithm in program code based on structural features using CNN classification model

delete2022-09-23
delete17
delete
OA
AI
Y
Yutaka Watanobe
M
Md. Mostafizer Rahman *
M
Md Faizul Ibne Amin
R
Raihan Kabir
DOI:10.1007/s10489-022-04078-ydelete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
In software, an algorithm is a well-organized sequence of actions that provides the optimal way to complete a task. Algorithmic thinking is also essential to break-down a problem and conceptualize solutions in some steps. The proper selection of an algorithm is pivotal to improve computational performance and software productivity as well as to programming learning. That is, determining a suitable algorithm from a given code is widely relevant in software engineering and programming education. However, both humans and machines find it difficult to identify algorithms from code without any meta-information. This study aims to propose a program code classification model that uses a convolutional neural network (CNN) to classify codes based on the algorithm. First, program codes are transformed into a sequence of structural features (SFs). Second, SFs are transformed into a one-hot binary matrix using several procedures. Third, different structures and hyperparameters of the CNN model are fine-tuned to identify the best model for the code classification task. To do so, 61,614 real-world program codes of different types of algorithms collected from an online judge system are used to train, validate, and evaluate the model. Finally, the experimental results show that the proposed model can identify algorithms and classify program codes with a high percentage of accuracy. The average precision, recall, and F-measure scores of the best CNN model are 95.65%, 95.85%, and 95.70%, respectively, indicating that it outperforms other baseline models.
Keywords:
Program code classification
Structural features
Algorithm identification
Program code
Programming education
Software engineering
Convolutional neural network

Journal

Applied Intelligence cover
Applied Intelligence
IF:
3.5
Papers:
7.6K
Citations:
1.7W

Organization

U
University of Aizu
Scholars:
768
Papers: 1.0K
Citations: 302
Cited Papers

Cited Papers

Neural representation of goal direction in the monarch butterfly brain
err
IF0
err2022-10-18
err0
errOAAI
errM. Jerome Beetz; Christian Kraus; Basil el Jundi
errShare
errSave
errShare
errSave
Testing and validating machine learning classifiers by metamorphic testing
err2011-04-01
err251
errOAAI
errXie, Xiaoyuan; Ho, Joshua W. K.; Murphy, Christian; Kaiser, Gail; Xu, Baowen; Chen, Tsong Yueh
errShare
errSave
Curriculum, Teaching and Learning, and Assessments for Introductory Programming Course
err2020-01-01
err20
errOAAI
errMehmood, Erum; Abid, Adnan; Farooq, Muhammad Shoaib; Nawaz, Naeem A.
errShare
errSave
An LSTM-Based Method with Attention Mechanism for Travel Time Prediction
errSENSORS
IF3.5
err2019-02-19
err99
errOAAI
errRan, Xiangdong; Shan, Zhiguang; Fang, Yufei; Lin, Chuang
errShare
errSave
SoCodeCNN: Program Source Code for Visual CNN Classification Using Computer Vision Methodology
err2019-01-01
err14
errOAAI
errDey, Somdip; Singh, Amit Kumar; Prasad, Dilip Kumar; Mcdonald-Maier, Klaus Dieter
errShare
errSave
researcher View more