中文

BugListener:从协作式实时聊天中识别与合成缺陷报告

软件工程 2022-04-21 v1

摘要

在基于社区的软件开发中,开发者频繁依赖实时聊天来讨论日常开发任务中遇到的突发缺陷/错误。然而,由于实时聊天数据中交织对话的噪声特性,准确记录此类知识仍是一项挑战。本文中,我们首先形式化了从社区实时聊天中识别与合成缺陷报告的任务,并提出一种名为 BugListener 的新方法来应对这些挑战。具体而言,BugListener 自动化三个子任务:1)使用前馈神经网络从海量聊天日志中解耦对话;2)通过将原始对话建模为图结构对话并利用图神经网络学习上下文信息,从分离出的对话中识别缺陷报告对话;3)利用 TextCNN 模型与迁移学习网络将句子分类为三组以合成缺陷报告:观测行为(OB)、期望行为(EB)与复现步骤(SR)。BugListener 在六个开源项目上评估。结果显示:在缺陷报告识别上,BugListener 平均 F1 达 74.21%,较最佳基线提升 10.37%;在缺陷报告合成任务上,BugListener 对 OB、EB 与 SR 句子的分类 F1 分别为 67.37%、87.14% 与 65.03%,较最佳基线分别提升 7.21%、7.38%、5.30%。人工评估也证实了 BugListener 在生成相关且准确缺陷报告上的有效性。这些展示了在基于社区的软件开发中应用 BugListener 以促进缺陷发现与质量提升的巨大潜力。

关键词

引用

@article{arxiv.2204.09368,
  title  = {BugListener: Identifying and Synthesizing Bug Reports from Collaborative Live Chats},
  author = {Lin Shi and Fangwen Mu and Yumin Zhang and Ye Yang and Junjie Chen and Xiao Chen and Hanzhi Jiang and Ziyou Jiang and Qing Wang},
  journal= {arXiv preprint arXiv:2204.09368},
  year   = {2022}
}