CN117668536A - 一种基于超图注意力网络的软件缺陷报告优先级预测方法 - Google Patents
一种基于超图注意力网络的软件缺陷报告优先级预测方法 Download PDFInfo
- Publication number
- CN117668536A CN117668536A CN202311524696.3A CN202311524696A CN117668536A CN 117668536 A CN117668536 A CN 117668536A CN 202311524696 A CN202311524696 A CN 202311524696A CN 117668536 A CN117668536 A CN 117668536A
- Authority
- CN
- China
- Prior art keywords
- hypergraph
- defect report
- document
- superside
- component
- 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.)
- Pending
Links
- 230000007547 defect Effects 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000008451 emotion Effects 0.000 claims abstract description 42
- 238000012549 training Methods 0.000 claims abstract description 11
- 238000007781 pre-processing Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 30
- 230000002776 aggregation Effects 0.000 claims description 28
- 238000004220 aggregation Methods 0.000 claims description 28
- 230000004913 activation Effects 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000011176 pooling Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 3
- 238000002474 experimental method Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000002679 ablation Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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/042—Knowledge-based neural networks; Logical representations of neural 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于超图注意力网络的软件缺陷报告优先级预测方法,包括以下步骤:步骤1、获取缺陷报告公开数据集及数据预处理;步骤2、构建缺陷报告文档超图;步骤3、采用超图注意力网络提取缺陷报告文档的超图特征;步骤4、采用Bi‑GRU提取缺陷报告文档的初始上下文语义信息,并与文档的超图特征融和;步骤5、在训练过程中,构建一个用于多分类的Focal Loss损失函数(MFL)来解决优先级预测中的数据不平衡问题。该方法结合了缺陷报告文本的文本特征、情感特征、时序特征、组件特征,实现高效、准确的软件缺陷报告优先级预测。
Description
技术领域
本发明涉及软件测试技术领域,具体指一种基于超图注意力网络的软件缺陷报告优先级预测方法。
背景技术
由于软件系统的复杂性和软件测试不足,发布后的许多软件系统经常会出现缺陷。为了及时修复这些缺陷并更新软件版本,开发人员需要获取用户对缺陷的相关描述信息。为此,软件发布者允许用户使用Bugzilla、Jira等缺陷追踪系统提交缺陷报告。尽管缺陷报告在软件维护中提高了软件质量,但是随着时间的推移,某些情况下,缺陷报告的数量可能呈指数型增长。当缺陷报告数量过多时,应当优先处理优先级较高的缺陷。因此,大多数缺陷追踪系统为缺陷报告提供了一个优先级字段,供用户选择或指定。优先级是根据缺陷的重要性和严重性进行分配的。用户可以根据缺陷的紧急程度、影响范围和重要性等因素来选择适当的优先级。然而,由于用户的背景知识不同,用户提交的缺陷报告优先级可能并不正确。缺陷报告优先级的错误分配可能会导致缺陷的延迟解决。因此,优先级往往由开发人员手动调整或分配,这是非常耗时的。
为了解决这个问题,研究者们提出了许多自动化的优先级预测方法,包括使用卷积神经网络、长短期记忆网络及图神经网络等方法进行缺陷报告优先级别预测。然而,这些方法在实现自动化优先级预测的同时仍然存在一些问题。卷积神经网络能够自动捕获缺陷报告文本的关键语义信息,无需手动提取特征,但它不能有效解决数据不平衡问题。长短期记忆网络可以捕获缺陷报告文档的时序特征,但是当文本过长时会出现梯度消失和梯度爆炸等问题。普通的图神经网络可以充分利用整个语料库的文本信息,但同时也带来一些问题。首先,构建全局图会消耗大量内存,这在大规模语料库上可能会导致计算和存储的困难。其次,在训练期间可以访问到测试数据,这可能引起数据泄露问题,从而降低方法的泛化能力。
因此,为了进一步改进这些方法,需要解决数据不平衡问题,并提高方法对文本之间高阶联系的建模能力。此外,在方法设计时需要避免数据泄露问题。
发明内容
本发明针对现有技术的不足,提出了一种基于超图注意力网络的软件缺陷报告优先级预测方法,结合了缺陷报告文本的文本特征、情感特征、时序特征、组件特征,实现高效、准确的软件缺陷报告优先级预测。主要贡献如下:提供了一种构建文本超图的方法,通过构建时序超边、情感超边、组件超边建立缺陷报告文本词之间的高阶联系。提供了一种基于超图注意力网络和Bi-GRU的特征提取方法,通过Bi-GRU保留文本的初始上下文语义信息,通过超图注意力网络提取缺陷报告文本之间的高阶交互关系。提供了一种用于多分类的Focal Loss损失函数(Multi-class Focal Loss,MFL),MFL不仅可以解决类别不平衡问题,还可以解决难易样本不平衡问题,提高了缺陷报告优先级预测的准确率。
了解决上述技术问题,本发明的技术方案为:
一种基于超图注意力网络的软件缺陷报告优先级预测方法,其特征在于,该方法具体包括以下步骤:
步骤1、获取缺陷报告公开数据集及数据预处理;
步骤2、构建缺陷报告文档超图
步骤2-1、通过句子分割构建时序超边
采用句子划分工具对缺陷报告文档进行分句,将每个句子视为一个时序超边,并通过时序超边将句子中的所有单词连接起来。时序超边不仅可以获取文档的时序信息,还能捕捉到文档中的句子结构信息;
步骤2-2、通过情感分析构建情感超边
采用预训练模型来获取缺陷报告文档单词的情感得分,并通过判断情感得分是否超过某个阈值,来建立单词之间的连接,从而构建了情感超边,进而获取缺陷报告文本的情感信息;
步骤2-3、通过组件分析构建组件超边
采用关键词匹配提取出与组件相关的关键词,这些关键词可以是组件名称、组件功能描述或与组件直接相关的术语。然后,在这些关键词之间建立连接,形成组件超边。通过构建组件超边,可以获得缺陷报告文本中涉及的组件信息
步骤2-2、通过情感分析构建情感超边
采用Transformer情感分析预训练模型来获取缺陷报告文档单词的情感得分,并通过判断情感得分是否超过某个阈值,来建立单词之间的连接,从而构建了情感超边,进而获取缺陷报告文本的情感信息;
步骤2-3、通过组件分析构建组件超边
采用关键词匹配提取出与组件相关的关键词,这些关键词可以是组件名称、组件功能描述或与组件直接相关的术语。然后,在这些关键词之间建立连接,形成组件超边。通过构建组件超边,可以获得缺陷报告文本中涉及的组件信息;
步骤2-4、将时序超边、情感超边和组件超边进行注意力计算,使得相关联的节点进行特征交互,从而得到包含时序、情感和组件的文档超图;
上述技术方案中,超图包括节点和边,节点为单词,最初,单词节点之间是没有联系的,就对应若干个点。通过构建超边建立单词之间的联系,最终就形成了超图。总之,本专利通过超边构建单词之间的联系,后续进行注意力计算时,只有相关联的节点才会进行特征交互。通过构建不同的边,可以加强不同类型单词之间的特征交互,进而获取文本的高阶特征,包括时序、情感、组件。
步骤3、采用超图注意力网络提取缺陷报告文档的超图特征
步骤3-1、采用节点聚合学习图中超边的特征表示
采用节点聚合得到图中超边的特征表示,由于每个节点对超边的贡献不同,因此采用注意力机制进行节点聚合;
步骤3-2、采用超边聚合学习图中节点的特征表示
经过节点聚合学习到超边的特征表示后,接下来采用超边聚合来学习节点的特征表示。由于与节点相连的超边对该节点特征的贡献并不相等,因此采用注意机制进行节点聚合;
步骤3-3、采用平均池化获取缺陷报告文档超图的特征表示
经过节点聚合和超边聚合后,图中所有节点已经获取到了时序、情感、组件等信息,通过对所有图节点进行平均池化获取文档超图的图特征表示;
步骤4、采用Bi-GRU提取缺陷报告文档的初始上下文语义信息,并与文档的超图特征融和;
步骤5、在训练过程中,构建一个用于多分类的Focal Loss损失函数(MFL)来解决优先级预测中的数据不平衡问题。
作为优选,所述的获取缺陷报告数据集,具体为:通过相关研究论文中给出的数据仓库地址,获取用于缺陷报告优先级预测研究的数据集。
作为优选,所述的步骤3-1中节点聚合,计算公式如下:
其中,σ表示激活函数,vk表示图节点,ej表示图超边,αkj表示注意力得分,表示超边ej在图中第1层的特征表示,W1表示权重系数,/>表示节点vk在图中第l-1层的特征表示,/>表示用于计算注意力得分的权重向量,LeakyReLU表示激活函数。
作为优选,所述的步骤3-2中超边聚合,计算公式如下:
其中,σ表示激活函数,表示节点vi在图中第1层的特征表示,Ei为与vi连接的所有超边集合,/>表示超边ej在图中第1层的特征表示,W2表示权值矩阵,βji表示注意力得分,表示用于计算注意力得分的权重向量,||表示拼接操作,LeakyReLU表示激活函数。
作为优选,所述的步骤5中的多分类Focal Loss损失函数,具体表现为该损失函数通过降低易分样本的权重,聚焦于难分样本的分类,从而改善了神经网络在样本数量不平衡和难易样本不平衡方面的性能。具体公式如下:
其中,yi为样本标签,θi为标签yi的权重系数,Ni为样本总数。θ是表示各类标签权重系数的列表,是样本被预测为各类优先级标签的概率分布,γ是用于难易样本的权重系数。
本发明具有以下的特点和有益效果:
(1)提出的文本超图构建方法构建了时序超边、情感超边、组件超边,三种超边可以建立缺陷报告文本词之间的高阶联系。
(2)提出的基于超图注意力网络和Bi-GRU的特征提取方法不仅可以提取缺陷报告文本之间的高阶交互关系,还可以获取文档的时序、情感、组件等信息。注意力机制可以帮助方法更好地关注输入数据的重要部分,同时Bi-GRU保留了文本的初始上下文语义信息。
(3)提出的用于多分类的Focal Loss损失函数不仅可以解决类别不平衡问题,还可以解决难易样本不平衡问题,提高了缺陷报告优先级预测的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为基于超图注意力网络的软件缺陷报告优先级预测模型图。
图2为Eclipse项目中ID为1681的缺陷报告示意图。
图3为多分类Focal Loss损失函数的消融实验结果图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
本发明提供了一种基于超图注意力网络的软件缺陷报告优先级预测方法。整体流程如附图1所示,主要由以下基本部分组成:数据预处理、超图构建、超图注意力网络和输出层。
实施例
具体的,本发明包含以下几个步骤:
步骤1、获取缺陷报告分配相关研究的公开数据集,并划分为训练集及测试集。
本实施例中,通过相关研究论文中的数据仓库地址获取缺陷报告公开数据集,图2是Eclipse项目中ID为1681的缺陷报告示意图。其中,一份完整的缺陷报告包含以下主要内容:摘要、详细描述、严重性、所属产品、组件、评论、缺陷报告的修复者以及提交者、缺陷报告的提交时间与修复时间,其中摘要是缺陷的简要描述,详细描述部分是缺陷报告的提交者对缺陷的具体描述。本发明考虑了缺陷报告的五个元素信息,包括严重性、所属产品、组件、描述和摘要部分合并为缺陷报告文本数据。预处理包括分句、分词、稀疏词去除和停止词去除等操作,以减少内存消耗并提高方法的性能。
步骤2、构建缺陷报告文档超图。
步骤2-1:通过NLTK库中的sent_tokenize函数将缺陷报告文档按照句子进行切分。将每个句子视为一个时序超边,并通过时序超边将句子中的所有单词连接起来。
步骤2-2:采用Transformer情感分析预训练模型来获取缺陷报告文档单词的情感得分,并通过判断情感得分是否超过某个阈值,来建立单词之间的连接,从而构建了情感超边,进而获取缺陷报告文本的情感信息。
可以理解的,情感分析模型是transformer,类似于一个工具,可以直接用来获取文本的情感得分。
需要说明的是,本实施例中阈值时通过不断的实验确定的,最终本实施例中阈值的设定为0.9。
进一步的,情感信息获取的方法为:在单词之间建立了情感超边后,会对图进行注意力计算,这些有联系的节点会进行特征交换,又由于这些单词节点都是情感信息比较突出的单词,进而可以直接获取情感信息。
步骤2-3:提取数据集中所有与组件相关的关键词,这些关键词可以是组件名称、组件功能描述或与组件直接相关的术语。在构建超图时采用关键词匹配提取出文档中与组件相关的关键词,然后,在这些关键词之间建立连接,形成组件超边。通过构建组件超边,可以获得缺陷报告文本中涉及的组件信息。
可以理解的,数据集涉及的组件词是在对应官网获取的,最后保留在了本地文件。组件信息会影响缺陷报告优先级预测的精度。由于文本中会涉及一些组件相关的关键词,所以将这些关键词建立连接,构造组件超边。通过组件超边加强关键词之间的特征交换,可以获取组件信息。
本实施例中,可直接在官网获取eclipse项目的组件关键词。
在处理数据集文本时,提取出涉及到的关键词,然后在这些所有的组件单词之间建立一条组件超边。可理解的,数学上是通过邻接矩阵表示的。
步骤3、采用对比学习的方式训练缺陷报告分配模型。
步骤3-1:采用节点聚合得到图中超边的特征表示,由于每个节点对超边的贡献不同,因此采用注意力机制进行节点聚合。节点聚合计算公式如下:
其中,σ表示激活函数,vk表示图节点,ej表示图超边,αkj表示注意力得分,表示超边ej在图中第1层的特征表示,W1表示权重系数,/>表示节点vk在图中第l-1层的特征表示,/>表示用于计算注意力得分的权重向量,LeakyReLU表示激活函数。
步骤3-2:经过节点聚合学习到超边的特征表示后,接下来采用超边聚合来学习节点的特征表示。由于与节点相连的超边对该节点特征的贡献并不相等,因此采用注意机制进行节点聚合。超边聚合计算公式如下:
其中,σ表示激活函数,表示节点vi在图中第1层的特征表示,Ei为与vi连接的所有超边集合,/>表示超边ej在图中第1层的特征表示,W2表示权值矩阵,βji表示注意力得分,表示用于计算注意力得分的权重向量,||表示拼接操作,LeakyReLU表示激活函数。
步骤3-3:经过节点聚合和超边聚合后,图中所有节点已经获取到了时序、情感、组件等信息,通过对所有图节点进行平均池化获取文档超图的图特征表示。
步骤4、采用Bi-GRU提取缺陷报告文档的初始上下文语义信息,并与文档的超图特征融和。
步骤5、在训练过程中,构建一个用于多分类的Focal Loss损失函数(MFL)来解决优先级预测中的数据不平衡问题。
多分类Focal Loss损失函数,具体表现为该损失函数通过降低易分样本的权重,聚焦于难分样本的分类,从而改善了神经网络在缺陷报告优先级样本数量不平衡和难易样本不平衡方面的性能。具体公式如下:
其中,yi为样本标签,θi为标签yi的权重系数,Ni为样本总数。θ是表示各类标签权重系数的列表,是样本被预测为各类优先级标签的概率分布,γ是用于难易样本的权重系数。
进一步的,为了验证多分类Focal Loss损失函数(MFL)的有效性,本实施例设计了消融实验,具体分为两组:第一组使用MFL,表示为w MFL,第二组使用交叉熵损失函数替代MFL,表示为w/o MFL。在保证其他参数和模块不变的前提下,对本方法进行训练和测试,并得到缺陷报告优先级预测结果,实验结果如图3所示。由于数据不平衡问题应该更加关注方法的F1值性能,根据图3实验结果可以得出结论,基于MFL的数据不平衡解决策略是可行且有效的,能够一定程度上提高缺陷报告优先级预测性能。
基于上述实施例,给出以下对比例:
本对比例中,给出了本实施例与PPWGCN,DRONE和cPur等基线方法的相比。
表1 Mozilla数据集对比实验结果
表2Eclipse数据集对比实验结果
表3Netbeans数据集对比实验结果
表4 GCC数据集对比实验结果
表1、2、3和4展示了本方法与基线方法在Mozilla、Eclipse、Netbeans和GCC等四个数据集上的对比实验结果。
其中P1-P5为缺陷报告优先级,WAvg表示加权平均值,其中权重是通过每个优先级标签的数量除以优先级标签的总数计算得来,评估指标精确率(Precision)、召回率(Recall)和F1值。根据表格数据可以发现,本实施例与PPWGCN,DRONE和cPur等基线方法的相比,本实施例在加权平均F1值、精确率和召回率等指标上都取得了显著的提升。这表明本实施例在缺陷报告优先级预测任务中展现出更好的性能和潜力,可以帮助提高软件缺陷处理的效率和质量。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式包括部件进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
Claims (8)
1.一种基于超图注意力网络的软件缺陷报告优先级预测方法,其特征在于,包括如下步骤:
步骤1、获取缺陷报告公开数据集并进行预处理;
步骤2、构建缺陷报告的文档超图
步骤2-1、采用句子划分工具对缺陷报告文档进行分句,将每个句子视为一个时序超边,并通过时序超边将句子中的所有单词连接起来;
步骤2-2、采用Transformer情感分析预训练模型来获取缺陷报告文档中单词的情感得分,设定阈值,并通过判断情感得分是否超过阈值,来建立单词之间的连接,从而构建了情感超边,进而获取缺陷报告文本的情感信息;
步骤2-3、采用关键词匹配提取出组件的关键词,所述关键词包括组件名称、组件功能描述和组件直接相关的术语,在提取的关键词之间建立连接,形成组件超边,通过构建组件超边获得缺陷报告文本中涉及的组件信息;
步骤2-4、将时序超边、情感超边和组件超边进行注意力计算,使得相关联的节点进行特征交互,从而得到包含时序、情感和组件的文档超图;
步骤3、采用超图注意力网络提取缺陷报告文档的超图特征
步骤3-1、采用节点聚合的方法学习文档超图中超边的特征表示;
步骤3-2、经过节点聚合学习到超边的特征表示后,接下来采用超边聚合来学习节点的特征表示;
步骤3-3、经过节点聚合和超边聚合后,文档超图中所有节点包含时序信息、情感信息和组件信息,通过对所有节点进行平均池化获取文档超图的图特征表示,即超图特征;
步骤4、采用Bi-GRU提取缺陷报告文档的初始上下文语义信息,并与文档的超图特征融和;
步骤5、构建一个用于训练的Focal Loss损失函数。
2.根据权利要求1所述的一种基于超图注意力网络的软件缺陷报告优先级预测方法,其特征在于,所述步骤3-1中,采用注意力机制进行节点聚合。
3.根据权利要求1所述的一种基于超图注意力网络的软件缺陷报告优先级预测方法,其特征在于,所述步骤3-2中,采用注意力机制进行超边聚合。
4.根据权利要求1或2所述的一种基于超图注意力网络的软件缺陷报告优先级预测方法,其特征在于,所述节点聚合的方法为:
其中,σ表示激活函数,vk表示文档超图的节点,ej表示文档超图的超边,αkj表示注意力得分,表示超边ej在图中第l层的特征表示,W1表示权重系数,/>表示节点vk在图中第l-1层的特征表示,/>表示用于计算注意力得分的权重向量,LeakyReLU表示激活函数。
5.根据权利要求1或3所述的一种基于超图注意力网络的软件缺陷报告优先级预测方法,其特征在于,所述超边聚合的方法为:
其中,σ表示激活函数,表示节点vi在图中第l层的特征表示,Ei为与vi连接的所有超边集合,/>表示超边ej在图中第l层的特征表示,W2表示权值矩阵,βji表示注意力得分,/>表示用于计算注意力得分的权重向量,||表示拼接操作,LeakyReLU表示激活函数。
6.根据权利要求1所述的一种基于超图注意力网络的软件缺陷报告优先级预测方法,其特征在于,所述步骤1中,通过相关研究论文中给出的数据仓库地址,获取用于缺陷报告优先级预测研究的数据集。
7.根据权利要求1所述的一种基于超图注意力网络的软件缺陷报告优先级预测方法,其特征在于,所述步骤1中,通过数据清洗的方式进行预处理。
8.根据权利要求1所述的一种基于超图注意力网络的软件缺陷报告优先级预测方法,其特征在于,所述Focal Loss损失函数具体如下:
其中,yi为样本标签,θi为标签yi的权重系数,Ni为样本总数,θ是表示各类标签权重系数的列表,是样本被预测为各类优先级标签的概率分布,γ是用于难易样本的权重系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524696.3A CN117668536A (zh) | 2023-11-16 | 2023-11-16 | 一种基于超图注意力网络的软件缺陷报告优先级预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524696.3A CN117668536A (zh) | 2023-11-16 | 2023-11-16 | 一种基于超图注意力网络的软件缺陷报告优先级预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117668536A true CN117668536A (zh) | 2024-03-08 |
Family
ID=90085472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311524696.3A Pending CN117668536A (zh) | 2023-11-16 | 2023-11-16 | 一种基于超图注意力网络的软件缺陷报告优先级预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117668536A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118379602A (zh) * | 2024-06-25 | 2024-07-23 | 浙江大学 | 一种用语义和视觉解释增强半导体缺陷分析的方法和系统 |
-
2023
- 2023-11-16 CN CN202311524696.3A patent/CN117668536A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118379602A (zh) * | 2024-06-25 | 2024-07-23 | 浙江大学 | 一种用语义和视觉解释增强半导体缺陷分析的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073568B (zh) | 关键词提取方法和装置 | |
CN111222305B (zh) | 一种信息结构化方法和装置 | |
CN107798624B (zh) | 一种软件问答社区中的技术标签推荐方法 | |
CN109598517B (zh) | 商品通关处理、对象的处理及其类别预测方法和装置 | |
CN110188047A (zh) | 一种基于双通道卷积神经网络的重复缺陷报告检测方法 | |
WO2023035330A1 (zh) | 一种长文本事件抽取方法、装置、计算机设备及存储介质 | |
CN113742488B (zh) | 基于多任务学习的嵌入式知识图谱补全方法和装置 | |
CN111191442A (zh) | 相似问题生成方法、装置、设备及介质 | |
CN113360647B (zh) | 一种基于聚类的5g移动业务投诉溯源分析方法 | |
CN110310012B (zh) | 数据分析方法、装置、设备及计算机可读存储介质 | |
CN113449084A (zh) | 基于图卷积的关系抽取方法 | |
CN117291192B (zh) | 一种政务文本语义理解分析方法及系统 | |
CN113220900B (zh) | 实体消歧模型的建模方法和实体消歧预测方法 | |
CN111259147A (zh) | 基于自适应注意力机制的句子级情感预测方法及系统 | |
CN114722198A (zh) | 产品分类编码确定方法、系统及相关装置 | |
CN110991193A (zh) | 一种基于OpenKiWi的翻译矩阵模型选择系统 | |
CN108241650B (zh) | 训练分类标准的训练方法和装置 | |
CN116089886A (zh) | 信息处理方法、装置、设备及存储介质 | |
CN115827871A (zh) | 互联网企业分类的方法、装置和系统 | |
CN117668536A (zh) | 一种基于超图注意力网络的软件缺陷报告优先级预测方法 | |
CN113761874A (zh) | 事件事实性预测方法、装置、电子设备与存储介质 | |
CN109299442A (zh) | 汉语篇章主次关系识别方法和系统 | |
Rosander et al. | Email Classification with Machine Learning and Word Embeddings for Improved Customer Support | |
CN112560441B (zh) | 自下而上规则结合神经网络的成分句法分析树构造方法 | |
CN116244440B (zh) | 文本情感分类方法、装置、设备及介质 |
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 |