Concolic program repair
Ridwan Salihin Shariffdeen, Yannic Noller, Lars Grunske, Abhik Roychoudhury
摘要
Automated program repair reduces the manual effort in fixing program errors. However, existing repair techniques modify a buggy program such that it passes given tests. Such repair techniques do not discriminate between correct patches and patches that overfit the available tests (breaking untested but desired functionality). We propose an integrated approach for detecting and discarding overfitting patches via systematic co-exploration of the patch space and input space. We leverage concolic path exploration to systematically traverse the input space (and generate inputs), while ruling out significant parts of the patch space. Given a long enough time budget, this approach allows a significant reduction in the pool of patch candidates, as shown by our experiments. We implemented our technique in the form of a tool called 'CPR' and evaluated its efficacy in reducing the patch space by discarding overfitting patches from a pool of plausible patches. We evaluated our approach for fixing real-world software vulnerabilities and defects, for fixing functionality errors in programs drawn from SV-COMP benchmarks used in software verification, as well as for test-suite guided repair. In our experiments, we observed a patch space reduction due to our concolic exploration of up to 74% for fixing software vulnerabilities and up to 63% for SV-COMP programs. Our technique presents the viewpoint of gradual correctnessrepair run over longer time leads to less overfitting fixes.
• Software and its engineering → Software testing and debugging.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper15
- Trust Enhancement Issues in Program RepairYannic Noller, Ridwan Shariffdeen, Xiang Gao, Abhik RoychoudhuryICSE 2022 · 被引用 51 次
- PyDex: Repairing Bugs in Introductory Python Assignments using LLMsJialu Zhang, José Pablo Cambronero, Sumit Gulwani, Vu Le 等OOPSLA 2024 · 被引用 38 次
- Program vulnerability repair via inductive inferenceYuntong Zhang, Xiang Gao, Gregory J. Duck, Abhik RoychoudhuryISSTA 2022 · 被引用 29 次
- Semantic DebuggingMartin Eberlein, Marius Smytzek, Dominic Steinhöfel, Lars Grunske 等FSE 2023 · 被引用 13 次
- Human-in-the-loop oracle learning for semantic bugs in string processing programsCharaka Geethal Kapugama, Van-Thuan Pham, Aldeida Aleti, Marcel BöhmeISSTA 2022 · 被引用 10 次
它引用的顶会 Paper3
- Directed Greybox FuzzingMarcel Böhme, Van-Thuan Pham, Manh-Dung Nguyen, Abhik RoychoudhuryCCS 2017 · 被引用 836 次
- Using Safety Properties to Generate Vulnerability PatchesZhen Huang, David Lie, Gang Tan, Trent JaegerS&P 2019 · 被引用 91 次
- Type error feedback via analytic program repairGeorgios Sakkas, Madeline Endres, Benjamin Cosman, Westley Weimer 等PLDI 2020 · 被引用 24 次
相关 Paper
- PROPR: Property-Based Automatic Program RepairMatthías Páll Gissurarson, Leonhard Applis, Annibale Panichella, Arie van Deursen 等ICSE 2022 · 被引用 13 次
- Enhancing APR with PRISM: A Semantic-Based Approach to Overfitting Patch DetectionDowon Song, Hakjoo OhOOPSLA 2025 · 被引用 2 次
- VarFix: balancing edit expressiveness and search effectiveness in automated program repairChu-Pan Wong, Priscila Santiesteban, Christian Kästner, Claire Le GouesFSE 2021 · 被引用 47 次
- Automated Patch Correctness Assessment: How Far are We?Shangwen Wang, Ming Wen, Bo Lin, Hongjun Wu 等ASE 2020 · 被引用 77 次
- Towards Boosting Patch Execution On-the-FlySamuel Benton, Yuntong Xie, Lan Lu, Mengshi Zhang 等ICSE 2022 · 被引用 10 次
