CN111124366A - 一种基于信息检索的需求追踪恢复方法 - Google Patents
一种基于信息检索的需求追踪恢复方法 Download PDFInfo
- Publication number
- CN111124366A CN111124366A CN201911333727.0A CN201911333727A CN111124366A CN 111124366 A CN111124366 A CN 111124366A CN 201911333727 A CN201911333727 A CN 201911333727A CN 111124366 A CN111124366 A CN 111124366A
- Authority
- CN
- China
- Prior art keywords
- target
- module
- demand
- candidate list
- target product
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Abstract
本发明公开了一种基于信息检索的需求追踪恢复方法,属于信息安全技术领域,包括使用IR方法来创建候选链接,然后,对目标制品的附加链接应用一个“bonus”,最后这些目标制品通过语义关系连接起来,解决了传统技术中IR方法不精确的问题,有效提升自动恢复追踪关系的模型性能,在基于信心检索的基础上,增加考虑额外信息,即目标制品间的语义关系,对原始的候选列表进行重排序,将正确追踪链排名上提,减少分析误报。
Description
技术领域
本发明属于大数据技术领域,涉及一种基于信息检索的需求追踪恢复方法。
背景技术
需求追踪(RT),定义为“描述并遵循一个需求的生命周期的能力,无论是向前还是向后(即,从它的起源,通过它的开发和规范,到它随后的部署和使用,并通过在这些阶段中的任何一个持续的需求和迭代阶段)”。可追踪链接恢复(Traceability Links Recovery,TLR)是RT的一个研究方向,它是一项软件工程任务,处理软件制品之间的依赖关系和关系的识别与理解。需求追踪作为软件过程管理中的一个重要环节,在保障系统质量、应对需求变更方面发挥着重要作用。利用需求追踪,软件开发人员可以发现制品之间的依赖关系、评估需求覆盖率及计算需求变更的影响。由于需求追踪一方面致力于帮助软件开发人员进行追踪分析,确定是否所有的低层元素(如设计、源代码)都有与之对应的需求;另一方面,可以用于完整性分析和测试覆盖率评估,以明确是否所有需求都被实现并进行了相应的测试。故而成为需求工程的一个重要研究方向。
随着软件系统的规模的增大和复杂性的日益增长,手动恢复和维护追踪关系费时费力,自然地,一些用于自动恢复和维护追踪关系的技术日益受到关注,其中以基于信息检索技术为主。使用信息检索的优势在于,能够通过文本分析自动恢复追踪关系,对于解决传统需求追踪问题中所面临的人工工作量大、维护困难、容易出错等问题有极大帮助。然而,基于信息检索方法的基本问题是相似性计算(即文本相似度)是基于两种制品间关键字的匹配程度,如果两个制品之间(例如,需求和源代码)是异构的,他们可能不共享一个共同的词汇,同义词,或语言结构,信息检索将会错过追踪这条链。作为需求追踪领域中的一种自动追踪方法,近年来针对基于IR的问题进行了大量的研究。例如,使用诸如利用同义词库、项目术语表、短语、关键短语和重构等策略来减少术语不一致或文本制品中缺少、错位和重复符号所造成的不利影响。然而,不精确仍然是在实践中使用IR进行可追踪链接恢复的主要障碍。
发明内容
本发明的目的是提供一种基于信息检索的需求追踪恢复方法,解决了传统技术中IR方法不精确的问题。
为实现上述目的,本发明采用如下技术方案:
一种基于信息检索的需求追踪恢复方法,包括如下步骤:
步骤1:建立IR模块、域模块、语义关系模块和输出模块,IR模块用于从互联网中获取原始数据;
步骤2:对IR模块获取到的原始数据进行预处理,将其处理为能够支持使用单词嵌入来计算目标制品之间的相似性的预处理数据;
步骤3:利用基于IR的向量空间模型算法VSM,计算源制品和目标制品的相似度值,生成候选追踪链;
步骤4:设定源制品为Ri,域模块为源制品Ri生成一个原始候选列表cl;
在原始候选列表cl中,通过基于IR的可追踪性恢复方法添加源制品Ri的目标制品;
根据目标制品与源制品的相似度值,将目标制品从高到低排序;
步骤5:裁剪排序后的原始候选列表cl中的前k1%的数据,构成需求域,其中k1为正整数;
步骤6:设定目标制品为Tj,语义关系模块通过词嵌入方法,得到相似值从高到低的语义关系列表sl;
步骤7:裁剪语义关系列表sl中的前k2%的数据,构成目标制品语义关系相互依赖图SRTG;
步骤8:对于源制品Ri,需求域内部的目标制品Tj被直接添加到一个候选列表中;
对于需求域外部的目标制品Tj,判断其是否在目标制品语义关系相互依赖图SRTG中:是,则增加一个“bonus”值进行重新排序,生成一个新的候选列表;否,则舍弃;
步骤9:根据步骤8中生成的新的候选列表,对需求域外部的目标制品进行重新排序;
步骤10:所述新的候选列表即位对原始候选列表的重新排序,输出模块输出所述新的候选列表。
优选的,所述IR模块、域模块、语义关系模块和输出模块均部署在分布式服务器集群中。
优选的,在执行步骤6到步骤8时,设定G(T,E)表示目标制品Tj间的关系图,其中T={t1,…tn}为目标制品集合,E={ti,tj}用边来表示ti与tj之间有关系;
设定S={s1,…,sn}表示源制品的集合,设定List={s,t}为使用IR方法计算出的候选链接列表,其中s∈S,t∈T;
在目标制品语义关系相互依赖图SRTG中,如果目标制品Tj和源制品之间有链接,几个在语义上与目标制品Tj最相似的目标制品将被给予额外的“bonus”,即与源制品之间的相似值将被重新计算以使这些目标制品更易被追踪。
本发明所述的一种基于信息检索的需求追踪恢复方法,解决了传统技术中IR方法不精确的问题,有效提升自动恢复追踪关系的模型性能,在基于信心检索的基础上,增加考虑额外信息,即目标制品间的语义关系,对原始的候选列表进行重排序,将正确追踪链排名上提,减少分析误报。
附图说明
图1为本发明的总流程图;
图2为本发明的需求追踪和需求域的示意图;
图3为本发明的SRTG示例图。
具体实施方式
来自相同需求的目标制品(例如用例和用例)之间存在关联关系。对于一些文本制品具有某种形式的结构,例如源代码和用例,实现相同需求的源代码之间存在继承和聚合关系,实现相同需求的用例之间存在泛化和包含关系。
所有这些文本类型的目标制品都可以通过预处理将其转化为自然的文本形式,而且,目标制品之间的关系没有随着预处理而消失。
将仍然存在于各种类型的目标制品之间的关联统称为语义关系,在实现相同需求的目标制品之间存在语义关系。如何发现和利用目标制品的语义关系称为基于SRT的方法,用来增强需求追踪任务。嵌入(也称为分布式表示)是一种学习实体(如单词、句子和图像)的向量表示的技术,其中相似的实体具有彼此相近的向量。具有相似上下文的单词具有相似的含义和相似的向量表示。词嵌入技术被广泛用于解决语义匹配问题。将IR技术与词嵌入技术相结合,考虑目标制品之间的语义关系,对IR得到的候选列表进行重新排序,有效地提高了基于IR的需求可追溯性。
信息检索Information Retrieval,简称IR方法,是一种用于计算不同文档之间文本相似性的技术。
如图1-图3所示的一种基于信息检索的需求追踪恢复方法,包括如下步骤:
步骤1:建立IR模块、域模块、语义关系模块和输出模块,IR模块用于从互联网中获取原始数据;
步骤2:对IR模块获取到的原始数据进行预处理,将其处理为能够支持使用单词嵌入来计算目标制品之间的相似性的预处理数据;
本实施例中,预处理包括删除停止字,删除不寻常的字,删除标点符号,删除空格等数据处理步骤。
步骤3:利用基于IR的向量空间模型算法VSM,计算源制品和目标制品的相似度值,生成候选追踪链;
本实施例中,具体使用RETRO.NET工具实现计算源制品和目标制品的相似度值,生成候选追踪链。
步骤4:设定源制品为Ri,域模块为源制品Ri生成一个原始候选列表cl;
在原始候选列表cl中,通过基于IR的可追踪性恢复方法添加源制品Ri的目标制品;
根据目标制品与源制品的相似度值,将目标制品从高到低排序;
步骤5:裁剪排序后的原始候选列表cl中的前k1%的数据,构成需求域,其中k1为正整数;
本实施例中,选择实验需要的第一个cut percentage,候选列表的前k1%组成需求域的范围。
初始的需求域标识了追踪到给定需求的所有目标制品,即假设与给定需求有正确追踪链的目标制品。
每个外部区域的目标制品(即初始的需求域外部的目标制品)是通过内部区域的目标制品(即初始的需求区域内部的目标制品)和SRTG确定的。
步骤6:设定目标制品为Tj,语义关系模块通过词嵌入方法,得到相似值从高到低的语义关系列表sl;
步骤7:裁剪语义关系列表sl中的前k2%的数据,构成目标制品语义关系相互依赖图SRTG;
本实施例中,选择实验所需的第二个cut percentage,即语义关系排名列表的前k2%组成针对某个目标制品的目标制品语义关系相互依赖图SRTG。
步骤8:对于源制品Ri,需求域内部的目标制品Tj被直接添加到一个候选列表中;
对于需求域外部的目标制品Tj,判断其是否在目标制品语义关系相互依赖图SRTG中:是,则增加一个“bonus”值进行重新排序,生成一个新的候选列表;否,则舍弃;
步骤9:根据步骤8中生成的新的候选列表,对需求域外部的目标制品进行重新排序;
步骤10:所述新的候选列表即位对原始候选列表的重新排序,输出模块输出所述新的候选列表。
优选的,所述IR模块、域模块、语义关系模块和输出模块均部署在分布式服务器集群中。
优选的,在执行步骤6到步骤8时,设定G(T,E)表示目标制品Tj间的关系图,其中T={t1,…tn}为目标制品集合,E={ti,tj}用边来表示ti与tj之间有关系;
设定S={s1,…,sn}表示源制品的集合,设定List={s,t}为使用IR方法计算出的候选链接列表,其中s∈S,t∈T;
在目标制品语义关系相互依赖图SRTG中,如果目标制品Tj和源制品之间有链接,几个在语义上与目标制品Tj最相似的目标制品将被给予额外的“bonus”,即与源制品之间的相似值将被重新计算以使这些目标制品更易被追踪。
本发明所述的一种基于信息检索的需求追踪恢复方法,解决了传统技术中IR方法不精确的问题,有效提升自动恢复追踪关系的模型性能,在基于信心检索的基础上,增加考虑额外信息,即目标制品间的语义关系,对原始的候选列表进行重排序,将正确追踪链排名上提,减少分析误报。
本发明基于信心检索技术,不仅考虑源制品到目标制品之间的关系,还增加考虑目标制品之间的语义关系。正如我们所知道的,实现同一个需求的目标制品之间是存在关联关系的,如代码之间的继承和依赖关系、用例之间的包含、泛化和扩展关系。这些关系在目标制品被预处理成文本制品之后依然存在,此时称统称这种关系为语义关系。增加考虑这些语义关系,可以为需求追踪提供支持。如,当目标制品T1和T2之间存在语义关系,利用信心检索得出R1与T1有追踪关系,那么可以假设R1到T2之间也有追踪关系,这样做的话,可以提升正确追踪链在候选列表中的排名,省去检查大量误报的人工成本。
Claims (3)
1.一种基于信息检索的需求追踪恢复方法,其特征在于:包括如下步骤:
步骤1:建立IR模块、域模块、语义关系模块和输出模块,IR模块用于从互联网中获取原始数据;
步骤2:对IR模块获取到的原始数据进行预处理,将其处理为能够支持使用单词嵌入来计算目标制品之间的相似性的预处理数据;
步骤3:利用基于IR的向量空间模型算法VSM,计算源制品和目标制品的相似度值,生成候选追踪链;
步骤4:设定源制品为Ri,域模块为源制品Ri生成一个原始候选列表cl;
在原始候选列表cl中,通过基于IR的可追踪性恢复方法添加源制品Ri的目标制品;
根据目标制品与源制品的相似度值,将目标制品从高到低排序;
步骤5:裁剪排序后的原始候选列表cl中的前k1%的数据,构成需求域,其中k1为正整数;
步骤6:设定目标制品为Tj,语义关系模块通过词嵌入方法,得到相似值从高到低的语义关系列表sl;
步骤7:裁剪语义关系列表sl中的前k2%的数据,构成目标制品语义关系相互依赖图SRTG;
步骤8:对于源制品Ri,需求域内部的目标制品Tj被直接添加到一个候选列表中;
对于需求域外部的目标制品Tj,判断其是否在目标制品语义关系相互依赖图SRTG中:是,则增加一个“bonus”值进行重新排序,生成一个新的候选列表;否,则舍弃;
步骤9:根据步骤8中生成的新的候选列表,对需求域外部的目标制品进行重新排序;
步骤10:所述新的候选列表即位对原始候选列表的重新排序,输出模块输出所述新的候选列表。
2.如权利要求1所述的一种基于信息检索的需求追踪恢复方法,其特征在于:所述IR模块、域模块、语义关系模块和输出模块均部署在分布式服务器集群中。
3.如权利要求1所述的一种基于信息检索的需求追踪恢复方法,其特征在于:在执行步骤6到步骤8时,设定G(T,E)表示目标制品Tj间的关系图,其中T={t1,…tn}为目标制品集合,E={ti,tj}用边来表示ti与tj之间有关系;
设定S={s1,…,sn}表示源制品的集合,设定List={s,t}为使用IR方法计算出的候选链接列表,其中s∈S,t∈T;
在目标制品语义关系相互依赖图SRTG中,如果目标制品Tj和源制品之间有链接,几个在语义上与目标制品Tj最相似的目标制品将被给予额外的“bonus”,即与源制品之间的相似值将被重新计算以使这些目标制品更易被追踪。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911333727.0A CN111124366B (zh) | 2019-12-23 | 2019-12-23 | 一种基于信息检索的需求追踪恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911333727.0A CN111124366B (zh) | 2019-12-23 | 2019-12-23 | 一种基于信息检索的需求追踪恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124366A true CN111124366A (zh) | 2020-05-08 |
CN111124366B CN111124366B (zh) | 2021-11-16 |
Family
ID=70500996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911333727.0A Active CN111124366B (zh) | 2019-12-23 | 2019-12-23 | 一种基于信息检索的需求追踪恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124366B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460401A (zh) * | 2020-05-20 | 2020-07-28 | 南京大学 | 结合软件制品过程信息和文本相似度的制品自动追踪方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159822A (zh) * | 2015-08-12 | 2015-12-16 | 南京航空航天大学 | 一种基于文本词性和程序调用关系的软件缺陷定位方法 |
CN105955719A (zh) * | 2016-04-20 | 2016-09-21 | 北京航空航天大学 | 机载安全关键系统的安全性需求追踪链建立和维护的方法 |
US9940394B1 (en) * | 2016-10-14 | 2018-04-10 | Slack Technologies, Inc. | Messaging search and management apparatuses, methods and systems |
CN109804362A (zh) * | 2016-07-15 | 2019-05-24 | 伊欧-塔霍有限责任公司 | 通过机器学习确定主键-外键关系 |
CN110447042A (zh) * | 2017-02-17 | 2019-11-12 | 谷歌有限责任公司 | 合作地训练和/或使用单独的输入和后续内容神经网络以进行信息检索 |
-
2019
- 2019-12-23 CN CN201911333727.0A patent/CN111124366B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159822A (zh) * | 2015-08-12 | 2015-12-16 | 南京航空航天大学 | 一种基于文本词性和程序调用关系的软件缺陷定位方法 |
CN105955719A (zh) * | 2016-04-20 | 2016-09-21 | 北京航空航天大学 | 机载安全关键系统的安全性需求追踪链建立和维护的方法 |
CN109804362A (zh) * | 2016-07-15 | 2019-05-24 | 伊欧-塔霍有限责任公司 | 通过机器学习确定主键-外键关系 |
US9940394B1 (en) * | 2016-10-14 | 2018-04-10 | Slack Technologies, Inc. | Messaging search and management apparatuses, methods and systems |
CN110447042A (zh) * | 2017-02-17 | 2019-11-12 | 谷歌有限责任公司 | 合作地训练和/或使用单独的输入和后续内容神经网络以进行信息检索 |
Non-Patent Citations (3)
Title |
---|
杜天保等: "通过代码模式改进基于IR的需求和代码之间追踪生成方法", 《小型微型计算机系统》 * |
樊瑞等: "基于信息检索和本体的动态需求追踪方法", 《工业控制计算机》 * |
胡成海等: "基于信息检索的需求跟踪方法综述", 《计算机应用与软件》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460401A (zh) * | 2020-05-20 | 2020-07-28 | 南京大学 | 结合软件制品过程信息和文本相似度的制品自动追踪方法 |
CN111460401B (zh) * | 2020-05-20 | 2023-08-22 | 南京大学 | 结合软件制品过程信息和文本相似度的制品自动追踪方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111124366B (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109145153B (zh) | 意图类别的识别方法和装置 | |
US8538898B2 (en) | Interactive framework for name disambiguation | |
Di Lucca et al. | An approach to identify duplicated web pages | |
US20160162492A1 (en) | Confidence Ranking of Answers Based on Temporal Semantics | |
US20170177675A1 (en) | Candidate Answer Generation for Explanatory Questions Directed to Underlying Reasoning Regarding the Existence of a Fact | |
CN110968695A (zh) | 基于弱监督技术主动学习的智能标注方法、装置及平台 | |
CN110334186B (zh) | 数据查询方法、装置、计算机设备及计算机可读存储介质 | |
CN109165382B (zh) | 一种加权词向量和潜在语义分析结合的相似缺陷报告推荐方法 | |
CN105677857B (zh) | 一种关键词与营销落地页的精准匹配方法和装置 | |
US9990268B2 (en) | System and method for detection of duplicate bug reports | |
US20160012335A1 (en) | Utilizing Temporal Indicators to Weight Semantic Values | |
US20190155942A1 (en) | Searching multilingual documents based on document structure extraction | |
US20200151252A1 (en) | Error correction for tables in document conversion | |
JP2020009430A (ja) | モデル駆動型ドメイン固有検索を実行する方法及びシステム | |
US11537918B2 (en) | Systems and methods for document similarity matching | |
CN111124366B (zh) | 一种基于信息检索的需求追踪恢复方法 | |
Khan et al. | Query optimization in Arabic plagiarism detection: An empirical study | |
CN117252186A (zh) | 基于xai的信息处理方法、装置、设备及存储介质 | |
Zhang et al. | A novel approach for recommending semantically linkable issues in GitHub projects | |
CN113254671B (zh) | 基于query分析的图谱优化方法、装置、设备及介质 | |
US11880798B2 (en) | Determining section conformity and providing recommendations | |
CN114491209A (zh) | 基于互联网信息抓取的企业业务标签挖掘的方法和系统 | |
CN113705692A (zh) | 基于人工智能的情感分类方法、装置、电子设备及介质 | |
CN108959555B (zh) | 查询式的扩展方法、装置、计算机设备及存储介质 | |
CN111339272A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |