Home > Research > Publications & Outputs > Expanding Fix Patterns to Enable Automatic Prog...

Links

Text available via DOI:

View graph of relations

Expanding Fix Patterns to Enable Automatic Program Repair

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published

Standard

Expanding Fix Patterns to Enable Automatic Program Repair. / Nowack, Vesna; Bowes, David; Counsell, Steve et al.
2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE). ed. / Zhi Jin; Xuandong Li; Jianwen Xiang; Leonardo Mariani; Ting Liu; Xiao Yu; Nahgmeh Ivaki. IEEE Computer Society Press, 2022. p. 12-23 (2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)).

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Harvard

Nowack, V, Bowes, D, Counsell, S, Hall, T, Haraldsson, S, Winter, E & Woodward, J 2022, Expanding Fix Patterns to Enable Automatic Program Repair. in Z Jin, X Li, J Xiang, L Mariani, T Liu, X Yu & N Ivaki (eds), 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE). 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE), IEEE Computer Society Press, pp. 12-23, 32nd IEEE International Symposium on Software Reliability Engineering, ISSRE 2021, Wuhan, China, 25/10/21. https://doi.org/10.1109/ISSRE52982.2021.00015

APA

Nowack, V., Bowes, D., Counsell, S., Hall, T., Haraldsson, S., Winter, E., & Woodward, J. (2022). Expanding Fix Patterns to Enable Automatic Program Repair. In Z. Jin, X. Li, J. Xiang, L. Mariani, T. Liu, X. Yu, & N. Ivaki (Eds.), 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE) (pp. 12-23). (2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)). IEEE Computer Society Press. https://doi.org/10.1109/ISSRE52982.2021.00015

Vancouver

Nowack V, Bowes D, Counsell S, Hall T, Haraldsson S, Winter E et al. Expanding Fix Patterns to Enable Automatic Program Repair. In Jin Z, Li X, Xiang J, Mariani L, Liu T, Yu X, Ivaki N, editors, 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE). IEEE Computer Society Press. 2022. p. 12-23. (2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)). Epub 2021 Oct 28. doi: 10.1109/ISSRE52982.2021.00015

Author

Nowack, Vesna ; Bowes, David ; Counsell, Steve et al. / Expanding Fix Patterns to Enable Automatic Program Repair. 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE). editor / Zhi Jin ; Xuandong Li ; Jianwen Xiang ; Leonardo Mariani ; Ting Liu ; Xiao Yu ; Nahgmeh Ivaki. IEEE Computer Society Press, 2022. pp. 12-23 (2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)).

Bibtex

@inproceedings{56bcc475c7d64186915c6ca9acd99aa7,
title = "Expanding Fix Patterns to Enable Automatic Program Repair",
abstract = "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. ",
keywords = "Automatic program repair, Clustering, Fix pattern, Similarity metric",
author = "Vesna Nowack and David Bowes and Steve Counsell and Tracy Hall and Saemundur Haraldsson and Emily Winter and John Woodward",
year = "2022",
month = feb,
day = "11",
doi = "10.1109/ISSRE52982.2021.00015",
language = "English",
isbn = "9781665425889",
series = "2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)",
publisher = "IEEE Computer Society Press",
pages = "12--23",
editor = "Zhi Jin and Xuandong Li and Jianwen Xiang and Leonardo Mariani and Ting Liu and Xiao Yu and Nahgmeh Ivaki",
booktitle = "2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)",
note = "32nd IEEE International Symposium on Software Reliability Engineering, ISSRE 2021 ; Conference date: 25-10-2021 Through 28-10-2021",

}

RIS

TY - GEN

T1 - Expanding Fix Patterns to Enable Automatic Program Repair

AU - Nowack, Vesna

AU - Bowes, David

AU - Counsell, Steve

AU - Hall, Tracy

AU - Haraldsson, Saemundur

AU - Winter, Emily

AU - Woodward, John

PY - 2022/2/11

Y1 - 2022/2/11

N2 - 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.

AB - 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.

KW - Automatic program repair

KW - Clustering

KW - Fix pattern

KW - Similarity metric

U2 - 10.1109/ISSRE52982.2021.00015

DO - 10.1109/ISSRE52982.2021.00015

M3 - Conference contribution/Paper

AN - SCOPUS:85126395598

SN - 9781665425889

T3 - 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)

SP - 12

EP - 23

BT - 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)

A2 - Jin, Zhi

A2 - Li, Xuandong

A2 - Xiang, Jianwen

A2 - Mariani, Leonardo

A2 - Liu, Ting

A2 - Yu, Xiao

A2 - Ivaki, Nahgmeh

PB - IEEE Computer Society Press

T2 - 32nd IEEE International Symposium on Software Reliability Engineering, ISSRE 2021

Y2 - 25 October 2021 through 28 October 2021

ER -