Explaining Software Bugs Leveraging Code Structures in Neural Machine Translation
Parvez Mahbub, Ohiduzzaman Shuvo, Mohammad Masudur Rahman

TL;DR
This paper introduces Bugsplainer, a transformer-based model that automatically generates natural language explanations for software bugs by leveraging code structures and bug patterns, aiding developers in understanding and fixing bugs more efficiently.
Contribution
The paper presents Bugsplainer, a novel neural model that explains software bugs using structural code information, outperforming existing methods in generating accurate bug explanations.
Findings
Bugsplainer outperforms baseline models in explanation quality.
Generated explanations are more accurate and useful according to developer feedback.
The model effectively leverages code structure and bug patterns for explanation generation.
Abstract
Software bugs claim approximately 50% of development time and cost the global economy billions of dollars. Once a bug is reported, the assigned developer attempts to identify and understand the source code responsible for the bug and then corrects the code. Over the last five decades, there has been significant research on automatically finding or correcting software bugs. However, there has been little research on automatically explaining the bugs to the developers, which is essential but a highly challenging task. In this paper, we propose Bugsplainer, a transformer-based generative model, that generates natural language explanations for software bugs by learning from a large corpus of bug-fix commits. Bugsplainer can leverage structural information and buggy patterns from the source code to generate an explanation for a bug. Our evaluation using three performance metrics shows that…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Software System Performance and Reliability
