Return
Improving Patch Optimization With Buggy Block for Complex Program Repair
DOI:10.1109/ACCESS.2025.3541336.png)
Abstract
En 中文
Automated program repair (APR) identifies and repairs bugs automatically. However, previous studies have faced some limitations in terms of counting the number of repaired bug locations, generating and evaluating patches, etc. Therefore, to overcome these limitations, we propose the MCRepair++ technique for APR that applies minimized repaired locations, revised patch filtering and ranking, and a proportional patch combination. First, the minimized repaired locations merge the divided cases and exclude overlapping cases to improve preprocessing for buggy blocks. Next, the revised patch filtering and ranking filter out unnecessary patches and favor patches, which have fewer expected actions, with a high score. Finally, the proportional patch combination yields high top k values to reasonably select patches while considering the size of each buggy chunk. We conducted several experiments and evaluated the proposed approach using six project modules of Defects4J. On Defects4J, MCRepair++ correctly fixed 79 bugs, including 31 multi-chunk bugs. It also showed better performance than the baselines. Moreover, it found many unique bugs, including multi-chunk bugs, compared to the baselines.
Keywords:
Computer bugs
Maintenance engineering
Codes
Optimization
Filtering
Software
Source coding
Vocabulary
Transformers
Recurrent neural networks
Automated program repair
multi-chunk bugs
patch optimization
buggy block
deep learning
Journal
IF:
3.6
Papers:
9.8W
Citations:
29.4W

