基于神经网络集成学习和语义增强特征的需求跟踪方法

万红艳 ,  李幸阜 ,  王帮超 ,  蒋涵 ,  邓洋

武汉大学学报(理学版) ›› 2024, Vol. 70 ›› Issue (3) : 317 -328.

PDF (1704KB)
武汉大学学报(理学版) ›› 2024, Vol. 70 ›› Issue (3) : 317 -328. DOI: 10.14188/j.1671-8836.2023.0206

基于神经网络集成学习和语义增强特征的需求跟踪方法

作者信息 +

A Requirements Traceability Approach Based on Neural Network Ensemble Learning and Semantic-Enhanced Features

Author information +
文章历史 +
PDF (1744K)

摘要

现有的基于机器学习的需求跟踪方法存在稳定性差的问题。为了缓解上述问题,提出了一种基于神经网络集成学习和语义增强特征的需求跟踪方法(Ensemble Learning Trace Approach, EMTrace)。该方法将需求跟踪问题转化为分类问题,集成了多个机器学习分类器进行预测,并对这些预测结果进行加权生成跟踪链接。为了自动获取各个基模型的权重,构建了一种基于神经网络的元学习器并利用每个基模型的预测结果进行训练。为了更准确地表达制品之间的跟踪链接,EMTrace方法使用多个词嵌入和句子嵌入模型提取软件制品的语义信息来增强跟踪链接特征的语义表示。实验结果表明,EMTrace方法能够有效提高需求跟踪的稳定性和性能,相比最优的基线方法,EMTrace方法在F1上提升了0.162。

Abstract

The existing machine learning-based requirements traceability approaches suffer from instability. This paper proposes an Ensemble Learning Trace Approach (EMTrace) based on neural network ensemble learning and semantic-enhanced features,to alleviate these issues. The approach transforms the requirements traceability problem into a classification task by leveraging multiple machine learning classifiers for prediction. These classifiers are integrated, and weights are assigned to their predictions to establish trace links. To automatically obtain the weights of each base model, this paper constructs a neural network-based meta-learner and trains it using the predictions of each base model. Additionally, to accurately represent the trace links between artifacts, the EMTrace approach uses multiple word embedding and sentence embedding models to extract the semantic information of software artifacts and enhance the semantic representation of trace link features. Experimental results demonstrate that the EMTrace approach effectively improves the stability and performance of requirements traceability, achieving a 0.162 improvement in F1 compared to the optimal baseline method.

Graphical abstract

关键词

需求跟踪 / 集成学习 / 语义增强特征 / 链接表示

Key words

requirements traceability / ensemble learning / semantics-enhanced features / link representation

引用本文

引用格式 ▾
万红艳,李幸阜,王帮超,蒋涵,邓洋. 基于神经网络集成学习和语义增强特征的需求跟踪方法[J]. 武汉大学学报(理学版), 2024, 70(3): 317-328 DOI:10.14188/j.1671-8836.2023.0206

登录浏览全文

4963

注册一个新账户 忘记密码

0  引 言

需求跟踪能够描述并跟踪需求的生命周期,在软件工程中发挥着重要的作用[1],例如需求验证[2]、需求复用[3]、需求变更影响分析[4]、需求重构[5]、测试用例生成[6]、代码理解[7]等。在软件开发过程中会产生许多的结构化和非结构化的文件,例如需求文档、设计文档、源代码、系统日志等,我们将这些文件称为制品。需求跟踪就是建立需求和制品之间的依赖和关联关系。需求跟踪在工业领域应用广泛,它有助于确保工程项目的顺利交付、产品的质量合规性,以及组织的持续改进。通过有效的需求跟踪实践,工业组织可以提高项目的成功率,并降低项目风险和成本。然而,建立和维护这些需求跟踪链接是一个劳动密集型且耗时的过程,大大增加了工业实践的成本。

为了提高需求跟踪的效率,研究者们提出了许多方法辅助利益相关者建立和维护需求跟踪链接。其中,基于信息检索(Information Retrieval,IR)[89]和机器学习(Machine Learning,ML)[10~12]的需求跟踪方法被广泛研究。IR技术的优势在于通过自动或半自动的方式生成跟踪链接[13],它利用制品中的词频等关键信息计算制品之间的相似度,并通过相似度进行排序和匹配,相似度越大关联性越强,说明制品之间存在跟踪链接的可能性越大。为了提高跟踪链接的准确性和完整性,基于ML的需求跟踪方法正在逐步取代这些技术[14]。越来越多的研究者们将需求跟踪问题视为分类问题[10~12],并应用ML分类器生成跟踪链接。

然而,现有的基于ML的需求跟踪方法存在稳定性差的问题。这些方法在不同场景下(如需求到代码、需求到测试用例)恢复缺失的跟踪链接时性能波动较大[15],因为不同场景下跟踪链接的特征分布并不相同,在不同的工业场景中性能不稳定就无法满足实际需求。因此,本文提出了一种基于神经网络的元学习器集成多个ML分类器,充分利用各个分类器在不同需求跟踪场景下的优势。此外,由于现有的链接表示方法没有充分挖掘制品之间的语义匹配关系[16],为了更准确表示制品之间的跟踪链接,本文利用多个词嵌入模型和句子嵌入模型挖掘制品中的不同层次的语义信息,增强了链接的语义表示。

本文将需求跟踪问题转化为分类问题,提出了基于神经网络集成学习和语义增强特征的需求跟踪方法(Ensemble Learning Trace Approach,EMTrace),能够满足工业场景的应用需求[17]。本文的主要贡献如下:

1) 提出了一种新颖的集成学习方法进行链接生成。该方法集成多个ML分类器,并构建一种基于神经网络的元学习器来进行联合预测,利用每个基模型的预测结果进行训练来自动获取各个基模型的权重。

2) 为了更准确、更全面地表示制品跟踪链接,采用多个词嵌入模型和句子嵌入提取软件制品中不同层次的语义信息,并利用获取到的制品语义向量计算需求制品与软件制品之间的语义相似度来增强制品链接的语义表示。

1  相关工作

1.1 基于信息检索的需求跟踪方法

在ML技术流行之前,IR是需求跟踪方法中应用最广泛的技术[18]。它包括了空间向量模型(Vector Space Mode,VSM)[19]、潜在语义索引模型(Latent Semantic Indexing,LSI)[20]、潜在狄利克雷分配模型(Latent Dirichletal Location,LDA)[21]等。尽管这些方法在计算文档相似度和表示方法上有所不同,但它们都无法解决制品之间术语不匹配的问题[181922]。为了改进IR模型,Settimi等[23]和Hayes等[17]引入词库处理制品中的同义词缓解术语不匹配问题;Gibiec等[24]通过扩展查询弥补软件制品之间的词汇差距;Chen等[25]将正则表达式、关键短语和聚类与IR技术相结合,以增强IR在文档和源代码之间跟踪链接恢复的性能。但是,上述方法在复杂的软件项目尤其是在工业领域的软件项目中仍需要人工干预去建立和维护制品之间的链接,并且通过设置阈值筛选跟踪链接面临假阳率过高的问题[26]

1.2 基于机器学习的需求跟踪方法

ML技术逐渐在需求跟踪领域兴起,它可以从已存在的跟踪链接中学习并挖掘信息,并利用这些信息生成新的跟踪链接。Zhao等[10]提出了一种基于词嵌入的排序学习方法,该方法使用Word2vec计算制品之间的语义相似性,利用逆文档频率(Inverse Document Frequency,IDF)对制品文本进行加权和扩展,通过Rank SVM算法筛选出候选链接。Mills等[16]将需求跟踪问题转化为分类问题,使用随机森林算法对有效链接和无效链接进行分类。陈磊等[18]提出了一种基于图挖掘扩展学习的方法(GeT2Trace),构建了制品级和项目级文本网络,通过图网络中的词共现信息和词序信息增强制品的语义信息。Guo等[27]提出了一种基于深度学习(Deep Learning,DL)的框架,利用神经语言网络模型从大型数据集中学习领域知识,并通过循环神经网络(Recurrent Neural Network,RNN)模型预测制品对之间存在有效链接的概率。然而,上述方法在不同领域的数据集上的性能波动较大。基于DL的方法还受限于数据集的规模和质量,导致这些方法稳定性较差,这在一定程度上阻碍了该方法在工业领域的应用。

为了弥补这些缺陷,本文采用集成学习的方式组合多个ML模型,构建一个基于神经网络的元学习器获取多个基模型的权重来进行联合预测。为了更准确地表示制品之间的跟踪链接,利用文本嵌入模型从不同角度提取软件制品的语义信息,以增强跟踪链接特征的语义表达,提升创建跟踪链接的准确性。

2  本文方法

EMTrace方法的整体框架如图1所示。该方法主要分为3个阶段:预处理阶段、特征生成阶段和链接生成阶段。在预处理阶段,EMTrace方法将软件制品看作文本文件,利用分词、词性标注、词干提取等自然语言处理方法对软件制品进行预处理。在特征生成阶段,生成基于IR、QQ和距离的特征,为了更全面、更准确地表示制品跟踪链接,EMTrace方法在这三种特征的基础上使用词嵌入模型和句子嵌入模型对跟踪链接的特征进行扩展以增强跟踪链接特征的语义表示。在链接生成阶段,集成9个分类器进行联合预测,利用基于神经网络的元学习器组合基模型的预测结果,提高建立跟踪链接的准确性和稳定性。

2.1 预处理阶段

在提取软件制品的文本特征之前,需要对每个软件制品进行预处理来去除噪音,提取关键信息。预处理阶段主要分为5个步骤:

1) 数据清洗:去除软件制品中的标点符号、特殊字符、空白符等非英文字母,避免这些无意义字符对于后续的文本相似度计算造成干扰。为了便于处理和分析,还要将所有大写字母转化为小写字母。

2) 词性标注:对数据进行清洗后,根据词性对制品文本中的术语进行分类。Falessi等[28]的研究结果表明仅提取制品中的名词和动词是最为有效的做法。因此,本文只保留了词性为动词和名词的单词。

3) 分词:将制品中的英文句子根据单词间的分隔符进行切分,转化为单独的词语单元。

4) 去除停用词:使用NLTK(natural language toolkit)(https://www.nltk.org)的停用词库匹配并剔除制品文本中的停用词,减少文本中的噪声和冗余信息。

5) 词干提取:利用StanfordCoreNLP工具(https://stanfordnlp.github.io/CoreNLP)对每个单词的词干进行提取,例如,“running”进行词干提取之后的形式为“run”。将单词还原为其原始形式,可以降低词汇空间的复杂性,提升跟踪的效果[29]

2.2 特征生成阶段

在基于机器学习的需求跟踪恢复方法中,跟踪链接的特征表示方法会直接影响到机器学习的效果。现有的基于IR、QQ和距离的链接表示方法没有充分挖掘制品之间的语义匹配关系,我们使用词嵌入模型和句子嵌入模型对跟踪链接的特征进行了扩展,以更准确、更全面地表达软件制品之间的语义关联性。

2.2.1 基于IR的特征表示方法

基于IR的特征表示方法通过IR模型挖掘软件制品中的关键信息,计算两个制品之间的文本相似性。Wang等[30]总结了需求跟踪领域中所有的IR模型和策略,其中常见的IR技术包含了VSM,LSI,JS,LDA,BM。因此,我们使用这5种IR模型获取不同制品之间的相似性作为制品链接的特征。基于IR的特征表示方法计算流程如图2所示。

对于给定的源制品集合S和目标制品集合T,制品SiTj之间存在有效或者无效链接,其中SiSTjT。Mills等[12]的研究表明只考虑单向跟踪链接恢复会严重影响检索尤其是链接跟踪的性能,因此,在生成每个链接的特征时,考虑了任意方向的跟踪链接恢复,既将源制品和目标制品分别作为一次查询。首先,目标制品集合T作为语料库训练得到词的TF-IDF权重,将SiTj分别作为查询制品和被查询制品,再利用IR模型计算相似度作为从SiTj方向上的链接特征link+。重复上述过程,将源制品集合S作为语料库重新训练得到词的TF-IDF权重。最后,得到从TjSi方向上的链接特征link-。基于IR的链接特征向量linkIRSi,Tj可由下式表示:

linkIRSi,Tj=link+Si,Tj:link-Si,Tj

其中,“+”表示链接方向为SiTj,“-”表示链接方向为TjSi,“[:]”表示向量拼接。

2.2.2 基于QQ的特征表示方法

在IR领域中,QQ最初是用来评估软件制品作为查询时的质量[3132],后来被研究者们应用到需求跟踪中[33]。在一些制品之间存在有效链接,但是基于IR生成的相似度并不高,这会导致有效链接会被认为是无效链接从而造成链接缺失问题,因此,基于QQ的特征实际上是对基于IR特征的补充,它可以判断是制品的质量造成链接缺失,还是制品之间事实上存在的是无效链接而非有效连接。我们采用了13个QQ特征,计算方式可参考文献[33]。

2.2.3 基于距离的特征表示方法

基于距离的特征表示方法通过计算向量空间中的制品向量之间的距离来衡量相似性。本文同时使用5种常见的距离来表示链接特征:欧氏距离、曼哈顿距离、切比雪夫距离、汉明距离和海林格距离。计算公式如表1所示。

2.2.4 基于语义的特征表示方法

EMTrace方法使用Word2vec[34]、Golve[35]、Fasttext[36]、Embedding from Language Models(ELMo)[37]、Sentence-Bert(SBert)[38]生成链接特征,其中Word2vec、Fasttext、Golve、ELMo为词嵌入模型,SBert为句子嵌入模型。通过选择多个文本嵌入模型可以从多个角度捕捉软件制品中的语义信息,有助于更好地理解和表达文本之间的语义关系,从而提高有效链接排名的准确性。其计算流程如下:

首先,利用词嵌入模型获取制品文本中每个词的语义向量,携带语义信息的制品文本嵌入表示可由下式获得:

vecMSi=k=1SiM(wk)

其中,vecMSi是制品Si的向量表示,M[Word2vec,Fasttext,Golve,ELMo]M(wk)表示使用词嵌入模型M生成词wk的词向量,wk表示制品Si中第k个词。

其次,利用句子嵌入模型SBert获取制品文本中每个句子的语义向量,该制品文本嵌入表示可由下式获得:

vecSBertSi=q=1SiSBert(sq)

其中,SBert(wk)表示使用句子嵌入模型SBert生成句子sq的句向量,sq表示制品Si中第q个句子。

然后,利用获取到的制品语义向量计算余弦相似度simSi,Tj如(4)式所示:

simSi,Tj=cosvecSi,vecTj

最后根据(5)式得到制品SiTj的语义增强特征linksemSi,Tj

linksemSi,Tj=[simword2cev:simglove:simfasttext:simELMo:simSBert]

2.3 链接生成阶段

受文献[14]和[39]工作的启发,我们选择9个ML分类器作为基模型进行探索性集成。这9个ML分类器分别是:逻辑回归(Logistic Regression,LR)、K近邻(K nearest neighbor,KNN)、朴素贝叶斯(Naive Bayes,NB)、梯度提升树(Gradient Boosting Decision Tree,GBDT)、决策树(Decision Tree,DT)、随机森林(Random Forest,RF)、基于决策树的套袋模型(DT-Based Bagging,DBG)和LogitBoost(LB)。不同于一般集成学习方法只选择简单模型作为基模型,本文通过集成多个复杂的ML分类器进行联合预测。大多数Stacking集成方法通常采用投票集成策略或者加权集成策略,但基模型的权重在实际分类任务中难以获取。因此,本文提出了一种基于全连接神经网络的方法作为元学习器,通过训练来自动地获取每个基模型的权重。该方法的计算流程如下:

首先,将每个基模型输出的跟踪链接类别概率作为新的样本数据,通过全连接神经网络获取基模型的权重,并对各个基模型的概率输出进行加权来重新预测类别概率,如下式所示:

Q=WTP+b

其中, P 为9个基模型输出的类别概率矩阵,PR9×1W 为待学习的权重矩阵,WR9×2Q 为预测的结果。

然后,在输出层利用Softmax层将预测结果Q映射到链接类别空间上进行分析,从而得到每个链接类别的预测概率分布yyRc,c为链接类别的个数),如下式所示:

y=softmaxQ=exp(Q)i=1|Q|exp(Qi)

最后,根据(8)式选择概率最大的类别作为链接的类别linktype。除此之外,本文使用交叉熵损失函数来进行训练并更新基模型的权重参数。

linktype=max argy

3  实验结果与讨论

本节设置了3个研究问题(research question,RQ)验证本文提出的基于神经网络的集成方法和语义增强特征的有效性。

RQ1:EMTrace方法相比其他基于集成学习的需求跟踪方法是否具有更好的稳定性和性能?

RQ2:语义增强特征能否有效提升模型性能?

RQ3:EMTrace方法的稳定性和性能是否优于现有的需求跟踪方法?

3.1 数据集

为了公正、客观地评估EMTrace方法的稳定性和有效性,我们使用了4个不同领域的5个数据集。这5个数据集都是来自CoEST开源社区(http://www.coest.org),并被广泛应用于需求跟踪领域中。数据集的详细信息如表2所示。其中,CM1[17]数据集是由美国国家航空航天局提供,该项目是用C语言编写的工业软件并被用于数据分析;eTour是由Java开发的电子导游系统,专为游客提供服务;GANTT[40]是一个项目管理工具,它被用于创建甘特图和执行基本的项目管理;iTrust是由Java开发的信息管理web系统,它能够帮助医院管理病人信息;EasyClinic也是由Java开发的医院管理系统,EasyClinic包含多种类型的制品,在本文中,我们只考虑用于需求跟踪的制品。

3.2 评价指标

为了验证EMTrace方法的性能,采用需求跟踪领域中使用最广泛的评估指标[30]F1-measure。F1-measure综合考虑了精准率和召回率,是使用最多的评估指标,其计算方法如下:

F1=2×P×RP+R

其中:

P=linkretrievedlinkvalidlinkretrieved
R=linkretrievedlinkvalidlinkvalid

linkretrieved表示预测为有效链接的个数,linkvalid为实际有效链接的个数,linkretrievedlinkvalid表示预测为有效链接且实际也是有效链接的个数。

3.3 参数设置

本实验使用了gensim和sklearn库实现IR和ML模型,所有模型采用了默认参数设置。基于全连接层的元学习器中,采用交叉熵损失函数并用Adam作为优化器,学习率为0.01,单次输入的批处理大小为16,共迭代50次,其余参数均使用网络默认参数。文本嵌入模型的详细信息如表 3所示。为了训练并测试模型,将数据集随机划分为训练数据集和测试数据集,其中80%的样本作为训练数据集来训练模型的参数,20%的样本作为独立的测试数据集来评估已训练好的模型的性能。

3.4 基线

为了与EMTrace方法进行综合比较和分析,选择了需求跟踪领域中应用广泛的6个基线。这些方法的详细介绍如下:

VSM[41]:VSM利用TF-IDF等方法将制品表示为高维的向量,向量中的每个维度都代表制品文本中的一个词,通过计算查询向量与其他制品之间的相似度(例如余弦相似度)进行检索和相关性排序。

LSI[42]:LSI应用降维技术,例如奇异值分解(Singular Value Decomposition,SVD),能够识别集合中的潜在主题或概念,并将文档和词语与这些主题相关联。通过减少噪声的影响并捕捉潜在语义,并处理同义词和多义词的问题。

WELR[10]:该方法首先使用word2vec计算制品之间的语义相似性,之后利用IDF对制品文本进行加权和扩展,通过排序学习将排序问题转化为分类问题,以预测跟踪链接。

ATLRC[16]:该方法将需求跟踪问题转化为二分类问题,它定义了多种类型的特征用来表示制品之间的链接,因为有效链接和无效链的比例失衡,作者引入了平衡策略解决数据不平衡的问题,并通过使用ML技术自动地对有效链接和无效链接进行分类。

S2Trace[43]:S2Trace首先从软件制品中进行序列模式挖掘,以捕获较低级别的序列语义;之后,通过组合序列模式和制品中的原始序列学习每个制品的向量,捕获高级序列语义;最后,利用主成分分析(PCA)减少学习文档向量的噪音。

GeT2Trace[18]:GeT2Trace是基于图挖掘扩展学习的方法,通过图网络模型构建不同级别的文本网络,并利用共现词信息和词序信息扩展和增强制品的语义表示。GeT2Trace利用无监督神经网络向量学习模型对扩展后的文本进行学习,以预测和恢复制品间的跟踪关系。

3.5 实验结果

3.5.1 针对RQ1的实验

为了验证EMTrace方法的可行性,本文将EMTrace方法与应用在需求跟踪领域的4个集成学习方法进行对比。表4展示了F1值比较结果,其中RF和DBG属于Bagging集成算法,GBDT和LogitBoost属于Boosting集成算法。从表4中可以看出,相比EMTrace方法,GBDT在iTrust数据集上略有优势,但是在其余的数据集上EMTrace方法的性能都显著优于它。

在这4个基于集成学习的需求跟踪方法中,RF只能在eTour数据集上达到较好的性能,但是在GANTT和iTrust数据集上的性能较差;DBG在CM1和EasyClinic中的用例到代码制品类型上的性能最差;LogitBoost在eTour数据集以及EasyClinic数据集的用例到交互图、用例到测试用例性能最差。该现象反映了这些方法在不同的需求跟踪任务或者应用场景中是极其不稳定的,而EMTrace方法几乎能在所有数据集上保持最优性能。这是因为该方法将多个分类器的输出结果作为元学习器的输入数据,通过元学习器自动学习每个基模型的权重。这样不仅动态调整了不同模型对预测结果的贡献,还利用了每个模型在不同场景下的最优性能。因此,EMTrace方法能够有效提升跟踪链接识别的稳定性和性能。

3.5.2 针对RQ2的实验

本研究设计了消融实验验证语义增强特征是否提升了模型性能。在消融实验中,对EMTrace方法进行了有语义特征和无语义特征的测试。表5展示了消融实验的实验结果,其中“EMTrace-”表示没有采用语义特征表示制品链接。“ATLRC+”表示在ATLRC基线方法已有特征的基础上扩展了语义特征。

实验结果表明了在有语义特征的情况下,EMTrace方法的F1平均值为0.632,而在无语义特征的情况下F1的平均值为0.592。这说明我们的方法在相同条件下,增加语义增强特征可以使得平均效果提升0.04,除此之外,融合了语义特征的ATLRC方法的平均效果也有所提升。基于IR、QQ和距离链接的特征表示方法主要基于词匹配来计算相似度[44],这导致无法捕捉到制品中的上下文语义信息,而语义特征通过考虑词语之间的关联和上下文信息,能够提供更准确和丰富的文本表示。具体来说,存在潜在有效链接的两个制品之间具有较强的语义关联,通过添加语义增强特征有助于我们的方法更好地理解和区分制品之间是否具有关联性。

3.5.3 针对RQ3的实验

表6展示了EMTrace跟踪方法与其他6个基线方法在4个不同领域的数据集上的对比实验结果。实验结果表明,EMTrace跟踪方法在4个不同领域的开源数据集上均优于其他6个基线方法。这表明EMTrace方法具有出色的稳定性和性能,能够很好地处理不同类型的制品,并在各种跟踪场景中保持最佳效果。

为了进一步对比EMTrace方法的性能,本文采用Friedman检验[45]比较了不同模型的平均秩和排名,Friedman检验适用于比较多个模型在不同数据集上的平均排名。通过比较平均秩可以判断模型的稳定性。置信度水平设置为99%,其零假设和备择假设描述如下:

零假设H0:EMTrace方法与其他6个基线方法的表现相同。

备择假设H1:EMTrace方法与其他6个基线方法的表现不同。

表7展示的检验结果表明EMTrace方法的平均秩为1,并且p值显著小于0.01,则拒绝假设H0,反映不同方法在5个数据集上的表现确实存在很大差异。这证明了EMTrace方法能够有效提升建立跟踪链接的准确率和稳定性。为了进一步分析EMTrace方法的优势,本文从三个方面将它与其他方法进行对比。

1) 与VSM、LSI比较

相较于VSM和LSI模型,EMTrace方法在平均F1值上分别提升了0.314、0.355,并在所有数据集上均优于这2个模型(表6)。

VSM和LSI分别依赖于词频统计和矩阵分解[46],这种基于统计的方法无法准确地匹配制品之间的多义词、语义上相似的词从而造成匹配失败[47]。相比之下,EMTrace方法不仅考虑了语义信息,还引入了多个IR模型生成制品的相似度来表示链接,能够综合考虑词共现信息和语义信息来对制品之间的关系进行建模,使得EMTrace方法在与VSM和LSI相比时具有明显的优势。

2) 与ATLRC、WELR方法比较

相较于ATLRC和WELR模型,EMTrace方法在平均F1值上分别提升了0.162、0.267,并在所有数据集上均优于这些模型(表6)。

ATLRC利用QQ特征和IR特征来表示跟踪链接,并使用随机森林对跟踪链接进行二分类。WELR利用词嵌入的方法获取了词的语义,并使用IDF来扩展查询文档。从本质上讲,WELR是使用了Word2vec计算扩展查询制品的相似度并将排序问题转化为分类问题。EMTrace方法与他们的不同之处在于,EMTrace方法扩展了多个语义增强特征,能够更准确地表达制品之间的语义相似性,提高链接生成的准确性。虽然ATLRC方法的平均F1值在6个基线方法中达到了最优,但它在CM1数据集上的性能相对较差。相比之下,EMTrace方法采用了神经网络集成的方法,使得它能够充分利用“群体智慧”,并在所有数据集中达到最佳效果。

3) 与S2Trace、GeT2Trace比较

相较于S2Trace和GeT2Trace方法,EMTrace方法在平均F1值上分别提升了0.258、0.245,并在所有数据集上均优于这两种模型(表6)。

S2Trace方法通过词序信息增强制品中隐含的语义信息,GeT2Trace同时融合了词共现信息和词序信息来表示制品的语义信息。但它们并没有关注到更深层次的语法和语义信息。在本文中,我们利用多个预训练语义模型提取多层次的语义信息,包括了基于字符级别的词向量(Fasttext)、基于词共现信息的词向量(Glove)、基于上下文的静态词向量(Word2vec)、基于上下文的动态词向量(ELMo)和句子向量(SBert)。S2Trace和GeT2Trace方法利用Doc2Vec生成制品向量,并通过阈值筛选跟踪链接,这会导致筛选出的跟踪链接中的假阳性率(FP)较高。EMTrace方法首先在已有跟踪链接信息上进行训练,之后对未知链接进行预测。表8展示了这三种方法的假阳性跟踪链接数,结果证实了EMTrace方法通过预测的方式在所有的数据集上都显著降低了假阳率,从而提升了整体的性能。

3.6 适用性和局限性

集成多个ML分类器在提升跟踪链接恢复性能方面具有潜力,但也存在计算成本方面的限制。其中,训练时间和预测时间是两个重要的考虑因素。

首先,在集成模型中,每个分类器都需要在训练集上进行独立的训练。这意味着对于每个分类器,需要进行多次迭代和参数调整的过程,以使其能够更好地适应数据。如果数据集的规模很大,训练时间可能会显著增加。尤其是迭代速度快的项目中会频繁更新制品。

其次,预测时间也是一个重要的限制因素。使用集成模型进行预测时,需要对每个分类器进行独立的预测,并根据元学习器对预测的概率值进行加权。由于每个分类器都需要进行独立的预测,整体预测时间可能会比单个分类器更长。这可能会对需要实时预测或高吞吐量应用的情况产生限制,因为较长的预测时间可能无法满足实时性要求或导致系统的处理能力不足。

4  结 语

需求跟踪在工业领域的软件开发中发挥着重要的作用。然而,现有的ML技术存在着稳定性差的问题,这导致其在不同的工业场景中性能不稳定而无法满足实际需求。为了解决该问题,提出一种基于神经网络集成学习的需求跟踪方法(EMTrace)来提高稳定性和性能,该方法集成了需求跟踪领域中常用的9个ML分类器,并对每个ML分类器的输出进行加权来重新预测跟踪链接的类型。为了能够自动地获取每个基模型的权重,本文构建了基于神经网络的元学习器,利用基模型输出的类别概率作为新的数据训练元学习器。此外,为了更全面、更准确地表示制品之间的跟踪链接,EMTrace方法利用4个词嵌入模型(Word2vec、Fasttext、Glove、ELMo)和一个句子嵌入模型(SBert)生成软件制品的语义向量,通过这些语义向量计算制品间的相似度增强跟踪链接特征的语义表示。为了验证EMTrace方法的稳定性和有效性,在4个不同领域的5个开源数据集(CM1、eTour、iTrust、GANTT、EasyClinic)上进行了验证。实验结果表明,EMTrace方法的F1值在所有数据集上均优于基线方法,相比已有的最优基线方法,EMTrace方法的F1值提升了0.162。该方法有效提高了稳定性和识别跟踪链接的性能,语义增强特征提高了建立制品之间跟踪链接的准确性。

在未来的工作中,我们会探索更多的元学习器来更好地集成这些异构分类器。此外,我们将考虑使用更多不同领域和规模的数据集来验证该方法的稳定性。目前的方法主要针对英语制品进行需求跟踪,未来可以将其扩展到其他语言,以满足多语言环境下的需求管理的要求,这将涉及对非英语制品文本嵌入模型和特征表示的研究。

参考文献

[1]

GOTEL O C ZFINKELSTEIN C W. An analysis of the requirements traceability problem[C]//Proceedings of IEEE International Conference on Requirements Engineering. New York: IEEE Press, 2002: 94-101. DOI: 10.1109/ICRE.1994.292398 .

[2]

REMPEL PMÄDER P. Preventing defects: The impact of requirements traceability completeness on software quality[J]. IEEE Transactions on Software Engineering201743(8): 777-797. DOI: 10.1109/TSE.2016.2622264 .

[3]

NIU NBHOWMIK TLIU Het al. Traceability-enabled refactoring for managing just-in-time requirements[C]//2014 IEEE 22nd International Requirements Engineering Conference (RE). New York: IEEE Press, 2014: 133-142. DOI: 10.1109/RE.2014.6912255 .

[4]

ARORA CSABETZADEH MGOKNIL Aet al. Change impact analysis for Natural Language requirements: An NLP approach[C]//2015 IEEE 23rd International Requirements Engineering Conference (RE). New York: IEEE Press, 2015: 6-15. DOI: 10.1109/RE.2015.7320403 .

[5]

HAUKSDOTTIR DVERMEHREN ASAVOLAINEN J. Requirements reuse at Danfoss[C]//2012 20th IEEE International Requirements Engineering Conference (RE). New York: IEEE Press, 2012: 309-314. DOI: 10.1109/RE.2012.6345820 .

[6]

LAFI MALRAWASHED THAMMAD A M. Automated test cases generation from requirements specification[C]//2021 International Conference on Information Technology (ICIT). New York: IEEE Press, 2021: 852-857. DOI: 10.1109/ICIT52682.2021.9491761 .

[7]

HAMMOUDI MMAYR-DORN CMASHKOOR Aet al. On the effect of incompleteness to check requirement-to-method traces[DB/OL].[2023-10-10]. DOI: 10.1145/3412841.3442021 .

[8]

BORG MRUNESON PARDÖ A. Recovering from a decade: A systematic mapping of information retrieval approaches to software traceability[J]. Empirical Software Engineering201419(6): 1565-1616. DOI: 10.1007/s10664-013-9255-y .

[9]

ANTONIOL GCANFORA GCASAZZA Get al. Recovering traceability links between code and documentation[J]. IEEE Transactions on Software Engineering200228(10): 970-983. DOI: 10.1109/TSE.2002.1041053 .

[10]

ZHAO TCAO Q HSUN Q. An improved approach to traceability recovery based on word embeddings[C]//2017 24th Asia-Pacific Software Engineering Conference (APSEC). New York: IEEE Press, 2017: 81-89. DOI: 10.1109/APSEC.2017.14 .

[11]

MILLS C. Automating traceability link recovery through classification[DB/OL].[2023-10-10]. DOI: 10.1145/3106237.3121280 .

[12]

MILLS CHAIDUC S. The impact of retrieval direction on IR-based traceability link recovery[C]//2017 IEEE/ACM 39th International Conference on Software Engineering: New Ideas and Emerging Technologies Results Track (ICSE-NIER). New York: IEEE Press, 2017: 51-54. DOI: 10.1109/ICSE-NIER.2017.14 .

[13]

WANG B CDENG YLUO R Qet al. An empirical study on source code feature extraction in preprocessing of IR-based requirements traceability[C]//2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS). New York: IEEE Press, 2022: 1069-1078. DOI: 10.1109/QRS57517.2022.00110 .

[14]

LI XWANG B CWAN Het al. Applications of machine learning in requirements traceability: A systematic mapping study[C]//Proceedings of the 35th International Conference on Software Engineering and Knowledge Engineering. Pennsylvania:KSI Research Inc,2023:566-571. DOI: 10.18293/SEKE2023-135 .

[15]

汪烨, 胡坤, 姜波, . 软件跟踪链自动化技术研究综述[J]. 计算机学报202346(9): 1919-1946. DOI: 10.11897/SP.J.1016.2023.01919 .

[16]

WANG YHU KJIANG Bet al. A systematic literature review of software traceability links automation techniques[J]. Chinese Journal of Computers202346(9): 1919-1946. DOI: 10.11897/SP.J.1016.2023.01919(Ch ).

[17]

MILLS CHAIDUC S. A machine learning approach for determining the validity of traceability links[C]//2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). New York: IEEE Press, 2017: 121-123. DOI: 10.1109/ICSE-C.2017.86 .

[18]

HAYES J HDEKHTYAR ASUNDARAM S K. Advancing candidate link generation for requirements tracing: The study of methods[J]. IEEE Transactions on Software Engineering200632(1): 4-19. DOI: 10.1109/TSE.2006.3 .

[19]

陈磊, 王丹丹, 王青, . 基于图挖掘扩展学习的增强需求跟踪恢复方法[J]. 计算机研究与发展202158(4): 777-793. DOI: 10.7544/issn1000-1239.2021.20200733 .

[20]

CHEN LWANG D DWANG Qet al. Enhancing requirements traceability recovery via a graph mining-based expansion learning[J]. Journal of Computer Research and Development202158(4): 777-793. DOI: 10.7544/issn1000-1239.2021.20200733(Ch ).

[21]

RAGHAVAN V VWONG S K M. A critical analysis of vector space model for information retrieval[J]. Journal of the American Society for Information Science198637(5): 279-287. DOI: 10.1002/(sici)1097-4571(198609)37: 5279: aid-asi1>3.0.co;2-q .

[22]

HOFMANN T. Probabilistic latent semantic indexing[C]//Proceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 1999: 50-57. DOI: 10.1145/312624.312649 .

[23]

ASUNCION H UASUNCION A UTAYLOR R N. Software traceability with topic modeling[C]//Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering. New York: ACM, 2010: 95-104. DOI: 10.1145/1806799.1806817 .

[24]

余荣威, 邓德旺, 王泽. 基于交互和图注意力网络的代码搜索方法[J]. 武汉大学学报(理学版)202369(6): 757-766. DOI: 10.14188/j.1671-8836.2022.0298 .

[25]

YU R WDENG D WWANG Z. Interaction and graph attention network-based model for code search[J]. Journal of Wuhan University (Natural Science Edition)202369(6): 757-766. DOI: 10.14188/j.1671-8836.2022.0298(Ch ).

[26]

SETTIMI RCLELAND-HUANG JKHADRA O BENet al. Supporting software evolution through dynamically retrieving traces to UML artifacts[C]//Proceedings of 7th International Workshop on Principles of Software Evolution. New York: IEEE Press, 2004: 49-54. DOI: 10.1109/IWPSE.2004.1334768 .

[27]

GIBIEC MCZAUDERNA ACLELAND-HUANG J. Towards mining replacement queries for hard-to-retrieve traces[DB/OL].[2023-10-10]. DOI: 10.1145/1858996.1859046 .

[28]

CHEN X FHOSKING JGRUNDY J. A combination approach for enhancing automated traceability (NIER track)[C]//2011 33rd International Conference on Software Engineering (ICSE). New York: IEEE Press, 2011: 912-915. DOI:10.1145/1985793.1985943 .

[29]

LI TWANG S HLILLIS Det al. Combining machine learning and logical reasoning to improve requirements traceability recovery[J]. Applied Sciences202010(20): 7253. DOI: 10.3390/app10207253 .

[30]

GUO JCHENG J HCLELAND-HUANG J. Semantically enhanced software traceability using deep learning techniques[C]//2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). New York: IEEE Press, 2017: 3-14. DOI: 10.1109/ICSE.2017.9 .

[31]

FALESSI DCANTONE GCANFORA G. Empirical principles and an industrial case study in retrieving equivalent requirements via natural language processing techniques[J]. IEEE Transactions on Software Engineering201339(1): 18-44. DOI: 10.1109/TSE.2011.122 .

[32]

GADELHA GRAMALHO FMASSONI T. Traceability recovery between bug reports and test cases—A Mozilla Firefox case study[J]. Automated Software Engineering202128(2): 8. DOI: 10.1007/s10515-021-00287-w .

[33]

WANG B CWANG HLUO R Qet al. A systematic mapping study of information retrieval approaches applied to requirements trace recovery[DB/OL].[2023-10-10]. DOI: 10.18293/seke2022-098 .

[34]

HAIDUC SBAVOTA GOLIVETO Ret al. Automatic query performance assessment during the retrieval of software artifacts[C]//Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. New York: ACM, 2012: 90-99. DOI: 10.1145/2351676.2351690 .

[35]

HAIDUC SDE ROSA GBAVOTA Get al. Query quality prediction and reformulation for source code search: The Refoqus tool[C]//2013 35th International Conference on Software Engineering (ICSE). New York: IEEE Press, 2013: 1307-1310. DOI: 10.1109/ICSE.2013.6606704 .

[36]

MILLS CBAVOTA GHAIDUC Set al. Predicting query quality for applications of text retrieval to software engineering tasks[J]. ACM Transactions on Software Engineering and Methodology201726(1): 1–45. DOI: 10.1145/3078841 .

[37]

MIKOLOV TSUTSKEVER ICHEN Ket al. Distributed representations of words and phrases and their compositionality[DB/OL].[2023-10-10].DOI: 10.48550/arXiv.1310.4546 .

[38]

PENNINGTON JSOCHER RMANNING C. Glove: Global vectors for word representation[C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Stroudsburg: Association for Computational Linguistics, 2014: 1532-1543. DOI: 10.3115/v1/d14-1162 .

[39]

BOJANOWSKI PGRAVE EJOULIN Aet al. Enriching word vectors with subword information[J]. Transactions of the Association for Computational Linguistics20175: 135-146. DOI: 10.1162/tacl_a_00051 .

[40]

PETERS MNEUMANN MIYYER Met al. Deep contextualized word representations[C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). Stroudsburg: Association for Computational Linguistics, 2018: 2227-2237. DOI: 10.18653/v1/n18-1202 .

[41]

REIMERS NGUREVYCH I. Sentence-BERT: Sentence embeddings using siamese BERT-Networks[C]//Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Stroudsburg: Association for Computational Linguistics, 2019: 3982-3992. DOI: 10.18653/v1/d19-1410 .

[42]

高添, 郭曦. 面向代码演化的集成软件缺陷预测模型[J]. 武汉大学学报(理学版)202268(3): 279-288. DOI: 10.14188/j.1671-8836.2021.0163 .

[43]

GAO TGUO X. Integrated software defect prediction model for code evolution[J]. Journal of Wuhan University (Natural Science Edition)202268(3): 279-288. DOI: 10.14188/j.1671-8836.2021.0163 (Ch ).

[44]

HOLBROOK E AHAYES J HDEKHTYAR A. Toward automating requirements satisfaction assessment[C]//2009 17th IEEE International Requirements Engineering Conference. New York: IEEE Press, 2009: 149-158. DOI: 10.1109/RE.2009.10 .

[45]

CAPOBIANCO GDE LUCIA AOLIVETO Ret al. Improving IR-based traceability recovery via noun-based indexing of software artifacts[J]. Journal of Software: Evolution and Process201325(7): 743-762. DOI: 10.1002/smr.1564 .

[46]

LORMANS MVAN DEURSEN A. Can LSI help reconstructing requirements traceability in design and test? [C]//Conference on Software Maintenance and Reengineering (CSMR'06). New York: IEEE Press, 2006: 47-56. DOI: 10.1109/CSMR.2006.13 .

[47]

CHEN LWANG D DWANG J Jet al. Enhancing unsupervised requirements traceability with sequential semantics[C]//2019 26th Asia-Pacific Software Engineering Conference(APSEC). New York: IEEE Press, 2019: 23-30. DOI: 10.1109/APSEC48747.2019.00013 .

[48]

LIN J FLIU Y LZENG Q Ket al. Traceability transformed: Generating more accurate links with pre-trained BERT models[C]//2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). New York: IEEE Press, 2021: 324-335. DOI: 10.1109/ICSE43902.2021.00040 .

[49]

CASANOVA J MPRESEDO QUINDIMIL M ABARREIRO Á. Overall comparison at the standard levels of recall of multiple retrieval methods with the Friedman test[M]// Advances in Information Retrieval. Berlin: Springer, 2007: 682-685. DOI: 10.1007/978-3-540-71496-5_68 .

[50]

胡成海, 彭蓉, 王帮超. 基于信息检索的需求跟踪方法综述[J]. 计算机应用与软件201734(10): 20-28. DOI: 10.3969/j.issn.1000-386x.2017.10.004 .

[51]

HU C HPENG RWANG B C. A survey of requirement tracking method based on information retrieval[J]. Computer Applications and Software201734(10): 20-28. DOI: 10.3969/j.issn.1000-386x.2017.10.004 (Ch ).

[52]

GUO JCHENG J HCLELAND-HUANG J. Semantically enhanced software traceability using deep learning techniques[C]//2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). New York: IEEE Press, 2017: 3-14. DOI: 10.1109/ICSE.2017.9 .

基金资助

国家自然科学基金(62102291)

湖北省服装信息工程研究中心开放基金(2022HBCI02)

湖北省服装信息工程研究中心开放基金(2022HBCI05)

AI Summary AI Mindmap
PDF (1704KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/