论文标题
OBJSIM:通过对象相似性轻量级自动补丁优先级
ObjSim: Lightweight Automatic Patch Prioritization via Object Similarity
论文作者
论文摘要
在基于测试案例的自动程序维修(APR)的上下文中,通过所有测试用例但无法修复错误的补丁称为过拟合补丁。当前,由APR工具生成的补丁可以由用户手动检查并采用真正的修复程序。作为一项艰巨的活动,艰巨的活动是对APR的广泛采用,自动识别过度拟合的补丁是积极研究的主题。本文介绍了OBJSIM的工程详细信息:一种基于JVM的语言的全自动,轻巧相似性的优先定位工具。该工具通过在修补和优先级的补丁程序的出口点上比较系统状态,从而将系统状态比较,并优先考虑导致状态的补丁程序,该状态与通过测试的原始,未拨打的版本更相似,而在失败的测试中却不相似。我们对最近的APR工具PRAPR生成的补丁进行的实验,用于Forects4J V1.4.0的可固定错误,这表明OBJSIM在Top-1位置优先考虑16.67%的真实修复。该工具的演示视频位于https://bit.ly/2k8gnyv。
In the context of test case based automatic program repair (APR), patches that pass all the test cases but fail to fix the bug are called overfitted patches. Currently, patches generated by APR tools get inspected manually by the users to find and adopt genuine fixes. Being a laborious activity hindering widespread adoption of APR, automatic identification of overfitted patches has lately been the topic of active research. This paper presents engineering details of ObjSim: a fully automatic, lightweight similarity-based patch prioritization tool for JVM-based languages. The tool works by comparing the system state at the exit point(s) of patched method before and after patching and prioritizing patches that result in state that is more similar to that of original, unpatched version on passing tests while less similar on failing ones. Our experiments with patches generated by the recent APR tool PraPR for fixable bugs from Defects4J v1.4.0 show that ObjSim prioritizes 16.67% more genuine fixes in top-1 place. A demo video of the tool is located at https://bit.ly/2K8gnYV.