arrow
Return

Flexible control flow graph alignment for delivering data-driven feedback to novice programming learner

delete2024-04-01
delete0
delete
OA
AI
M
Md Towhidul Absar Chowdhury *
M
Maheen Riaz Contractor
C
Carlos R. Rivero
DOI:10.1016/j.jss.2024.111960delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Supporting learners in introductory programming assignments at scale is a necessity. This support includes automated feedback on what learners did incorrectly. Existing approaches cast the problem as automatically repairing learners' incorrect programs extrapolating the data from an existing correct program from other learners. However, such approaches are limited because they only compare programs with similar control flow and order of statements. A potentially valuable set of repair feedback from flexible comparisons is thus missing. In this paper, we present several modifications to CLARA, a data-driven automated repair approach that is open source, to deal with real-world introductory programs. We extend CLARA's abstract syntax tree processor to handle common introductory programming constructs. Additionally, we propose a flexible alignment algorithm over control flow graphs where we enrich nodes with semantic annotations extracted from programs using operations and calls. Using this alignment, we modify an incorrect program's control flow graph to match correct programs to apply CLARA's original repair process. We evaluate our approach against a baseline on the twenty most popular programming problems in Codeforces. Our results indicate that flexible alignment has a significantly higher percentage of successful repairs at 46% compared to 5% for baseline CLARA. Our implementation is available at https://github.com/towhidabsar/clara.
Keywords:
Automated program repair
Control flow graph
Approximated graph alighment
Data driven feedback
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Journal of Systems and Software cover
Journal of Systems and Software
IF:
4.1
Papers:
5.5K
Citations:
8.4K

Organization

R
Rochester Institute of Technology
Scholars:
3.8K
Papers: 3.3K
Citations: 45
Cited Papers

Cited Papers

Validity of Standing Posture Eight-electrode Bioelectrical Impedance to Estimate Body Composition in Taiwanese Elderly
err2014-09-01
err0
errOAAI
errLing-Chun Lee; Kuen-Chang Hsieh; Chun-Shien Wu; Yu-Jen Chen; Jasson Chiang; Yu-Yawn Chen
errShare
errSave
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
errShare
errSave
errShare
errSave
errShare
errSave
errShare
errSave
researcher View more