标签:Based 正确 CMI Failing 补丁 patch BATS 测试 Test
Abstract
背景:
我们如何知道⽣成的补丁是正确的?这一问题对自动程序修复重要
前提:
- 我们可以通过检查每个⽣成的补丁(这句话表达很有问题)是否实现与它所解决的错误相关的代码更改(即行为)来对正确的补
丁进行分类。这样的错误通常由失败的测试⽤例显示。we can triage correct patches by checking whether each generated patch implements code changes (i.e., behaviour) that are relevant to the bug it addresses. “当不同的程序未能通过类似的测试⽤例时,这些程序很可能需要进行类似的代 - similar failing test cases should require similar patches.
本文:
工具:BATS
任务:基于⽆监督学习,通过检查面对失败的测试规范表现出的补丁行为来预测补丁的正确性。 unsupervised learning-based approach to predict patch correctness by checking patch Behaviour Against failing Test Specification
方法:
- 利⽤代码和补丁的深度表⽰学习模型
- 对于给定的失败测试⽤例,⽣成的编码⽤于计算相似性指标
- 搜索历史相似的测试⽤例,识别相关的应⽤补丁
- 评估 APR ⽣成的补丁的正确性
特点:⽆需⼤型标记补丁数据集,受到类似测试⽤例可⽤性的限制,但我们表明它仍然可以补充现有⽅法
训练数据集:收集了包含1,278 个可能的补丁(由开发⼈员编写或由 32 个 APR ⼯具⽣成)
实验:
(测试数据集?)
效果: - BATS 在识别正确补丁时实现了 0.557 到 0.718 之间的 AUC 和 0.562 到 0.854 之间的召回
率,优于最先进的识别正确补丁的技术 - ⽆需⼤型标记补丁数据集
- 当与最近依赖于监督学习的⽅法相结合时,BATS 提⾼了检测正确补丁的整体召回率。
标签:Based,正确,CMI,Failing,补丁,patch,BATS,测试,Test
来源: https://www.cnblogs.com/xuesu/p/16339787.html
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。