CN111737107A - 一种基于异质信息网络的重复缺陷报告检测方法 - Google Patents
一种基于异质信息网络的重复缺陷报告检测方法 Download PDFInfo
- Publication number
- CN111737107A CN111737107A CN202010413134.1A CN202010413134A CN111737107A CN 111737107 A CN111737107 A CN 111737107A CN 202010413134 A CN202010413134 A CN 202010413134A CN 111737107 A CN111737107 A CN 111737107A
- Authority
- CN
- China
- Prior art keywords
- defect report
- defect
- report
- repeated
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000007547 defect Effects 0.000 title claims abstract description 321
- 238000001514 detection method Methods 0.000 title claims abstract description 54
- 238000012549 training Methods 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 21
- 230000003252 repetitive effect Effects 0.000 claims description 12
- 230000008439 repair process Effects 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000000306 recurrent effect Effects 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims 1
- 230000004913 activation Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- ONIBWKKTOPOVIA-UHFFFAOYSA-N Proline Chemical compound OC(=O)C1CCCN1 ONIBWKKTOPOVIA-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于异质信息网络的重复缺陷报告检测方法,包括以下步骤:(1)缺陷报告异质信息网络建立;(2)缺陷报告异质信息网络表示学习;(3)缺陷报告文本语义表示学习;(4)缺陷报告组识别;(5)重复和非重复缺陷报告对生成;(6)训练、验证和测试数据生成;(7)重复缺陷报告检测模型建立;(8)重复缺陷报告检测模型训练;(9)重复缺陷报告检测。本发明通过建立缺陷报告异质信息网络,利用网络表示学习方法对网络中缺陷报告之间隐含的语义关系进行学习,进而构建重复缺陷报告检测模型,与单独使用缺陷报告文本信息的信息检索方法相比,本发明提高了重复缺陷报告的检测准确率。
Description
技术领域
本发明属于软件工程中重复缺陷报告自动检测技术领域,具体涉及一种基于 异质信息网络的重复缺陷报告检测方法。
背景技术
缺陷追踪系统,例如Bugzilla和Jira,不可避免地会出现重复缺陷报告问 题。不同用户可能会报告相同失效现象的缺陷,导致开发者重复讨论和识别这些 相同的缺陷,带来不必要的维护代价。为了检测重复缺陷报告,传统方法依赖基 于信息检索方法(information retrieval,IR)计算的文本相似度,例如术语 频率-逆文档频率(TF-IDF),来检测重复缺陷报告。然而,随着缺陷追踪系统 加入了实时检测(just-in-time,JIT)功能,在面对加入JIT功能后的重复缺 陷报告时,基于文本相似性的传统方法的有效性发生了下降。这是因为缺陷追踪 系统在加入JIT功能后,当用户/开发者在缺陷报告提交页面标题框中输入文字 时,该技术能够给出可能的重复缺陷报告。因此,在提交缺陷报告的第一步就减 少了出现重复的可能性。
虽然JIT功能通过避免一些文本高度相似的缺陷报告,在一定程度上提高了 缺陷报告的质量,但是缺陷追踪系统中仍然存在大量的重复缺陷报告。这些重复 缺陷报告更多地呈现出语义关系相似性,而不是文本相似性。因而基于文本相似 性技术的传统信息检索方法难以检测这些重复缺陷报告。另一方面,当前的JIT 功能仅利用缺陷报告的标题文本来检测重复缺陷报告,而不考虑缺陷报告中与所 报告缺陷有关的丰富的异质属性信息,例如产品、组件、版本、严重性和修复优 先级。因此,即使加入了JIT功能,缺陷追踪系统中仍然存在大量的重复缺陷报 告。为了弥补传统重复缺陷报告检测方法的不足,本发明提出了一种基于异质信 息网络的重复缺陷报告检测方法。
发明内容
发明目的:本发明提出一种基于异质信息网络的重复缺陷报告检测方法,可 以充分利用缺陷报告中异质属性之间不同的关系类型,提高重复缺陷报告的检测 准确率。
技术方案:本发明提出一种基于异质信息网络的重复缺陷报告检测方法,具 体包括以下步骤:
(1)从缺陷报告文件中提取结构化的异质属性当作节点,根据异质属性节 点之间的关系构建缺陷报告异质信息网络;
(2)对建立的缺陷报告异质信息网络进行网络表示学习,得到每个属性节 点的向量表示;
(3)从缺陷报告文件中提取文本信息并进行预处理,然后使用大量的无标 签的缺陷报告文本信息训练缺陷报告文本语义模型,得到缺陷报告文本中每个单 词的向量表示;
(4)从缺陷仓库中识别缺陷报告组,同一个缺陷报告组中的缺陷报告描述 相同的失效现象;
(5)从步骤(4)中识别的缺陷报告组中生成重复和非重复缺陷报告对数据; 并将该数据划分成训练、验证和测试数据;
(6)将步骤(2)、(3)中的得到的异质属性节点向量和文本单词向量分 别用于表示缺陷报告的结构化特征和非结构化特征,用于构建重复缺陷报告检测 模型;
(7)使用步骤(5)中得到的训练和验证数据对步骤(6)建立的重复缺陷 报告检测模型进行训练;
(8)使用步骤(7)中训练得到的重复缺陷报告检测模型对测试数据进行自 动检测,得到重复缺陷报告的检测结果。
进一步地,所述步骤(1)包括以下步骤:
(11)从缺陷报告文件中提取六类异质属性当作节点,即缺陷报告标识号 BID、产品PRO、组件COM、版本VER、严重性SEV和修复优先级PRI;
(12)将六类属性节点建立连边:
进一步地,步骤(3)中所述的预处理包括单词分割、停用词删除和单词标 准化。
进一步地,所述步骤(4)包括以下步骤:
(41)给定一个项目的所有缺陷报告BR,生成一个重复关系网络 Gbr(Vbr,Ebr),对于每一个缺陷报告br,分别在idbr和resolutionbr中记录它 的标识号ID和解决状态;如果它的解决状态为“重复”,那么将该缺陷报告中 记录的dup_id,即该缺陷报告所重复的缺陷报告的标识号,提取出来并记录到 idsdup;然后将一条边(idbr,iddup)加入到Ebr中;一个重复缺陷报告可能记录 了超过一个的dup_id或者没有记录dup_id,如果没有记录dup_id,该缺陷报 告将从数据集中丢弃;如果缺陷报告的解决状态不是“重复”,那么将该缺陷报 告的idbr加入到Vbr中;当缺陷报告BR中所有的缺陷报告都遍历完后,得 到重复关系网络Gbr;
(42)建立一个空字典来存储缺陷报告组Groupbug(master,duplicates), 然后识别重复关系网络Gbr中所有的弱连通子图SubGraphs;对于每一个弱连 通子图如果该子图只有一个节点,则该缺陷报告不是重复 缺陷报告,并且该缺陷报告自身组成了一个缺陷报告组,即将该缺陷报告的idbr记录在主缺陷报告master中,而将Groupbug[master]设为空,如果弱连通 子图有超过一个节点,那么存在两种情况:不存在回环或者存在回环, 对于不存在回环的情况,将节点出度为0的缺陷报告idbr作为主缺陷报告 master;如果子图存在回环,则将回环节点中最早提交的缺陷报告idbr作为主缺陷报告master;不存在回环或者存在回环,与主缺陷报告master属于相同缺陷报告组的其他缺陷报告Groupbug[master]均为子图 Vsub除去master后的节点集合Vsub-{idbr}。
进一步地,所述步骤(6)包括以下步骤:
(65)将缺陷报告的结构化特征使用多层感知器网络进行嵌入;
(66)将缺陷报告的非结构化特征使用循环神经网络进行嵌入;
(67)嵌入后的结构化特征和非结构化特征使用多层感知器网络进行融合, 用于表示缺陷报告的向量;
(68)模型输出缺陷报告对的相似度。
进一步地,所述步骤(7)的实现过程如下:
得到模型输出的缺陷报告对相似度结果后,将相似度结果与缺陷报告对标签 输入至损失函数,得到损失函数值,判断该损失函数的值是否小于设定的阈值; 若否,则根据损失函数的值调整检测模型的训练参数,并再次用训练和验证数据 对检测模型进行训练,直至模型输出的相似度结果与缺陷报告对标签的损失值小 于设定的阈值为止,并将最后的检测模型作为最终的重复缺陷报告检测模型。
有益效果:与现有技术相比,本发明的有益效果:本发明充分利用了缺陷报 告中异质属性之间不同的关系类型,通过异质信息网络表示学习对网络中缺陷报 告之间的语义关系进行学习,与单独使用缺陷报告文本数据相比,提高了重复缺 陷报告的检测准确率。
附图说明
图1为本发明的流程图;
图2为基于异质信息网络的重复缺陷报告检测模型结构框架图。
具体实施方式
下面结合附图对本发明作进一步详细描述。
重复缺陷报告检测:重复缺陷报告是指缺陷仓库中重复提交的描述相同 失效现象的报告。当缺陷仓库维护人员检测出新提交的缺陷报告与已存在的 缺陷报告重复时,新提交的缺陷报告的解决状态(resolution)会标记为重 复(DUPLICATE)。此外,标记为重复的缺陷报告,其dup_id将记录该缺 陷报告重复的缺陷报告ID。通常情况下,根据dup_id可以将描述相同缺陷 的所有缺陷报告归为同一个缺陷报告组。在每个缺陷报告组中,所有重复缺 陷报告都指向的那个缺陷报告称为主缺陷报告(master)。如果新提交的缺 陷报告没有识别出与现有缺陷报告重复,那么该缺陷报告就是主缺陷报告并 且组成了新的缺陷报告组。当获得所有的缺陷报告组后,可以生成重复和非 重复缺陷报告对。然后,重复缺陷报告的检测问题就可以重构为简单的二分 预测问题。当出现新提交的缺陷报告时,可以和所有主缺陷报告组成缺陷报 告对,然后用已经训练好的预测模型来预测这些缺陷报告对中的缺陷报告是 否重复。
缺陷报告异质信息网络:在缺陷报告异质信息网络G=(V,E)中,每个 节点v∈V属于一个特定的属性类型τ(v)∈A,每个边e∈E属于一个特 定的关系类型φ(e)∈R。其中,网络模式TG=(A,R)是定义在属性类型映 射函数τ:V→A和关系类型映射函数φ:E→R的一个有向图,是异质 信息网络G的元描述。而元路径之间的一个复合关系R=R1·R2·…Rl,其中·表示关系的复合运算符。给定缺陷报告异 质信息网络G,网络表示学习是为了学习一个节点关系映射函数其中d<<|V|。
如图1所示,本发明提出一种基于异质信息网络的重复缺陷报告检测方法, 其具体实施步骤如下:
步骤1:缺陷报告异质信息网络建立,从缺陷报告文件中提取结构化的异质 属性当作节点,根据异质属性节点之间的关系构建缺陷报告异质信息网络。
首先,从缺陷报告文件中提取六类异质属性当作节点,即缺陷报告标识号 BID、产品PRO、组件COM、版本VER、严重性SEV和修复优先级PRI。
其次,对这六类属性节点按照以下五种关系类型建立连边:
步骤2:缺陷报告异质信息网络表示学习,对建立的缺陷报告异质信息网络 进行网络表示学习,得到每个属性节点的向量表示。
使用异质信息网络表示学习方法HIN2Vec对建立的缺陷报告异质信息网络 进行表示学习,得到每个属性节点的向量表示。
步骤3:从缺陷报告文件中提取文本信息并进行预处理,其中,预处理包括 单词分割、停用词删除和单词标准化。然后使用大量的无标签的缺陷报告文本信 息训练缺陷报告文本语义模型,得到缺陷报告文本中每个单词的向量表示。
缺陷报告文本语义通过使用Word2Vec工具中的Skip-Gram模型进行学习, 得到缺陷报告中每个单词的向量表示。
步骤4:缺陷报告组识别,从缺陷仓库中识别缺陷报告组,同一个缺陷报告 组中的缺陷报告描述相同的失效现象。
缺陷报告组的识别算法包含以下步骤:
(1)给定一个项目的所有缺陷报告BR,缺陷报告组识别算法首先生成一 个重复关系网络Gbr(Vbr,Ebr)。对于每一个缺陷报告br,分别在idbr和 resolutionbr中记录它的标识号ID和解决状态。如果它的解决状态为“重复”, 那么将该缺陷报告中记录的dup_id(即该缺陷报告所重复的缺陷报告的标识 号)提取出来并记录到idsdup。然后将一条边(idbr,iddup)加入到Ebr中。需 要注意的是,一个重复缺陷报告可能记录了超过一个的dup_id或者没有记录 dup_id。对于第二种情况,该缺陷报告将从数据集中丢弃。此外,如果缺陷报告的解决状态不是“重复”,那么将该缺陷报告的idbr加入到Vbr中。当缺陷报 告BR中所有的缺陷报告都遍历完后,得到重复关系网络Gbr。
(2)建立一个空字典来存储缺陷报告组Groupbug(master,duplicates),然 后识别重复关系网络Gbr中所有的弱连通子图SubGraphs。对于每一个弱连通 子图如果该子图只有一个节点,则该缺陷报告不是重复缺 陷报告,并且该缺陷报告自身组成了一个缺陷报告组,即将该缺陷报告的idbr记录在主缺陷报告master中,而将Groupbug[master]设为空。如果弱连通 子图有超过一个节点,那么存在两种情况:不存在回环或者存在回环。 对于不存在回环的情况,将节点出度为0的缺陷报告idbr作为主缺陷报告 master。如果子图存在回环,则将回环节点中最早提交的缺陷报告idbr作为主缺陷报告master。在这两种情况下,与主缺陷报告master属于相同缺 陷报告组的其他缺陷报告Groupbug[master]均为子图Vsub除去master后 的节点集合Vsub-{idbr}。
缺陷报告组的识别算法伪代码如下:
结果:缺陷报告组Groupbug(master,duplicates
步骤5:重复和非重复缺陷报告对生成,从步骤4中识别的缺陷报告组中生 成重复和非重复缺陷报告对数据,并将数据划分成训练、验证和测试数据。
重复和非重复缺陷报告对的生成方法是:对于重复缺陷报告对,将每个缺陷 报告组中的缺陷报告两两组合作为重复缺陷报告对;对于非重复缺陷报告对,将 每个缺陷报告组的主缺陷报告两两组合作为非重复缺陷报告对。从所有重复和非 重复缺陷报告对中分别随机且不重复地选择一定比值的缺陷报告对作为重复和 非重复缺陷报告对数据。可将重复缺陷报告对与非重复缺陷报告对的数量比值设 定为1:1。将训练、验证和测试数据占所有数据的比例分别为0.64、0.16和0.2。
步骤6:重复缺陷报告检测模型建立,将步骤2、步骤3中的得到的异质属 性节点向量和文本单词向量分别用于表示缺陷报告的结构化特征和非结构化特 征,用于构建重复缺陷报告检测模型。
重复缺陷报告检测模型的构建方法是:缺陷报告的结构化特征使用多层感知 器网络进行嵌入、缺陷报告的非结构化特征使用循环神经网络进行嵌入;嵌入后 的结构化特征和非结构化特征使用多层感知器网络进行融合,用于表示缺陷报告 的向量;模型输出缺陷报告对的相似度。
对于结构化特征,本发明将BID、PRO、COM、VER、SEV和PRI六类结 构化特征映射到有HIN2Vec方法学习得到的d1维向量其中i分别 为BID、PRO、COM、VER、SEV和PRI。然后将者六个特征向量连接为一个 完整的结构化向量,表示为H=[hBID,hPRO,hCOM,hVER,hSEV,hPRI],由 于H没有严格的顺序要求,它简单地由一个多层感知器进行嵌入,表示为 MLPS:
h=tanh(WHH)
对于非结构化特征,缺陷报告的文本信息使用循环神经网络(RNN)来进行 序列嵌入。给定缺陷报告的标题其中xi是一个长度为 NT橘子的单词token。本发明使用RNN嵌入每个单词token(表示为RNNNS):
其中,是由Word2Vec从缺陷报告文本学习得到的单词的嵌入向量,是i时刻的隐含状态(n是RNNNS中隐含的单元数量), 是两个向量的连接运算,是RNNNS中可训练的参数矩 阵,tanh是激活函数。非结构化特征最终嵌入为n维向量
最后,本发明使用一个多层感知器(表示为MLPF)将结构化特征h和非 结构化特征t融合为一个向量:
b=tanh(WB[h,t])
当得到缺陷报告的向量表示后,本发明设计相似度模块对两个缺陷报告之间 的相似度进行测量,使用曼哈顿距离作为相似度测量方法:
S(b1,b2)=exp(-||b1-b2||1),S∈[0,1]
其中,b1和b2分别表示两个缺陷报告的向量,而exp(·)用于在0和1 之间标准化曼哈顿距离。
步骤7:重复缺陷报告检测模型训练,使用步骤5中得到的训练和验证数据 对步骤7建立的重复缺陷报告检测模型进行训练。
重复缺陷报告检测模型的训练过程是:得到模型输出的缺陷报告对相似度结 果后,将相似度结果与缺陷报告对标签输入至损失函数,得到损失函数值,判断 该损失函数的值是否小于设定的阈值。若否,则根据损失函数的值调整检测模型 的训练参数,并再次用训练和验证数据对检测模型进行训练,直至模型输出的相 似度结果与缺陷报告对标签的损失值小于设定的阈值为止,并将最后的检测模型 作为最终的重复缺陷报告检测模型。
通过构建缺陷报告对实例<B1,B2>来训练重复缺陷报告检测模型。如果缺陷 报告B1和缺陷报告B2互为重复报告,那么该实例的标签y为1;否则,为 0。在模型训练过程中,将重复缺陷报告检测模型输出的相似度作为预测标签以 及缺陷报告对实例标签作为真值输入到二元交叉熵损失函数:
其中,θ表示模型参数,y表示实例真值标签,表示预测的标签(即曼 哈顿距离相似度)。此外,模型使用Adadelta方法和梯度限幅进行参数优化。 当损失函数的值小于设定的阈值,例如阈值设置成0.1时,模型训练停止。
步骤8:重复缺陷报告检测,使用步骤7中训练得到的重复缺陷报告检测模 型对测试数据进行自动检测,得到重复缺陷报告的检测结果。
以上内容对本发明所述基于异质信息网络的重复缺陷报告检测方法进 行了详细的说明,但显然本发明的具体实现形式并不局限于此。对于本技术 领域的一般技术人员来说,在不背离本发明的精神和权利要求范围的情况下 对它进行的各种显而易见的改变都在本发明的保护范围之内。
Claims (6)
1.一种基于异质信息网络的重复缺陷报告检测方法,其特征在于,包括以下步骤:
(1)从缺陷报告文件中提取结构化的异质属性当作节点,根据异质属性节点之间的关系构建缺陷报告异质信息网络;
(2)对建立的缺陷报告异质信息网络进行网络表示学习,得到每个属性节点的向量表示;
(3)从缺陷报告文件中提取文本信息并进行预处理,然后使用大量的无标签的缺陷报告文本信息训练缺陷报告文本语义模型,得到缺陷报告文本中每个单词的向量表示;
(4)从缺陷仓库中识别缺陷报告组,同一个缺陷报告组中的缺陷报告描述相同的失效现象;
(5)从步骤(4)中识别的缺陷报告组中生成重复和非重复缺陷报告对数据;并将该数据划分成训练、验证和测试数据;
(6)将步骤(2)、(3)中的得到的异质属性节点向量和文本单词向量分别用于表示缺陷报告的结构化特征和非结构化特征,用于构建重复缺陷报告检测模型;
(7)使用步骤(5)中得到的训练和验证数据对步骤(6)建立的重复缺陷报告检测模型进行训练;
(8)使用步骤(7)中训练得到的重复缺陷报告检测模型对测试数据进行自动检测,得到重复缺陷报告的检测结果。
2.根据权利要求1所述的一种基于异质信息网络的重复缺陷报告检测方法,其特征在于,所述步骤(1)包括以下步骤:
(11)从缺陷报告文件中提取六类异质属性当作节点,即缺陷报告标识号BID、产品PRO、组件COM、版本VER、严重性SEV和修复优先级PRI;
(12)将六类属性节点建立连边:
3.根据权利要求1所述的一种基于异质信息网络的重复缺陷报告检测方法,其特征在于,步骤(3)中所述的预处理包括单词分割、停用词删除和单词标准化。
4.根据权利要求1所述的一种基于异质信息网络的重复缺陷报告检测方法,其特征在于,所述步骤(4)包括以下步骤:
(41)给定一个项目的所有缺陷报告BR,生成一个重复关系网络Gbr(Vbr,Ebr),对于每一个缺陷报告br,分别在idbr和resolutionbr中记录它的标识号ID和解决状态;如果它的解决状态为“重复”,那么将该缺陷报告中记录的dup_id,即该缺陷报告所重复的缺陷报告的标识号,提取出来并记录到idsdup;然后将一条边(idbr,iddup)加入到Ebr中;一个重复缺陷报告可能记录了超过一个的dup_id或者没有记录dup_id,如果没有记录dup_id,该缺陷报告将从数据集中丢弃;如果缺陷报告的解决状态不是“重复”,那么将该缺陷报告的idbr加入到Vbr中;当缺陷报告BR中所有的缺陷报告都遍历完后,得到重复关系网络Gbr;
(42)建立一个空字典来存储缺陷报告组Groupbug(master,duplicates),然后识别重复关系网络Gbr中所有的弱连通子图SubGraphs;对于每一个弱连通子图如果该子图只有一个节点,则该缺陷报告不是重复缺陷报告,并且该缺陷报告自身组成了一个缺陷报告组,即将该缺陷报告的idbr记录在主缺陷报告master中,而将Groupbug[master]设为空,如果弱连通子图有超过一个节点,那么存在两种情况:不存在回环或者存在回环,对于不存在回环的情况,将节点出度为0的缺陷报告idbr作为主缺陷报告master;如果子图存在回环,则将回环节点中最早提交的缺陷报告idbr作为主缺陷报告master;不存在回环或者存在回环,与主缺陷报告master属于相同缺陷报告组的其他缺陷报告Groupbug[master]均为子图Vsub除去master后的节点集合Vsub-{idbr}。
5.根据权利要求1所述的一种基于异质信息网络的重复缺陷报告检测方法,其特征在于,所述步骤(6)包括以下步骤:
(61)将缺陷报告的结构化特征使用多层感知器网络进行嵌入;
(62)将缺陷报告的非结构化特征使用循环神经网络进行嵌入;
(63)嵌入后的结构化特征和非结构化特征使用多层感知器网络进行融合,用于表示缺陷报告的向量;
(64)模型输出缺陷报告对的相似度。
6.根据权利要求1所述的一种基于异质信息网络的重复缺陷报告检测方法,其特征在于,所述步骤(7)的实现过程如下:
得到模型输出的缺陷报告对相似度结果后,将相似度结果与缺陷报告对标签输入至损失函数,得到损失函数值,判断该损失函数的值是否小于设定的阈值;若否,则根据损失函数的值调整检测模型的训练参数,并再次用训练和验证数据对检测模型进行训练,直至模型输出的相似度结果与缺陷报告对标签的损失值小于设定的阈值为止,并将最后的检测模型作为最终的重复缺陷报告检测模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010413134.1A CN111737107B (zh) | 2020-05-15 | 2020-05-15 | 一种基于异质信息网络的重复缺陷报告检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010413134.1A CN111737107B (zh) | 2020-05-15 | 2020-05-15 | 一种基于异质信息网络的重复缺陷报告检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737107A true CN111737107A (zh) | 2020-10-02 |
CN111737107B CN111737107B (zh) | 2021-10-26 |
Family
ID=72647209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010413134.1A Active CN111737107B (zh) | 2020-05-15 | 2020-05-15 | 一种基于异质信息网络的重复缺陷报告检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737107B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095892A (zh) * | 2021-11-17 | 2022-02-25 | 东南大学 | 一种解决大规模信号异质性的室内人员状态检测的方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231614A (zh) * | 2008-02-02 | 2008-07-30 | 南京大学 | 一种基于执行轨迹块相似度的软件缺陷定位方法 |
CN101866316A (zh) * | 2010-06-23 | 2010-10-20 | 南京大学 | 一种基于相对冗余测试集约简的软件缺陷定位方法 |
US20140068567A1 (en) * | 2012-09-05 | 2014-03-06 | Microsoft Corporation | Determining relevant events in source code analysis |
CN103970666A (zh) * | 2014-05-29 | 2014-08-06 | 重庆大学 | 一种软件重复缺陷报告检测的方法 |
CN105512299A (zh) * | 2015-12-10 | 2016-04-20 | 广东蓄能发电有限公司 | 一种重复缺陷综合查找方法 |
CN105975392A (zh) * | 2016-04-29 | 2016-09-28 | 国家计算机网络与信息安全管理中心 | 一种基于抽象语法树的重复代码检测方法及装置 |
US20160292062A1 (en) * | 2015-03-30 | 2016-10-06 | Infosys Limited | System and method for detection of duplicate bug reports |
CN106250311A (zh) * | 2016-07-27 | 2016-12-21 | 成都启力慧源科技有限公司 | 基于lda模型的重复缺陷报告检测方法 |
US20180173495A1 (en) * | 2016-12-19 | 2018-06-21 | Accenture Global Solutions Limited | Duplicate and similar bug report detection and retrieval using neural networks |
US10379999B2 (en) * | 2016-01-11 | 2019-08-13 | Oracle International Corporation | Duplicate bug report detection using machine learning algorithms and automated feedback incorporation |
CN110188047A (zh) * | 2019-06-20 | 2019-08-30 | 重庆大学 | 一种基于双通道卷积神经网络的重复缺陷报告检测方法 |
CN110637356A (zh) * | 2017-05-15 | 2019-12-31 | 科磊股份有限公司 | 用于重复缺陷分析的相对缺陷位置的高精准度 |
-
2020
- 2020-05-15 CN CN202010413134.1A patent/CN111737107B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231614A (zh) * | 2008-02-02 | 2008-07-30 | 南京大学 | 一种基于执行轨迹块相似度的软件缺陷定位方法 |
CN101866316A (zh) * | 2010-06-23 | 2010-10-20 | 南京大学 | 一种基于相对冗余测试集约简的软件缺陷定位方法 |
US20140068567A1 (en) * | 2012-09-05 | 2014-03-06 | Microsoft Corporation | Determining relevant events in source code analysis |
CN103970666A (zh) * | 2014-05-29 | 2014-08-06 | 重庆大学 | 一种软件重复缺陷报告检测的方法 |
US20160292062A1 (en) * | 2015-03-30 | 2016-10-06 | Infosys Limited | System and method for detection of duplicate bug reports |
CN105512299A (zh) * | 2015-12-10 | 2016-04-20 | 广东蓄能发电有限公司 | 一种重复缺陷综合查找方法 |
US10379999B2 (en) * | 2016-01-11 | 2019-08-13 | Oracle International Corporation | Duplicate bug report detection using machine learning algorithms and automated feedback incorporation |
CN105975392A (zh) * | 2016-04-29 | 2016-09-28 | 国家计算机网络与信息安全管理中心 | 一种基于抽象语法树的重复代码检测方法及装置 |
CN106250311A (zh) * | 2016-07-27 | 2016-12-21 | 成都启力慧源科技有限公司 | 基于lda模型的重复缺陷报告检测方法 |
US20180173495A1 (en) * | 2016-12-19 | 2018-06-21 | Accenture Global Solutions Limited | Duplicate and similar bug report detection and retrieval using neural networks |
CN110637356A (zh) * | 2017-05-15 | 2019-12-31 | 科磊股份有限公司 | 用于重复缺陷分析的相对缺陷位置的高精准度 |
CN110188047A (zh) * | 2019-06-20 | 2019-08-30 | 重庆大学 | 一种基于双通道卷积神经网络的重复缺陷报告检测方法 |
Non-Patent Citations (6)
Title |
---|
ANH TUAN NGUYEN: "Duplicate bug report detection with a combination of information retrieval and topic modeling", 《2012 PROCEEDINGS OF THE 27TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING》 * |
KARAN AGGARWAL: "Detecting duplicate bug reports with software engineering domain knowledge", 《2015 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER)》 * |
M. S. RAKHA: "Studying the needed effort for identifying duplicate issues", 《EMPIRICAL SOFTWARE ENGINEERING》 * |
WEN ZHANG; SONG WANG; YE YANG; QING WANG: "Heterogeneous Network Analysis of Developer Contribution in Bug Repositories", 《2013 INTERNATIONAL CONFERENCE ON CLOUD AND SERVICE COMPUTING》 * |
胡嘉伟: "异质信息网络相似性度量的并行化算法研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
董美含: "基于缺陷报告和源代码的相似缺陷识别方法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095892A (zh) * | 2021-11-17 | 2022-02-25 | 东南大学 | 一种解决大规模信号异质性的室内人员状态检测的方法 |
CN114095892B (zh) * | 2021-11-17 | 2024-03-05 | 东南大学 | 一种解决大规模信号异质性的室内人员状态检测的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111737107B (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jung | Semantic vector learning for natural language understanding | |
US20140351176A1 (en) | Active learning on statistical server name extraction from information technology (it) service tickets | |
Visengeriyeva et al. | Metadata-driven error detection | |
Panthaplackel et al. | Deep just-in-time inconsistency detection between comments and source code | |
CN113191148B (zh) | 一种基于半监督学习和聚类的轨道交通实体识别方法 | |
Yang et al. | Scene graph reasoning with prior visual relationship for visual question answering | |
CN111427775B (zh) | 一种基于Bert模型的方法层次缺陷定位方法 | |
CN110322206A (zh) | 一种基于ocr识别的试剂信息录入方法及装置 | |
Shah et al. | Towards benchmarking feature type inference for automl platforms | |
Zhang et al. | Software defect prediction via transformer | |
Liao et al. | Doctr: Document transformer for structured information extraction in documents | |
CN111930597A (zh) | 基于迁移学习的日志异常检测方法 | |
CN111737107B (zh) | 一种基于异质信息网络的重复缺陷报告检测方法 | |
CN117688488A (zh) | 一种基于语义向量化表示的日志异常检测方法 | |
CN117271701A (zh) | 一种基于tggat和cnn的系统运行异常事件关系抽取方法及系统 | |
CN115982037A (zh) | 一种基于抽象语法树的软件缺陷预测方法 | |
CN115098389B (zh) | 一种基于依赖模型的rest接口测试用例生成方法 | |
CN115827871A (zh) | 互联网企业分类的方法、装置和系统 | |
Higazy et al. | Web-based Arabic/English duplicate record detection with nested blocking technique | |
CN114357175A (zh) | 一种基于语义网络的数据挖掘系统 | |
Paganelli et al. | Evaluating the integration of datasets | |
Chen | Identification of Grammatical Errors of English Language Based on Intelligent Translational Model | |
CN114254107B (zh) | 一种事件抽取系统及方法 | |
CN110457543A (zh) | 一种基于端到端多视角匹配的实体消解方法和系统 | |
Wang et al. | FastTransLog: A Log-based Anomaly Detection Method based on Fastformer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |