论文标题

基于搜索的程序维修的补丁质量和多样性

Patch Quality and Diversity of Invariant-Guided Search-Based Program Repair

论文作者

Ding, Zhen Yu

论文摘要

大多数自动程序维修技术都依赖于测试用例来指定正确的程序行为。但是,由于测试案例经常对所需行为的覆盖范围不完整,因此补丁通常过于合适,并且无法推广到更广泛的要求。此外,在没有完美正确的输出的情况下,可以确保更高的补丁质量的方法,例如将几个补丁合并在一起或人类评估补丁建议,从而使访问多种贴片的方法受益,从而使补丁多样性成为潜在有用的特征。我们评估了GenProg产生的贴片的正确性和多样性,以及我们先前工作中描述的基于不变的多样性增强性扩展。我们没有发现促进多样性改变斑块沿正或负方向的正确性。使用不变和测试案例生成驱动的指标来测量语义多样性,我们发现大多数错误的斑块之间的语义差异都在大多数错误之间,而不论所使用的维修技术如何。

Most automatic program repair techniques rely on test cases to specify correct program behavior. Due to test cases' frequently incomplete coverage of desired behavior, however, patches often overfit and fail to generalize to broader requirements. Moreover, in the absence of perfectly correct outputs, methods to ensure higher patch quality, such as merging together several patches or a human evaluating patch recommendations, benefit from having access to a diverse set of patches, making patch diversity a potentially useful trait. We evaluate the correctness and diversity of patches generated by GenProg and an invariant-based diversity-enhancing extension described in our prior work. We find no evidence that promoting diversity changes the correctness of patches in a positive or negative direction. Using invariant- and test case generation-driven metrics for measuring semantic diversity, we find no observed semantic differences between patches for most bugs, regardless of the repair technique used.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源