Improving Patch Optimization With Buggy Block for Complex Program Repair
Improving Patch Optimization With Buggy Block for Complex Program Repair
Blog Article
Automated TV Stand 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 Robot Replicas 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.