Cupid: Leveraging ChatGPT for More Accurate Duplicate Bug Report Detection
- 论文下载地址: 下载链接
- 作者: Ting Zhang, Ivana Clairine Irsan, Ferdian Thung, David Lo
- Affiliation: 新加坡管理大学, Singapore Management University
- 发表: arXiv preprint arXiv:2308.10022, 2023.
- 发表年份: 2023年
- 关键词: Duplicate bug report detection, deep learning, ChatGPT, performance evaluation
摘要
在软件开发领域,管理和准确识别重复的Bug报告是一项至关重要的任务。本文介绍了一种名为Cupid的新方法,旨在提高重复Bug报告检测的准确性。Cupid方法结合了选择规则和ChatGPT语言模型,以有效地降低计算成本并提高性能。选择规则用于筛选需要进行文本分析的Bug报告,从而实现了计算效率与准确性之间的平衡。通过在不同数据集上进行评估,Cupid方法在RR@10得分方面取得了显著的性能提升,支持了其在重复Bug报告检测领域的潜在应用前景。这一方法的成功展示了ChatGPT在软件工程任务中的潜力,为未来的研究提供了有趣的方向。
创新点与借鉴点
创新点:
- Cupid方法的创新点在于将深度学习模型ChatGPT应用于重复Bug报告检测任务中。通过利用ChatGPT的语言生成能力,Cupid方法能够更准确地识别和检测重复的Bug报告,相比传统方法有显著性能提升。
- 文中提出了一种选择规则的策略,以减少需要进行文本分析和计算的Bug报告数量。通过设置长度和内容标准,选择规则可以提高算法的效率,并在大规模Bug仓库中取得更好的性能。
借鉴点:
- 文章借鉴了传统的重复Bug报告检测方法,如REP方法,并进行了性能比较。通过对比实验结果,可以更好地理解Cupid方法的优势和改进空间,为未来相关研究提供参考。
- 文章还借鉴了聊天式生成模型ChatGPT的使用场景。通过将ChatGPT与选择规则相结合,Cupid方法成功利用了ChatGPT在自然语言处理任务中的能力,为其他领域的文本分析问题提供了启示与借鉴。
实验
实验:
本文的实验部分主要包括数据集、评估指标和性能比较。
- 数据集:作者在三个开源项目(Spark、Hadoop和Kibana)上进行了实验评估。这些数据集包含了典型数量的问题,并且涵盖了不同的Bug报告。
- 评估指标:作者选择了Recall Rate@𝐴 (RR@𝐴) 作为主要评估指标。RR@𝐴是指在前𝐴个预测结果中,有多少个是正确的真实重复Bug报告。
- 性能比较:作者将Cupid方法与三种最先进的方法进行了比较,包括REP方法、Siamese Pair方法和SABD方法。通过比较不同方法在各个数据集上的RR@10得分,评估Cupid方法的性能。
方法:
- Cupid方法:Cupid方法是基于深度学习模型ChatGPT的重复Bug报告检测方法。该方法利用ChatGPT进行文本分析和生成,通过生成的文本表示来判断两个Bug报告是否重复。
- 选择规则:为了提高计算效率,作者提出了选择规则的策略。选择规则基于Bug报告的长度和内容,用于确定哪些Bug报告需要进行ChatGPT的文本分析,从而减少计算量。
- 性能评估和调优:作者使用三个数据集进行实验评估,并选择RR@10作为主要评估指标。为了进一步提高Cupid方法的性能,作者通过梯度下降进行了参数调优,以优化模型的性能。
- 方法比较:作者将Cupid方法与传统方法REP、Siamese Pair方法和SABD方法进行比较。通过比较实验结果,评估Cupid方法的性能和优越性。
总结
- (1): 本文研究背景是在软件开发中,管理和准确识别重复的Bug报告是一项重要任务。
- (2): 过去的方法包括传统方法和基于深度学习的方法,但在小型Bug仓库中表现不佳。本研究提出了Cupid方法,利用ChatGPT进行文本分析,取得了显著的性能提升,解决了这一问题。
- (3): 本文提出了Cupid方法,结合了选择规则和ChatGPT语言模型,以提高重复Bug报告检测的准确性。选择规则用于降低计算成本,ChatGPT用于文本分析和生成。
- (4): 本文在不同数据集上评估了Cupid方法,取得了显著的性能提升,RR@10得分介于0.59到0.67之间,支持了其目标。