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: https://youtu.be/xga-ScvULpk
翻译:软件缺陷每年给全球经济造成数十亿美元的损失,并占用约50%的开发时间。一旦缺陷被报告,被分配的开发人员会尝试识别并理解导致缺陷的源代码,然后修正代码。过去五十年间,自动发现或修复软件缺陷的相关研究已取得显著进展。然而,关于自动向开发人员解释缺陷的研究却很少,这一任务至关重要但极具挑战性。本文提出Bugsplainer,一种新颖的基于web的调试解决方案,通过从大量缺陷修复提交中学习,为软件缺陷生成自然语言解释。Bugsplainer利用代码结构对缺陷进行推理,并采用文本生成模型CodeT5的精调版本来生成解释。工具视频:https://youtu.be/xga-ScvULpk