C-Pack of IPAs: 初学者编程作业的 C90 程序基准
该论文提出了一种新颖的程序聚类方法 InvAASTCluster,利用动态生成的程序不变量观察多个程序执行结果以聚类语义等效的 IPAs。研究结果表明,InvAASTCluster 在聚类一组不同 IPAs 时,比基于语法的表示方法表现更好。同时,将 InvAASTCluster 整合到程序修复工具中,在短时间内修复了更多学生程序,相比于现有技术有所提升。
Jun, 2022
我们基于大型语言模型(LLM)提出了一个名为 PaR 的框架,用于解决高级编程作业中的程序错误修复问题,并通过对新的高级学生作业数据集(Defects4DS)和另一个经过深入调查的 ITSP 数据集的评估,展示了超越现有 LMM - 和基于符号的方法的最新性能提升(分别达到了 19.94%和 15.2%的修复率提高)。
Apr, 2024
使用 Codex 这样的大型编程语言模型,在多模式提示、迭代式查询、基于测试用例的少样本选择和程序块组合的帮助下,构建了一个自动编程修复 (MMAPR) 系统来解决学生在 Python 编程课程中常见的语法和语义错误问题,并与已有基线方案相比较得出了较好的结果。
Sep, 2022
通过提供一个可完全执行的、由 450,000 个错误 / 修复的代码对组成的数据集及其测试 / 编译基础设施和详细的 bug 类型标签,本文旨在促进神经程序修复技术向可执行代码表示转型,提高基于执行的特征的使用,并通过包括多种不同语言的数据集,平衡当前 Automated Program Repair 数据集和基准测试方向中 Java 语言的主导地位。
Apr, 2023
本文介绍了 “搜索,对齐和修复” 数据驱动程序修复框架,旨在自动化初级编程练习的反馈生成,采用了大量的学生提交。该技术可在大型或 MOOC 规模的初级编程课程中使用,其结果表明,在平均 2 秒内,SARFGEN 系统可以为 89.7%不正确的学生提交生成简明有用的反馈,并已集成到 Microsoft-DEV204.1X edX 班级中,用于生产。
Nov, 2017
PACE 是一个程序分析框架,通过映射功能测试用例的执行时间来提供关于挂起代码更新的性能影响的持续反馈,并使用代码风格特征的微基准测试和预测器来实现显著的代码性能预测。
Dec, 2023
本文批判了 Kim 等人的 PAR 方法,讨论了自动软件修复的评估标准(可理解性,正确性和完整性),说明了修复接受性与软件正确性之间的关系。
Aug, 2014
该研究提出了一个以人类编写的问题描述和方案为基础的程序综合数据集,并从编程竞赛的人工书面解决方案中提取程序解决方案,并附有输入 / 输出示例,希望使用该数据集进行编程合成任务,并为真实用户生成的数据提供帮助。作为基线,该研究提出了几个模型,最佳模型的准确率为 8.8%,展示了数据集的复杂性以及未来研究的巨大空间。
Jul, 2018