Katana: Dual Slicing-Based Context for Learning Bug Fixes
Mifta Sintaha, Noor Nashid, Ali Mesbah

TL;DR
Katana introduces a dual slicing-based approach to improve bug fix accuracy by focusing on relevant code dependencies, significantly outperforming existing context-aware repair methods.
Contribution
This paper presents Katana, the first slicing-based program repair technique utilizing dual context from buggy and fixed code versions to enhance bug fixing effectiveness.
Findings
Katana fixes 1.5 to 3.7 times more bugs than recent methods.
Dual slicing effectively captures relevant repair information.
Slicing reduces noise in context extraction.
Abstract
Contextual information plays a vital role for software developers when understanding and fixing a bug. Consequently, deep learning-based program repair techniques leverage context for bug fixes. However, existing techniques treat context in an arbitrary manner, by extracting code in close proximity of the buggy statement within the enclosing file, class, or method, without any analysis to find actual relations with the bug. To reduce noise, they use a predefined maximum limit on the number of tokens to be used as context. We present a program slicing-based approach, in which instead of arbitrarily including code as context, we analyze statements that have a control or data dependency on the buggy statement. We propose a novel concept called dual slicing, which leverages the context of both buggy and fixed versions of the code to capture relevant repair ingredients. We present our…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Advanced Malware Detection Techniques
