arXiv · 2304.10379
Leveraging Static Analysis for Bug Repair
Abstract
We propose a method combining machine learning with a static analysis tool (i.e. Infer) to automatically repair source code. Machine Learning methods perform well for producing idiomatic source code. However, their output is sometimes difficult to trust as language models can output incorrect code with high confidence. Static analysis tools are trustable, but also less flexible and produce non-idiomatic code. In this paper, we propose to fix resource leak bugs in IR space, and to use a sequence-to-sequence model to propose fix in source code space. We also study several decoding strategies, and use Infer to filter the output of the model. On a dataset of CodeNet submissions with potential resource leak bugs, our method is able to find a function with the same semantics that does not raise a warning with around 97% precision and 66% recall.
Explore related subjects
Keep this discovery
Ruba Mutasim, Gabriel Synnaeve, David Pichardie, Baptiste Rozière. 2023-04-20. Leveraging Static Analysis for Bug Repair. https://arxiv.org/abs/2304.10379
Cite the original work for its findings. Save a collection to share your selection of sources.