Towards Effective Multi-Hunk Bug Repair: Detecting, Creating, Evaluating, and Understanding Indivisible Bugs
This paper presents our approach proposed to detect and create indivisible multi-hunk bugs, an evaluation of existing repair techniques based on these bugs, and a study of how these bugs are repaired by the developers and the existing tools. Multi-hunk bug repair aims to deal with complex bugs by producing patches addressing different locations of the program. Previous research on multi-hunk bug repair is severely misguided, as the evaluation of existing techniques is based on the Defects4J dataset, which is filled with \textit{divisible} multi-hunk bugs. A divisible multi-hunk bug is essentially a combination of multiple independent bugs triggering different failures. Repairing divisible bugs is in practice uncommon, as the developer typically deals with one failure at a time for debugging. To provide a better basis for multi-hunk repair research, we propose an enumeration-based approach IBugDC to automatically detect divisible and indivisible bugs and further isolate the divisible bugs detected to create new indivisible bugs. We applied IBugDC to 281 multi-hunk bugs from the Defects4J dataset. It identified 139 divisible bugs and further created 249 isolated bugs among which 105 are multi-hunk. Since no previous evaluation has focused on indivisible bug repair, we also evaluated existing repair techniques in dealing with these bugs. Our result shows that current techniques repaired only a small number of the indivisible bugs suggesting weak repair abilities.
Because there was no study that helps people understand why an indivisible bug requires multi-hunk patches and how to generate these patches, we studied a sample of the indivisible bugs identified and created by IBugDC with a focus on analyzing the relationships of the partial patches made at the various locations and understanding the role each of the partial patches plays in tackling the failure. As the main result, we identified 8 relationships and sketched strategies to generate patches based on the relationships. We further analyzed the patches generated for bugs repaired by existing tools and found that most of the patches are single-hunk and single-hunk-alike, implying that existing tools are not mature at addressing complex bugs.
Wed 17 JulDisplayed time zone: Brasilia, Distrito Federal, Brazil change
16:00 - 18:00 | Program Repair and SynthesisDemonstrations / Research Papers / Ideas, Visions and Reflections at Mandacaru Chair(s): Fernanda Madeiral Vrije Universiteit Amsterdam | ||
16:00 18mTalk | A Deep Dive into Large Language Models for Automated Bug Localization and Repair Research Papers Soneya Binta Hossain University of Virginia, Nan Jiang Purdue University, Qiang Zhou Amazon Web Services, Xiaopeng LI Amazon Web Services, Wen-Hao Chiang Amazon Web Services, Yingjun Lyu Amazon Web Services, Hoan Nguyen Amazon Web Services, Omer Tripp Amazon Web Services DOI | ||
16:18 18mTalk | CORE: Resolving Code Quality Issues Using LLMs Research Papers Nalin Wadhwa Microsoft Research, India, Jui Pradhan Microsoft Research, India, Atharv Sonwane Microsoft Research, India, Surya Prakash Sahu Microsoft Research, India, Nagarajan Natarajan Microsoft Research India, Aditya Kanade Microsoft Research, India, Suresh Parthasarathy Microsoft Research, India, Sriram Rajamani Microsoft Research Indua | ||
16:36 18mTalk | Towards Effective Multi-Hunk Bug Repair: Detecting, Creating, Evaluating, and Understanding Indivisible Bugs Research Papers Qi Xin Wuhan University, Haojun Wu Wuhan University, Jinran Tang Wuhan University, Xinyu Liu Wuhan University, Steven P. Reiss Brown University, Jifeng Xuan Wuhan University | ||
16:54 18mTalk | ProveNFix: Temporal Property guided Program Repair Research Papers Yahui Song National University of Singapore, Xiang Gao Beihang University, Wenhua Li National University of Singapore, Wei-Ngan Chin National University of Singapore, Abhik Roychoudhury National University of Singapore DOI Pre-print | ||
17:12 18mTalk | Towards AI-Assisted Synthesis of Verified Dafny Methods Research Papers Md Rakib Hossain Misu University of California Irvine, Crista Lopes University of California Irvine, Iris Ma University of California Irvine, James Noble Independent. Wellington, NZ DOI Pre-print | ||
17:30 9mTalk | Execution-free program repair Ideas, Visions and Reflections Bertrand Meyer Constructor Institute Schaffhausen, Li Huang Constructor Institute Schaffhausen, Ilgiz Mustafin Constructor Institute, Manuel Oriol Constructor Institute Schaffhausen | ||
17:39 9mTalk | ConDefects: A Complementary Dataset to Address the Data Leakage Concern for LLM-based Fault Localization and Program Repair Demonstrations Yonghao Wu Beijing University of Chemical Technology, Zheng Li Beijing University of Chemical Technology, Jie M. Zhang King's College London, Yong Liu Beijing University of Chemical Technology | ||
17:48 9mTalk | ASAC: A Benchmark for Algorithm Synthesis Demonstrations Zhao Zhang Peking University, Yican Sun Peking University, Ruyi Ji Peking University, Siyuan Li Peking University, Xuanyu Peng University of California, San Diego, Zhechong Huang Peking University, Sizhe Li Peking University, Tianran Zhu Peking University, Yingfei Xiong Peking University Pre-print Media Attached |