提示在 Python 与基于文本的程序表示中以不同方式辅助查找与修复 Bug
软件工程
2024-12-18 v1
摘要
随着 GitHub Copilot 等 AI 编程助手的最新进展,编程不再局限于经典的编程语言——编程任务也可以由终端用户以自然文本表达和解决。尽管存在这种新的编程模态,用户在算法理解和程序调试方面仍然面临困难。支持终端用户的一种有前景的方法是提供提示,以帮助他们在形成和提升编程能力的同时查找和修复 Bug。虽然提示可能有帮助是合理的,但目前尚不清楚哪种类型的提示是有帮助的,以及这如何依赖于程序表示(经典源代码或文本表示)和用户理解算法任务的能力。为了理解提示在这一空间中的作用,我们开展了一项涉及 753 名参与者的大规模众包研究,调查了在两种程序表示(Python 和基于文本的表示)以及两组用户(对算法任务有清晰理解或感到困惑)中,三种类型提示(测试用例、概念性和详细)的效果。我们发现,程序表示(Python 与文本)对用户查找和修复 Bug 的准确性有显著影响。令人惊讶的是,当用户看到自然文本形式的程序时,他们查找和修复 Bug 的准确性更高。提示通常有助于提高准确性,但不同的提示在提供帮助时的方式有所不同,这取决于程序表示和用户对算法任务的理解。这些发现对于设计为用户提供个性化支持的下一代编程工具具有指导意义,例如,通过适应用户的技能水平和理解程度来调整编程模态并提供提示。
引用
@article{arxiv.2412.12471,
title = {Hints Help Finding and Fixing Bugs Differently in Python and Text-based Program Representations},
author = {Ruchit Rawal and Victor-Alexandru Pădurean and Sven Apel and Adish Singla and Mariya Toneva},
journal= {arXiv preprint arXiv:2412.12471},
year = {2024}
}