Common Statement Kind Changes to Inform Automatic Program Repair

Common Statement Kind Changes to Inform Automatic Program Repair
复制标题

DOI:
10.1145/3196398.3196472
复制
发表时间:
2018-05
期刊:
2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR)
影响因子:
--
通讯作者:
Mauricio Soto;Claire Le Goues
Mauricio Soto;Claire Le Goues
中科院分区:
其他
文献类型:
--
作者:
Mauricio Soto;Claire Le Goues

文献摘要

相似文献

自动程序维修方法的搜索空间非常广泛,寻找帮助限制此搜索的机制正在增加。我们基于陈述种类进行颗粒状分析,以查找解决错误时更可能比其他陈述更可能修改的陈述。我们通过在提供的数据集中划定调试区域来构建用于分析的语料库,并递归分析与EditeVent相关的简化语法树之间的差异。我们构建了陈述种类的分布,其相应的可能性是被修改的可能性,并验证了此分布的用法以指导声明选择。然后,我们使用不同的置信度阈值构建关联规则,以描述通常将其用于多编辑补丁创建的陈述类型。最后,我们评估关联规则的覆盖范围,并发现当使用95%的置信阈值时,我们可以创建越来越准确的规则,完全覆盖了93.8%的测试实例。
The search space for automatic program repair approaches is vast and the search for mechanisms to help restrict this search are increasing. We make a granular analysis based on statement kinds to find which statements are more likely to be modified than others when fixing an error. We construct a corpus for analysis by delimiting debugging regions in the provided dataset and recursively analyze the differences between the Simplified Syntax Trees associated with EditEvent's. We build a distribution of statement kinds with their corresponding likelihood of being modified and we validate the usage of this distribution to guide the statement selection. We then build association rules with different confidence thresholds to describe statement kinds commonly modified together for multi-edit patch creation. Finally we evaluate association rule coverage over a held out test set and find that when using a 95% confidence threshold we can create less and more accurate rules that fully cover 93.8% of the testing instances.