Towards answering “Am I on the right track?” automatically using program synthesis

Towards answering “Am I on the right track?” automatically using program synthesis
复制标题

使用程序合成自动回答“我走在正确的轨道上吗?”

DOI:
--
复制
发表时间:
2019
期刊:
SPLASH-E
影响因子:
--
通讯作者:
Erik Andersen
Erik Andersen
中科院分区:
--
文献类型:
--
作者:
Molly Q. Feldman;Yiting Wang;William E. Byrd;François Guimbretière;Erik Andersen

文献摘要

被引文献

相似文献

学习编程的学生通常需要帮助完成任务,并理解为什么他们的代码无法正如他们期望的那样起作用。他们寻求这种帮助的一个常见地方是在助教办公时间。我们发现入门编程(CS1)课程的助教经常回答问题的某些变体``我在正确的轨道上吗?'。这项工作的目的是开发一种自动化工具,该工具在编写程序时从IDE内实时为学生提供类似的反馈。现有的自动化工具缺乏我们寻求的一般性,通常使用手工编码的错误模型或应用其他学生的样本修复程序,通常会采用一种问题的方法。在本文中,我们探讨了程序合成的使用,以提供``我在正确的曲目''(AIORT)问题的限制自动化答案。我们描述了一项对ta-student相互作用的观察性研究,该研究支持针对AIORT问题,以及原型综合开发环境(IDE)背后的开发和设计考虑因素。 IDE使用现有的程序合成引擎来确定学生是否在正确的轨道上,我们介绍了对其使用的试点用户研究。
Students learning to program often need help completing assignments and understanding why their code does not work as they expect it to. One common place where they seek such help is at teaching assistant office hours. We found that teaching assistants in introductory programming (CS1) courses frequently answer some variant of the question ``Am I on the Right Track?'. The goal of this work is to develop an automated tool that provides similar feedback for students in real-time from within an IDE as they are writing their program. Existing automated tools lack the generality that we seek, often assuming a single approach to a problem, using hand-coded error models, or applying sample fixes from other students. In this paper, we explore the use of program synthesis to provide less constrained automated answers to ``Am I on the Right Track' (AIORT) questions. We describe an observational study of TA-student interactions that supports targeting AIORT questions, as well as the development of and design considerations behind a prototype integrated development environment (IDE). The IDE uses an existing program synthesis engine to determine if a student is on the right track and we present pilot user studies of its use.