Conference Proceeding

Expanding Fix Patterns to Enable Automatic Program Repair



Nowack V, Bowes D, Counsell S, Hall T, Haraldsson S, Winter E & Woodward J (2022) Expanding Fix Patterns to Enable Automatic Program Repair. In: Jin Z, Li X, Xiang J, Mariani L, Liu T, Yu X & Ivaki N (eds.) 32nd IEEE International Symposium on Software Reliability Engineering, ISSRE 2021. 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE), Wuhan, China, 25.10.2021-28.10.2021. Piscataway, NJ, USA: IEEE Computer Society, pp. 12-23.

Automatic Program Repair (APR) has been proposed to help developers and reduce the time spent repairing programs. Recent APR tools have applied learned templates (fix patterns) to fix code using knowledge from fixes successfully applied in the past. However, there is still no general agreement on the representation of fix patterns, making their application and comparison with a baseline difficult. As a consequence, it is also difficult to expand fix patterns and further enable APR. We automatically generate fix patterns from similar fixes and compare the generated fix patterns against a state-of-the-art taxonomy. Our automated approach splits fixes into smaller, method-level chunks and calculates their similarity. A threshold-based clustering algorithm groups similar chunks and finds matches with state-of-the-art fix patterns. In our evaluation, we present 33 clusters whose fix patterns were generated from the fixes of 835 Defects4J bugs. Of those 33 clusters, 22 matched a state-of-the-art taxonomy with good agreement. The remaining 11 clusters were thematically analysed and generated new fix patterns that expanded the taxonomy. Our new fix patterns should enable APR researchers and practitioners to expand their tools to fix a greater range of bugs in the future.

automatic program repair; similarity metric; clustering; fix pattern

Publication date31/12/2022
Publication date online28/02/2022
PublisherIEEE Computer Society
Place of publicationPiscataway, NJ, USA
ISSN of series2332-6549
Conference2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)
Conference locationWuhan, China

People (1)


Dr Saemundur Haraldsson
Dr Saemundur Haraldsson

Lecturer, Computing Science