发布于 

CNN-Based Automatic Prioritization of Bug Reports

  • 论文下载地址: 下载链接
  • 作者: Qasim Umer, Hui Liu, and Inam Illahi
  • 发表: IEEE TRANSACTIONS ON RELIABILITY
  • 发表年份: 2020年
  • 关键词: bug reports, prioritization, convolutional neural network, natural language processing

摘要

本文提出了一种基于卷积神经网络(CNN)的自动化Bug报告优先级划分方法。软件系统常常收到大量的Bug报告,为了及时解决重要和紧急的Bug,需要对不同的报告进行优先级划分。然而,手动划分是繁琐且耗时的。为解决这个问题,本文提出了一种基于CNN的自动化优先级划分方法。首先,应用自然语言处理技术对Bug报告的文本信息进行预处理,并将其转化为基于单词之间的句法和语义关系的向量表示。其次,使用软件工程领域特定的情感分析技术对Bug报告进行情感分析,并计算每个报告的情感值。最后,训练一个基于CNN的分类器,根据输入的文本向量和情感值生成推荐的优先级。实验结果表明,提出的方法在Bug报告的优先级划分任务上取得了良好的性能,显著提高了准确率和召回率。这项研究为自动化Bug报告优先级划分提供了有效的解决方案,减轻了人工处理的负担。

创新点与借鉴点

创新点

  1. 本文使用卷积神经网络(CNN)进行Bug报告的自动化优先级划分。传统方法往往是手动划分,本文提出了一种自动化的方法,可以节省时间和人力成本。
  2. 本文利用自然语言处理技术对Bug报告进行预处理,将文本信息转化为向量表示,以便于输入到CNN分类器中进行训练和优先级推荐。
  3. 本文使用软件工程领域特定的情感分析技术对Bug报告进行情感分析,并结合情感值进行优先级划分。这一方法能够考虑到报告的情感意义,从而更好地划分其优先级。

借鉴点

  1. 本文借鉴了自然语言处理技术的应用,将其应用于Bug报告的优先级划分任务中。这一思路可以借鉴到其他领域的文本分类和预测任务中。
  2. 本文利用情感分析技术对Bug报告进行情感分析,并将情感值作为一个重要特征进行优先级划分。这一方法也可借鉴到其他需要考虑情感意义的任务中,如用户评论的情感分析和产品推荐等。
  3. 本文使用卷积神经网络(CNN)进行Bug报告的优先级划分,这种方法可以借鉴到其他分类任务中,尤其是文本分类任务中,以提高准确率和召回率。

实验方法

实验部分

  1. 研究问题定义:文章旨在解决Bug报告的自动优先级划分问题。
  2. 数据集:使用了多个开源项目的Bug报告数据集,其中包括Java开发工具(JDT)、Eclipse的C/C++开发工具(CDT)、Mylyn任务和问题跟踪(Mylyn)、以及平台和运行时(Platform)的Bug报告数据。
  3. 预处理:对Bug报告的文本信息进行了预处理,包括单词的屈折和词形还原,以及情感分析。
  4. 特征工程:提取了基于文本的特征向量和情感值作为输入特征。
  5. 分类器训练:训练了基于卷积神经网络(CNN)的分类器,用于生成推荐的Bug报告优先级。
  6. 性能评估:使用准确率、召回率、F1分数等指标来评估提出方法的性能,并与其他方法进行比较。

方法部分

  1. 文本预处理:使用自然语言处理技术对Bug报告的文本信息进行预处理,包括分词、去除停用词、词干提取、词形还原等。
  2. 情感分析:利用软件工程领域特定的情感分析技术对Bug报告进行情感分析,计算每个报告的情感值。
  3. 特征提取:将文本信息转化为向量表示,以便于输入到CNN分类器中。同时,将情感值作为特征之一。
  4. 卷积神经网络(CNN):设计和训练了一个CNN分类器,该分类器接受文本向量和情感值作为输入,并生成Bug报告的优先级。
  5. 实验设置:在不同的项目数据集上进行实验,评估提出方法的性能,并进行了对比实验,包括禁用预处理和与其他方法的比较。
  6. 性能评估:使用准确率、召回率、F1分数等指标来评估提出方法的性能,通过实验结果验证了方法的有效性。

总结

  • (1):这篇文章旨在解决软件系统中缺陷报告优先级划分的问题;
  • (2):过去的方法是手动划分优先级,但是这种方法繁琐且耗时。本文的方法基于卷积神经网络,通过自然语言处理技术将文本信息转化为向量,并利用情感分析来计算每个缺陷报告的情感值,进而根据这些输入训练一个CNN分类器进行预测推荐的优先级,从而自动划分优先级;
  • (3):本文的研究方法包括使用自然语言处理技术对bug报告进行预处理,将文本信息转化为向量,利用情感分析计算情感值,然后训练一个基于卷积神经网络的分类器,最终生成推荐的优先级;
  • (4):本文的方法在Bug报告的多类别优先级划分任务上取得了良好的性能,准确率和召回率均有显著改进,支持其目标的实现。