RESEARCH NOTES-GMRepair: Graph Mining Template-Based Automated Software Repair

被引:0
|
作者
Cao, Heling [1 ,2 ,3 ,4 ]
Guo, Yanlong [1 ,2 ,3 ,4 ]
Wang, Yun [1 ,2 ,3 ,4 ]
Tian, Fangchao [1 ,2 ,3 ,4 ]
Wang, Zhaolong [1 ,2 ,3 ,4 ]
Chu, Yonghe [1 ,2 ,3 ,4 ]
Deng, Miaolei [1 ,2 ,3 ,4 ]
Wang, Panpan [1 ,2 ,3 ,4 ]
He, Zhenghao [1 ,2 ,3 ,4 ]
Wei, Shuting [1 ,2 ,3 ,4 ]
机构
[1] Henan Univ Technol, Key Lab Grain Informat Proc & Control, Minist Educ, Zhengzhou 450001, Peoples R China
[2] Henan Univ Technol, Henan Key Lab Grain Photoelect Detect & Control, Zhengzhou 450001, Peoples R China
[3] Henan Univ Technol, Coll Informat Sci & Engn, Zhengzhou 450001, Peoples R China
[4] Henan Int Joint Lab Grain Informat Proc, Zhengzhou 450001, Peoples R China
基金
中国国家自然科学基金;
关键词
Software bug repair; repair templates; genetic programming; test case sequencing; PROGRAM REPAIR;
D O I
10.1142/S0218194025500068
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
With the increasing scale and complexity of software recently, automated software bug repair has grown in importance. However, the current automated software bug repair process suffers from issues such as coarse-grained repair granularity and poor patch quality. To address these problems, we propose a graph mining template-based automatic software repair (GMRepair) to improve the performance of automated software bug repair. First, this approach adopts the Ochiai fault localization technique to locate and generate a list of suspicious defect statements. We utilize the GumTree tool to parse the bug and repair program files, generating edit scripts. These edit scripts are then transformed into a graphical representation. Second, we utilize a frequent graph miner to obtain graph mining templates by matching the context of the suspicious statements with the context of the graph mining templates, generating an initial population for them. The buggy program is evolved using genetic programming through mutation and crossover operations, generating new individuals. Finally, we sequentially pass the candidate patches (CPs) through corresponding test cases and prioritize the test cases using priority sorting techniques. Patches that fail to pass the test cases are filtered out, and the patches that pass the test cases are output. We conducted the experiments using two datasets, QuixBugs and Defects4J. In Defects4J, the GMRepair successfully repaired 41 defects, while in QuixBugs, it successfully repaired 15 defects. Compared to the existing methods, GMRepair offers a higher success rate and efficiency in defect repair.
引用
收藏
页数:23
相关论文
共 50 条
  • [1] TBar: Revisiting Template-Based Automated Program Repair
    Liu, Kui
    Koyuncu, Anil
    Kim, Dongsun
    Bissyande, Tegawende F.
    PROCEEDINGS OF THE 28TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA '19), 2019, : 31 - 42
  • [2] Template-based construction of verified software
    Hemer, D
    Lindsay, PA
    IEE PROCEEDINGS-SOFTWARE, 2005, 152 (01): : 2 - 12
  • [3] Template-based Neural Program Repair
    Meng, Xiangxin
    Wang, Xu
    Zhang, Hongyu
    Sun, Hailong
    Liu, Xudong
    Hu, Chunming
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 1456 - 1468
  • [4] GAMMA: Revisiting Template-based Automated Program Repair via Mask Prediction
    Zhang, Quanjun
    Fang, Chunrong
    Zhang, Tongke
    Yu, Bowen
    Sun, Weisong
    Chen, Zhenyu
    2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE, 2023, : 535 - 547
  • [5] Template-Based Generation of PLC Software from Plant Models Using Graph Representation
    Pavlovskyi, Yurii
    Kennel, Matthias
    Schmucker, Ulrich
    PROCEEDINGS OF THE 2018 25TH INTERNATIONAL CONFERENCE ON MECHATRONICS AND MACHINE VISION IN PRACTICE (M2VIP), 2018, : 278 - 285
  • [6] Automated template-based metadata extraction architecture
    Flynn, Paul
    Zhou, Li
    Maly, Kurt
    Zeil, Steven
    Zubair, Mohammad
    ASIAN DIGITAL LIBRARIES: LOOKING BACK 10 YEARS AND FORGING NEW FRONTIERS, PROCEEDINGS, 2007, 4822 : 327 - 336
  • [7] Template-based software for accurate MEMS characterization
    Novak, E
    Krell, MB
    Browne, T
    RELIABILITY, TESTING, AND CHARACTERIZATION OF MEMS/MOEMS II, 2003, 4980 : 75 - 80
  • [8] ATR: Template-Based Repair for Alloy Specifications
    Zheng, Guolong
    ThanhVu Nguyen
    Gutierrez Brida, Simon
    Regis, German
    Aguirre, Nazareno
    Frias, Marcelo F.
    Bagheri, Hamid
    PROCEEDINGS OF THE 31ST ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2022, 2022, : 666 - 677
  • [9] ATR: Template-based repair for Alloy specifications
    Zheng, Guolong
    Nguyen, Thanhvu
    Brida, Simon Gutierrez
    Regis, German
    Aguirre, Nazareno
    Frias, Marcelo F.
    Bagheri, Hamid
    ISSTA 2022 - Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis, 2022, : 666 - 677
  • [10] ClusPro LigTBM: Automated Template-based Small Molecule Docking
    Alekseenko, Andrey
    Kotelnikov, Sergei
    Ignatov, Mikhail
    Egbert, Megan
    Kholodov, Yaroslav
    Vajda, Sandor
    Kozakov, Dima
    JOURNAL OF MOLECULAR BIOLOGY, 2020, 432 (11) : 3404 - 3410