Bugsplainer: Leveraging Code Structures to Explain Software Bugs with Neural Machine Translation
Parvez Mahbub, Mohammad Masudur Rahman, Ohiduzzaman Shuvo, Avinash, Gopal

TL;DR
Bugsplainer is a web-based tool that automatically explains software bugs in natural language by leveraging code structures and fine-tuned neural machine translation models, aiding developers in understanding and fixing bugs more efficiently.
Contribution
It introduces a novel approach that uses code structure reasoning and a fine-tuned CodeT5 model to generate natural language bug explanations, addressing a gap in automated bug explanation research.
Findings
Achieves effective natural language bug explanations.
Leverages code structures for improved reasoning.
Demonstrates potential to assist developers in debugging.
Abstract
Software bugs cost the global economy billions of dollars each year and take up ~50% of the development time. 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 novel web-based debugging solution that generates natural language explanations for software bugs by learning from a large corpus of bug-fix commits. Bugsplainer leverages code structures to reason about a bug and employs the fine-tuned version of a text generation model, CodeT5, to generate the explanations. Tool video:…
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 System Performance and Reliability · Advanced Malware Detection Techniques
