|
Keywords
|
CodeT5, data analysis, educational big data, error detection, learning analytics, ML-KNN, multi-label classification, programming learning, software engineering
|
|
Abstract
|
Programming is an essential skill in computer science and a wide range of engineering-related disciplines. However, occurring errors, often referred to as "bugs" in code, can indeed be challenging to identify and rectify, both for students who are learning to program and for experienced professionals. These errors can lead to unexpected behaviors in programming. Understanding, finding and effectively dealing with errors is an integral part of programming learning as well as software development. To detect the errors, we propose a multi-label error classification of source code for dealing with programming data by using the ML-KNN classifier with CodeT5 embeddings. In addition, several deep neural network (DNN) models including GRU, LSTM, BiLSTM, and BiLSTM-A (attention mechanism) are also employed as baseline models to identify the errors. We trained all the models by using a large-scale dataset (original error labels) as well as modified datasets (summarized error labels) of source code. The average accuracy for classification of the proposed model is 95.91% and 84.77% for the original and summarized error-labeled datasets. The exact match accuracy is 22.57% and 27.22% respectively for the original and summarized error-labeled datasets. The comprehensive experimental results of the proposed approach are promising for multi-label error classification over the baseline models. Moreover, the findings derived from the proposed approach and data-driven analytical results hold significant promise for error classification, programming education, and related research endeavors.
|