A Replication of "Better Automatic Program Repair by Using Bug Reports and Tests Together"
This artifact facilitates the replication of the ICSE’23 paper titled Better Automatic Program Repair by Using Bug Reports and Tests Together. The replication package was successfully evaluated and awarded Artifact Available and Artifact Reusable badges. The artifact consists of two tools, Blues and RAFL, introduced in the paper, and a set of scripts to replicate the evaluation presented in the paper.
Description of Better Automatic Program Repair by Using Bug Reports and Tests Together:
Recent research has shown that one of the main reasons automated program repair tools produce incorrect (but seemingly correct) patches is imperfect fault localization (FL). This paper demonstrates that combining information from natural-language bug reports and test executions when localizing bugs can have a significant positive impact on repair quality. We develop, Blues, the first information-retrieval-based, statement-level FL technique that requires no training data. We further develop RAFL, the first unsupervised method for combining multiple FL techniques, which outperforms a supervised method. Using RAFL, we create SBIR by combining Blues with a spectrum-based (SBFL) technique. Evaluated on 815 real-world defects, SBIR consistently ranks buggy statements higher than its underlying techniques. We modify three state-of-the-art repair tools, Arja, SequenceR, and SimFix, to use SBIR, SBFL, and Blues as their internal FL. We evaluate the quality of the produced patches on 689 real-world defects. Arja and SequenceR significantly benefit from SBIR.