摘要
软件缺陷修复是软件质量保证的一个重要环节.在互联网上开源、开放的群智化软件开发环境中,提升缺陷分派的效率和效果,有助于提高缺陷修复率并降低维护成本.目前,基于机器学习的缺陷自动分派方法已成为主流技术,但也存在特征人工构建、文本表示能力不足等问题.近年来,鉴于深度学习在自然语言处理领域的成功应用,研究者尝试将深度学习技术引入缺陷分派任务中,使得缺陷修复者的预测效果有了显著提高.然而,不同类型的神经网络亦存在各自的局限性.针对上述问题,将缺陷自动分派任务视为文本分类问题,结合卷积神经网络、循环神经网络和注意力机制各自的优势,提出了一种基于混合神经网络和注意力机制的缺陷自动分派方法Atten-CRNN,能更有效地捕获缺陷报告的重要文本特征和序列特征,从而提供更精准的缺陷修复者推荐服务.在Eclipse和Mozilla两个大型的知名软件开源项目中进行了实证研究,在20万量级的缺陷报告上的实验结果表明:无论是否考虑注意力机制,Atten-CRNN的预测准确率要高于基于卷积神经网络和基于循环神经网络的基准模型.