ErrorCLR: Semantic Error Classification, Localization and Repair for Introductory Programming Assignments

计算机科学 杠杆(统计) 任务(项目管理) 人工智能 错误检测和纠正 匹配(统计) 机器学习 图形 理论计算机科学 算法 数学 统计 经济 管理
作者
Siqi Han,Y Wang,Xuesong Lu
标识
DOI:10.1145/3539618.3591680
摘要

Programming education at scale increasingly relies on automated feedback to help students learn to program. An important form of feedback is to point out semantic errors in student programs and provide hints for program repair. Such automated feedback depends essentially on solving the tasks of classification, localization and repair of semantic errors. Although there are datasets for the tasks, we observe that they do not have the annotations supporting all three tasks. As such, existing approaches for semantic error feedback treat error classification, localization and repair as independent tasks, resulting in sub-optimal performance on each task. Moreover, existing datasets either contain few programming assignments or have few programs for each assignment. Therefore, existing approaches often leverage rule-based methods and evaluate them with a small number of programming assignments. To tackle the problems, we first describe the creation of a new dataset COJ2022 that contains 5,914 C programs with semantic errors submitted to 498 different assignments in an introductory programming course, where each program is annotated with the error types and locations and is coupled with the repaired program submitted by the same student. We show the advantages of COJ2022 over existing datasets on various aspects. Second, we treat semantic error classification, localization and repair as dependent tasks, and propose a novel two-stage method ErrorCLR to solve them. Specifically, in the first stage we train a model based on graph matching networks to jointly classify and localize potential semantic errors in student programs, and in the second stage we mask error spans in buggy programs using information of error types and locations and train a CodeT5 model to predict correct spans. The predicted spans replace the error spans to form repaired programs. Experimental results show that ErrorCLR remarkably outperforms the comparative methods for all three tasks on COJ2022 and other public datasets. We also conduct a case study to visualize and interpret what is learned by the graph matching network in ErrorCLR. We have released the source code and COJ2022 at https://github.com/DaSESmartEdu/ErrorCLR.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
更新
PDF的下载单位、IP信息已删除 (2025-6-4)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
年年完成签到,获得积分10
刚刚
innocent完成签到,获得积分10
1秒前
1秒前
1秒前
1秒前
Zhanghh87完成签到,获得积分10
1秒前
yaochuan完成签到,获得积分10
2秒前
3秒前
Ava应助qq16采纳,获得20
3秒前
西瓜ovo完成签到,获得积分10
3秒前
ninicwang完成签到,获得积分10
4秒前
明小丽发布了新的文献求助20
4秒前
火龙果发布了新的文献求助10
5秒前
6秒前
小雯完成签到 ,获得积分10
6秒前
芝士发布了新的文献求助10
6秒前
6秒前
勤奋幻柏发布了新的文献求助10
6秒前
7秒前
panjunlu发布了新的文献求助10
8秒前
8秒前
8秒前
华仔应助lixm采纳,获得10
8秒前
8秒前
冷酷严青发布了新的文献求助10
9秒前
闪闪的从彤完成签到,获得积分10
9秒前
9秒前
迅速海云完成签到,获得积分10
9秒前
顾矜应助万嘉俊采纳,获得10
10秒前
默默若枫完成签到,获得积分10
10秒前
在水一方应助小李胖采纳,获得10
10秒前
原鑫完成签到,获得积分10
10秒前
10秒前
Jasper应助Ryan采纳,获得10
11秒前
彭于彦祖应助踹脸大妈采纳,获得30
12秒前
12秒前
子车友绿完成签到,获得积分10
12秒前
ding应助木虫采纳,获得10
13秒前
Orange应助飞天大野猪采纳,获得10
13秒前
CipherSage应助日辰水吉采纳,获得10
13秒前
高分求助中
A new approach to the extrapolation of accelerated life test data 1000
‘Unruly’ Children: Historical Fieldnotes and Learning Morality in a Taiwan Village (New Departures in Anthropology) 400
Indomethacinのヒトにおける経皮吸収 400
Phylogenetic study of the order Polydesmida (Myriapoda: Diplopoda) 370
基于可调谐半导体激光吸收光谱技术泄漏气体检测系统的研究 330
Robot-supported joining of reinforcement textiles with one-sided sewing heads 320
Aktuelle Entwicklungen in der linguistischen Forschung 300
热门求助领域 (近24小时)
化学 材料科学 医学 生物 工程类 有机化学 生物化学 物理 内科学 纳米技术 计算机科学 化学工程 复合材料 遗传学 基因 物理化学 催化作用 冶金 细胞生物学 免疫学
热门帖子
关注 科研通微信公众号,转发送积分 3986829
求助须知:如何正确求助?哪些是违规求助? 3529292
关于积分的说明 11244137
捐赠科研通 3267685
什么是DOI,文献DOI怎么找? 1803843
邀请新用户注册赠送积分活动 881223
科研通“疑难数据库(出版商)”最低求助积分说明 808600