arrow
返回

Speeding up constraint-based program repair using a search-based technique

delete2022-06-01
delete9
PRE
AI
J
Jooyong Yi *
E
Elkhan Ismayilzada
DOI:10.1016/j.infsof.2022.106865delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Context: Constraint-based program repair has been developed as one of the main techniques for automated program repair. Given a buggy program and a test suite, constraint-based program repair first extracts a repair constraint T, and then synthesizes a patch satisfying T. Since a patch is synthesized in a correct-by-construction manner (rather than compiling and testing each repair candidate source code), the constraint-based approach, in theory, requires less runtime overhead than the G&V approach. Nevertheless, the performance of existing constraint-based approaches is still suboptimal.Objective: In this work, we propose a novel technique to expedite constraint-based program repair. We aim to boost runtime performance without sacrificing repairability and patch quality. Method: The existing constraint-based program repair searches for a patch specification in an unguided manner. We introduce a novel guided search algorithm based on MCMC sampling.Results: Our experimental results for the 50 buggy versions of 5 real-world subjects (i.e., Libtiff, PHP, GMP, Gzip, and Wireshark) show that our method named FAngelix is on average an order of magnitude faster than Angelix (a state-of-the-art constraint-based program repair tool), showing up to 23 times speed-up. This speed-up is achieved without sacrificing repairability and patch quality. Conclusion: This paper proposes a novel technique that expedites constraint-based program repair, using a search-based technique based on MCMC sampling. Our experimental results show the promise of our approach.
Keyword:
Automated program repair
Constraint-based program repair
Guided search
MCMC sampling

期刊

Information and Software Technology 封面图
Information and Software Technology
IF:
4.3
论文数:
3.8K
被引数:
7.7K

机构

暂无机构信息
引用论文

引用论文

An introduction to MCMC for machine learning机器学习的MCMC简介
err2003-01-01
err1.9K
errOAAI
errAndrieu, C; de Freitas, N; Doucet, A; Jordan, MI
err分享
err收藏
Automated Fixing of Programs with Contracts
err2014-05-01
err167
errOAAI
errPei, Yu; Furia, Carlo A.; Nordio, Martin; Wei, Yi; Meyer, Bertrand; Zeller, Andreas
err分享
err收藏
err分享
err收藏
GenProg: A Generic Method for Automatic Software Repair
err2012-01-01
err594
PREAI
errLe Goues, Claire; ThanhVu Nguyen; Forrest, Stephanie; Weimer, Westley
err分享
err收藏
Test-Equivalence Analysis for Automatic Patch Generation
err2018-10-22
err33
errOAAI
errMechtaev, Sergey; Gao, Xiang; Tan, Shin Hwei; Roychoudhury, Abhik
err分享
err收藏
Nopol: Automatic Repair of Conditional Statement Bugs in Java Programs
err2017-01-01
err295
errOAAI
errXuan, Jifeng; Martinez, Matias; DeMarco, Favio; Clement, Maxime; Lamelas Marcote, Sebastian; Durieux, Thomas; Le Berre, Daniel; Monperrus, Martin
err分享
err收藏
Single-atom quantum gate for light
err1997-10-01
err0
PREAI
errK. M. Gheri; H. Ritsch
err分享
err收藏
学者 查看更多内容