Despite the immense popularity of the Automated Program Repair (APR) field, the question of patch validation is still open. Most of the present-day approaches follow the so-called Generate-and-Validate approach, where first a candidate solution is being generated and after validated against an oracle. The latter, however, might not give a reliable result, because of the imperfections in such oracles; one of which is usually the test suite. Although (re-) running the test suite is right under one's nose, in real life applications the problem of over- and underfitting often occurs, resulting in inadequate patches. Efforts that have been made to tackle with this problem include patch filtering, test suite expansion, careful patch producing and many more. Most approaches to date use post-filtering relying either on test execution traces or make use of some similarity concept measured on the generated patches. Our goal is to investigate the nature of these similarity-based approaches. To do so, we trained a Doc2Vec model on an open-source JavaScript project and generated 465 patches for 10 bugs in it. These plausible patches alongside with the developer fix are then ranked based on their similarity to the original program. We analyzed these similarity lists and found that plain document embeddings may lead to misclassification - it fails to capture nuanced code semantics. Nevertheless, in some cases it also provided useful information, thus helping to better understand the area of Automated Program Repair.
Attention: Not Just Another Dataset for Patch-Correctness Checking
自动程序修复(Automated Program Repair,APR)技术已引起学术界和工业界的广泛关注。同时,当前最先进的APR工具的一个主要限制是,通过所有原始测试的补丁不一定是开发人员想要的正确补丁,即,合理的补丁问题。迄今为止,已经提出了各种补丁正确性检查(PCC)技术来解决这个重要问题。然而,它们仅在非常有限的数据集上进行评估,因为用于生成此类补丁的APR工具只能探索可能补丁的搜索空间的一小部分,对现有PCC研究的外部有效性构成严重威胁。在本文中,我们构建了一个广泛的PCC数据集(据我们所知最大的手动标记的PCC数据集),以重新审视所有最先进的PCC技术。更具体地说,我们的PCC数据集包括从最近的PraPR APR工具生成的1,988个补丁,该工具利用高度优化的字节码级别补丁执行,并可以在其大型预定义的搜索空间内彻底探索所有可能的合理补丁(包括众所周知的修复模式)来自各种以前的APR工具)。我们对新数据集上代表性PCC技术的广泛研究揭示了各种令人惊讶的发现,并为未来的PCC研究提供了指导。
Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repair
Nanjing University of Science and Technology(南京理工大学);State Key Lab. for Novel Software Technology, Nanjing University(南京大学新型软件技术国家重点实验室);School of Computer Science, Wuhan University(武汉大学计算机学院)
PAFT: Preservation Aware Fine-Tuning for Minimal-Edit Program Repair
School of Artificial Intelligence (School of Software), Yanshan University(燕山大学人工智能学院(软件学院));Department of Computer Science, Aalto University(阿尔托大学计算机科学系)
Lero, the Research Ireland Centre for Software, University of Limerick(利默里克大学 Lero 爱尔兰软件研究中心);The Chinese University of Hong Kong, Shenzhen(香港中文大学(深圳));Hong Kong University of Science and Technology(香港科技大学);University of Ottawa(渥太华大学)
A Single Patch Is Not Enough: Deterministic Fusion of Repair Candidates
Yanshan University(燕山大学);Beijing Guoyan Network Data Technology Co., Ltd.(北京国燕网络数据技术有限公司);Peking University(北京大学);Google(谷歌);University of Melbourne(墨尔本大学);University of Luxembourg(卢森堡大学);Aalto University(阿尔托大学)