中文

GuardRails:澄清歧义目的语句的自动化建议

软件工程 2024-05-06 v2

摘要

在实现一个函数之前,鼓励程序员编写目的语句,即对该函数计算内容的简短自然语言解释。目的语句可能存在歧义,即当两种或多种不等价的计算对某些输入都看似合理时,它可能未能明确指定预期的行为。本文做出四项贡献。首先,我们提出一种新颖的启发式方法,利用大型语言模型(LLM)来建议此类输入。利用这些建议,程序员可以选择澄清目的语句(例如,通过提供一个函数示例来指定在此类输入上的预期行为)。其次,为评估我们启发式方法所建议输入的质量,并促进未来研究,我们创建了一个包含已知歧义的目的语句开放数据集。第三,我们将我们的启发式方法与 GitHub Copilot 的 Chat 功能进行比较,后者在被提示生成单元测试时可以建议类似的输入。第四,我们提供了该启发式方法的开源实现,作为 Visual Studio Code 的一个扩展,用于 Python 编程语言,其中目的语句和函数示例分别以 docstring 和 doctest 的形式指定。我们相信,该工具将对新手程序员和教师特别有帮助。

关键词

引用

@article{arxiv.2312.08189,
  title  = {GuardRails: Automated Suggestions for Clarifying Ambiguous Purpose Statements},
  author = {Mrigank Pawagi and Viraj Kumar},
  journal= {arXiv preprint arXiv:2312.08189},
  year   = {2024}
}