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
Publication date11/02/2022
Host publication2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)
EditorsZhi Jin, Xuandong Li, Jianwen Xiang, Leonardo Mariani, Ting Liu, Xiao Yu, Nahgmeh Ivaki
PublisherIEEE Computer Society Press
Pages12-23
Number of pages12
ISBN (electronic)9781665425872
ISBN (print)9781665425889
<mark>Original language</mark>English
Event32nd IEEE International Symposium on Software Reliability Engineering, ISSRE 2021 - Wuhan, China
Duration: 25/10/202128/10/2021

Conference

Conference32nd IEEE International Symposium on Software Reliability Engineering, ISSRE 2021
Country/TerritoryChina
CityWuhan
Period25/10/2128/10/21

Publication series

Name2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)
PublisherIEEE
ISSN (Print)1071-9458
ISSN (electronic)2332-6549

Conference

Conference32nd IEEE International Symposium on Software Reliability Engineering, ISSRE 2021
Country/TerritoryChina
CityWuhan
Period25/10/2128/10/21

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.