The Impact of Program Reduction on Automated Program Repair

被引:0
作者
Vidziunas, Linas [1 ]
Binkley, David [2 ]
Moonen, Leon [1 ,3 ]
机构
[1] Simula Res Lab, Oslo, Norway
[2] Loyola Univ Maryland, Baltimore, MD USA
[3] BI Norwegian Business Sch, Oslo, Norway
来源
2024 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION, ICSME 2024 | 2024年
关键词
automated program repair; dynamic program slicing; fault localization; test-suite reduction; hybrid techniques; CHALLENGES;
D O I
10.1109/ICSME58944.2024.00039
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Correcting bugs using modern Automated Program Repair (APR) can be both time-consuming and resource-expensive. We describe a program repair approach that aims to improve the scalability of modern APR tools. The approach leverages program reduction in the form of program slicing to eliminate code irrelevant to fixing the bug, which improves the APR tool's overall performance. We investigate slicing's impact on all three phases of the repair process: fault localization, patch generation, and patch validation. Our empirical exploration finds that the proposed approach on average enhances the repair ability of the TBar APR tool, but we also discovered a few cases where it was less successful. Specifically, on examples from the widely used Defects4J dataset, we obtain a substantial reduction in median repair time, which falls from 80 minutes to just under 18 minutes. We conclude that program reduction can improve the performance of APR without degrading repair quality, but this improvement is not universal.
引用
收藏
页码:337 / 349
页数:13
相关论文
共 76 条
  • [1] SOSRepair: Expressive Semantic Search for Real-World Program Repair
    Afzal, Afsoon
    Motwani, Manish
    Stolee, Kathryn T.
    Brun, Yuriy
    Le Goues, Claire
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (10) : 2162 - 2181
  • [2] SLICER4J: A Dynamic Slicer for Java']Java
    Ahmed, Khaled
    Lis, Mieszko
    Rubin, Julia
    [J]. PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 1570 - 1574
  • [3] Alves E., 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering, P520, DOI 10.1109/ASE.2011.6100114
  • [4] Fault localization for automated program repair: effectiveness, performance, repair correctness
    Assiri, Fatmah Yousef
    Bieman, James M.
    [J]. SOFTWARE QUALITY JOURNAL, 2017, 25 (01) : 171 - 199
  • [5] The Plastic Surgery Hypothesis
    Barr, Earl T.
    Brun, Yuriy
    Devanbu, Premkumar
    Harman, Mark
    Sarro, Federica
    [J]. 22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 306 - 317
  • [6] Towards Boosting Patch Execution On-the-Fly
    Benton, Samuel
    Xie, Yuntong
    Lu, Lan
    Zhangt, Mengshi
    Li, Xia
    Zhangt, Lingming
    [J]. 2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 2165 - 2176
  • [7] A comparison of tree- and line-oriented observational slicing
    Binkley, David
    Gold, Nicolas
    Islam, Syed
    Krinke, Jens
    Yoo, Shin
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (05) : 3077 - 3113
  • [8] ORBS: Language-Independent Program Slicing
    Binkley, David
    Gold, Nicolas
    Harman, Mark
    Islam, Syed
    Krinke, Jens
    Yoo, Shin
    [J]. 22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 109 - 120
  • [9] Campos J, 2012, IEEE INT CONF AUTOM, P378, DOI 10.1145/2351676.2351752
  • [10] Symbiotic 6: generating test cases by slicing and symbolic execution Competition Contribution
    Chalupa, Marek
    Vitovska, Martina
    Jasek, Tomas
    Simacek, Michael
    Strejcek, Jan
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2021, 23 (06) : 875 - 877