arrow
返回

Test-based patch clustering for automatically-generated patches assessment

delete2024-07-24
delete1
delete
OA
AI
M
Matías Martínez
M
Maria Kechagia
A
Anjana Perera
J
Justyna Petke
F
Federica Sarro *
A
Aldeida Aleti
DOI:10.1007/s10664-024-10503-2delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
Previous studies have shown that Automated Program Repair (apr) techniques suffer from the overfitting problem. Overfitting happens when a patch is run and the test suite does not reveal any error, but the patch actually does not fix the underlying bug or it introduces a new defect that is not covered by the test suite. Therefore, the patches generated by apr tools need to be validated by human programmers, which can be very costly, and prevents apr tool adoption in practice. Our work aims to minimize the number of plausible patches that programmers have to review, thereby reducing the time required to find a correct patch. We introduce a novel light-weight test-based patch clustering approach called xTestCluster, which clusters patches based on their dynamic behavior. xTestCluster is applied after the patch generation phase in order to analyze the generated patches from one or more repair tools and to provide more information about those patches for facilitating patch assessment. The novelty of xTestCluster lies in using information from execution of newly generated test cases to cluster patches generated by multiple APR approaches. A cluster is formed of patches that fail on the same generated test cases. The output from xTestCluster gives developers a) a way of reducing the number of patches to analyze, as they can focus on analyzing a sample of patches from each cluster, b) additional information (new test cases and their results) attached to each patch. After analyzing 902 plausible patches from 21 Java apr tools, our results show that xTestCluster is able to reduce the number of patches to review and analyze with a median of 50%. xTestCluster can save a significant amount of time for developers that have to review the multitude of patches generated by apr tools, and provides them with new test cases that expose the differences in behavior between generated patches. Moreover, xTestCluster can complement other patch assessment techniques that help detect patch misclassifications.
Keyword:
Automated program repair
Patch assessment
Patch overfitting
Test case generation
Java
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

U
University College London
学者数:
7.9W
论文数: 6.2W
被引数: 15.7W
U
university of london
学者数:
21.5W
论文数: 19.7W
被引数: 305
U
universitat politecnica de catalunya
学者数:
1.9W
论文数: 1.6W
被引数: 17
学者 查看更多机构
引用论文

引用论文

The costs and effects of switching calcium channel blockers: evidence from Medicaid claims data
err1995-01-01
err0
errOAAI
errW. Robert Simons; John A. Rizzo; Marcia Stoddard; M. Eugene Smith
err分享
err收藏
Surface relief of magnetoactive elastomeric films in a homogeneous magnetic field: molecular dynamics simulations
err2019-01-01
err0
errOAAI
errPedro A. Sánchez; Elena S. Minina; Sofia S. Kantorovich; Elena Yu. Kramarenko
err分享
err收藏
Structure and function of negative-strand RNA virus polymerase complexes
err2021-01-01
err0
PREAI
errJesse D. Pyle; Sean P.J. Whelan; Louis-Marie Bloyet
err分享
err收藏
Ebola virus sequencing protocol v1
err
IF0
err2019-09-25
err0
errOAAI
errJosh Quick
err分享
err收藏
err分享
err收藏
Chapter Twenty‐Eight Qualitative and Quantitative Characterization of Autophagy in Caenorhabditis elegans by Electron Microscopy
err2008-01-01
err0
PREAI
errTimea Sigmond; Judit Fehér; Attila Baksa; Gabriella Pásti; Zsolt Pálfia; Krisztina Takács‐Vellai; János Kovács; Tibor Vellai; Attila L. Kovács
err分享
err收藏
学者 查看更多内容