arrow
返回

Generating Concise Patches for Newly Released Programming Assignments

delete2023-01-01
delete6
PRE
AI
L
Leping Li
刘辉 封面图
刘辉 (Hui Liu) *
K
Kejun Li
Y
Yanjie Jiang
R
Rui Sun
DOI:10.1109/TSE.2022.3153522delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
In programming courses, providing students with concise and constructive feedback on faulty submissions (programs) is highly desirable. However, providing feedback manually is often time-consuming and tedious. To release tutors from the manual construction of concise feedback, researchers have proposed approaches such as CLARA and Refactory to construct feedback automatically. The key to such approaches is to fix a faulty program by making it equivalent to one of its correct reference programs whose overall structure is identical to that of the faulty submission. However, for a newly released assignment, it is likely that there are no correct reference programs at all, let alone correct reference programs sharing identical structure with the faulty submission. Therefore, in this paper, we propose AssignmentMender generating concise patches for newly released assignments. The key insight of AssignmentMender is that a faulty submission can be repaired by reusing fine-grained code snippets from submissions (even when they are faulty) for the same assignment. It automatically locates suspicious code in the faulty program and leverages static analysis to retrieve reference code from existing submissions with a graph-based matching algorithm. Finally, it generates candidate patches by modifying the suspicious code based on the reference code. Different from existing approaches, AssignmentMender exploits faulty submissions in addition to bug-free submissions to generate patches. Another advantage of AssignmentMender is that it can leverage submissions whose overall structures are different from those of the to-be-fixed submission. Evaluation results on 128 faulty submissions from 10 assignments show that AssignmentMender improves the state-of-the-art in feedback generation for newly released assignments. A case study involving 40 students and 80 submissions further provides initial evidence showing that the proposed approach is useful in practice.
Keyword:
Maintenance engineering
Codes
Task analysis
Programming profession
Cloning
Location awareness
Syntactics
Feedback generation
program repair
programming assignments

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.9K
被引数:
1.1W

机构

B
beijing institute of technology
学者数:
5.5W
论文数: 4.0W
被引数: 63
B
baidu
学者数:
578
论文数: 471
被引数: 1
引用论文

引用论文

Enhanced gene expression of transforming growth factor-? and c-met in rat urinary bladder cancer
err1996-02-01
err0
PREAI
errM. Inui; N. Nishi; A. Yasumoto; I. Takenaka; H. Miyanaka; K. Matsumoto; T. Nakamura; F. Wada
err分享
err收藏
A Survey on Software Fault Localization软件故障定位研究综述
err2016-08-01
err741
errOAAI
errWong, W. Eric; Gao, Ruizhi; Li, Yihao; Abreu, Rui; Wotawa, Franz
err分享
err收藏
miR393 and miR164 influence indeterminate but not determinate nodule development
err2014-10-31
err0
errOAAI
errGuohang Mao; Marie Turner; Oliver Yu; Senthil Subramanian
err分享
err收藏
Structure and function of negative-strand RNA virus polymerase complexes
err2021-01-01
err0
PREAI
errJesse D. Pyle; Sean P.J. Whelan; Louis-Marie Bloyet
err分享
err收藏
Chapter Twenty‐Eight Qualitative and Quantitative Characterization of Autophagy in Caenorhabditis elegans by Electron Microscopy
err2008-01-01
err0
PREAI
errTimea Sigmond; Judit Fehér; Attila Baksa; Gabriella Pásti; Zsolt Pálfia; Krisztina Takács‐Vellai; János Kovács; Tibor Vellai; Attila L. Kovács
err分享
err收藏
err分享
err收藏
学者 查看更多内容