Program equivalence for assisted grading of functional programs
Joshua Clune, Vijay Ramamurthy, Ruben Martins, Umut A. Acar
Abstract
In courses that involve programming assignments, giving meaningful feedback to students is an important challenge. Human beings can give useful feedback by manually grading the programs but this is a time-consuming, labor intensive, and usually boring process. Automatic graders can be fast and scale well but they usually provide poor feedback. Although there has been research on improving automatic graders, research on scaling and improving human grading is limited. We propose to scale human grading by augmenting the manual grading process with an equivalence algorithm that can identify the equivalences between student submissions. This enables human graders to give targeted feedback for multiple student submissions at once. Our technique is conservative in two aspects. First, it identifies equivalence between submissions that are algorithmically similar, e.g., it cannot identify the equivalence between quicksort and mergesort. Second, it uses formal methods instead of clustering algorithms from the machine learning literature. This allows us to prove a soundness result that guarantees that submissions will never be clustered together in error. Despite only reporting equivalence when there is algorithmic similarity and the ability to formally prove equivalence, we show that our technique can significantly reduce grading time for thousands of programming submissions from an introductory functional programming course.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 9c9b41f7-acc5-4c0f-80f6-1dd37a516afdCited by top-tier papers1
Ask how each one uses itBuilds on1
Related papers
- Giving Feedback on Interactive Student Programs with Meta-ExplorationEvan Zheran Liu, Moritz Stephan, Allen Nie, Chris Piech et al.NeurIPS 2022 · 8 citations
- VG: Automatic Grading of D3 VisualizationsMatthew Hull, Vivian Pednekar, Hannah Murray, Nimisha Roy et al.IEEE VIS 2023 · 5 citations
- Proving Functional Program Equivalence via Directed Lemma SynthesisYican Sun, Ruyi Ji, Jian Fang, Xuanlin Jiang et al.FM 2024 · 2 citations
- Concept-Based Automated Grading of CS-1 Programming AssignmentsZhiyu Fan, Shin Hwei Tan, Abhik RoychoudhuryISSTA 2023 · 5 citations
- Context-aware and data-driven feedback generation for programming assignmentsDowon Song, Woosuk Lee, Hakjoo OhFSE 2021 · 22 citations
