EMNLP2021

Fix-Filter-Fix: Intuitively Connect Any Models for Effective Bug Fixing

Haiwen Hong, Jingfeng Zhang, Yin Zhang, Yao Wan, Yulei Sui

被引用 4 次

摘要

Locating and fixing bugs is a time-consuming task. Most neural machine translation (NMT) based approaches for automatically bug fixing lack generality and do not make full use of the rich information in the source code. In NMTbased bug fixing, we find some predicted code identical to the input buggy code (called unchanged fix) in NMT-based approaches due to high similarity between buggy and fixed code (e.g., the difference may only appear in one particular line). Obviously, unchanged fix is not the correct fix because it is the same as the buggy code that needs to be fixed. Based on these, we propose an intuitive yet effective general framework (called Fix-Filter-Fix or F 3 ) for bug fixing. F 3 connects models with our filter mechanism to filter out the last model's unchanged fix to the next. We propose an F 3 theory that can quantitatively and accurately calculate the F 3 lifting effect. To evaluate, we implement the Seq2Seq Transformer (ST) and the AST2Seq Transformer (AT) to form some basic F 3 instances, called F 3 ST +AT and F 3 AT +ST . Comparing them with single model approaches and many model connection baselines across four datasets validates the effectiveness and generality of F 3 and corroborates our findings and methodology.