论文标题

功能程序辅助等级的程序等效性(扩展版本)

Program Equivalence for Assisted Grading of Functional Programs (Extended Version)

论文作者

Clune, Joshua, Ramamurthy, Vijay, Martins, Ruben, Acar, Umut A.

论文摘要

在涉及编程任务的课程中,向学生提供有意义的反馈是一个重要的挑战。人类可以通过手动对程序进行分级来提供有用的反馈,但这是一个耗时,劳动密集且通常无聊的过程。自动分级机可以快速缩小,但通常会提供不良反馈。尽管已经进行了改善自动分级器的研究,但有关扩展和改善人类分级的研究是有限的。 我们建议通过使用等价算法来扩展手动分级过程来扩展人类分级,该算法可以确定学生提交之间的等价。这使得人分级分子能够同时提供针对多个学生意见的有针对性的反馈。我们的技术在两个方面都是保守的。首先,它标识了算法相似的提交之间的等价性,例如,它无法识别QuickSort和Mergesort之间的等价。其次,它使用正式方法,而不是从机器学习文献中群集算法。这使我们能够证明一个合理的结果,可以确保提交永远不会被错误地聚集在一起。尽管只有在有算法相似性和正式证明等效的能力的情况下报告的等效性,但我们表明我们的技术可以大大减少从入门功能编程课程中进行数千个编程提交的评分时间。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源