TY - GEN
T1 - Learning to Recognize Semantically Similar Program Statements in Introductory Programming Assignments
AU - Jawalkar, Mayur Sunil
AU - Hosseini, Hadi
AU - Rivero, Carlos R.
N1 - Funding Information:
This material is based upon work supported by the National Science Foundation under Grant No. 1915404.
Publisher Copyright:
© 2021 Owner/Author.
PY - 2021/3/3
Y1 - 2021/3/3
N2 - With the continuously increasing population of students enrolling in introductory programming courses, instructors are facing challenges to provide timely and qualitative feedback. Automated systems are appealing to address scalability issues and provide personalized feedback to students. Many of the current approaches fail to handle flexible grading schemes and low-level feedback regarding (a set of) program statements. The combination of program static analysis in the form of program dependence graphs and approximate graph comparisons is promising to address the previous shortcomings. Current techniques require pairwise comparisons of student programs that does not scale in practice. We explore techniques to learn models that are able to recognize whether an unseen program statement belong to a semantically-similar set of program statements. Our initial results on a publicly-available introductory programming assignment indicate that it is possible to assign with high accuracy an individual program statement to some of the popular semantically-similar sets, and a large proportion is covered with these, which suggests feedback provided by instructors can be automatically propagated to other student programs.
AB - With the continuously increasing population of students enrolling in introductory programming courses, instructors are facing challenges to provide timely and qualitative feedback. Automated systems are appealing to address scalability issues and provide personalized feedback to students. Many of the current approaches fail to handle flexible grading schemes and low-level feedback regarding (a set of) program statements. The combination of program static analysis in the form of program dependence graphs and approximate graph comparisons is promising to address the previous shortcomings. Current techniques require pairwise comparisons of student programs that does not scale in practice. We explore techniques to learn models that are able to recognize whether an unseen program statement belong to a semantically-similar set of program statements. Our initial results on a publicly-available introductory programming assignment indicate that it is possible to assign with high accuracy an individual program statement to some of the popular semantically-similar sets, and a large proportion is covered with these, which suggests feedback provided by instructors can be automatically propagated to other student programs.
UR - http://www.scopus.com/inward/record.url?scp=85103340331&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85103340331&partnerID=8YFLogxK
U2 - 10.1145/3408877.3439599
DO - 10.1145/3408877.3439599
M3 - Conference contribution
AN - SCOPUS:85103340331
T3 - SIGCSE 2021 - Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
SP - 1264
BT - SIGCSE 2021 - Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
PB - Association for Computing Machinery, Inc
T2 - 52nd ACM Technical Symposium on Computer Science Education, SIGCSE 2021
Y2 - 13 March 2021 through 20 March 2021
ER -