System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于信息检索和源代码结构的需求跟踪方法技术_技高网
当前位置: 首页 > 专利查询>复旦大学专利>正文

一种基于信息检索和源代码结构的需求跟踪方法技术

技术编号:39975206 阅读:8 留言:0更新日期:2024-01-09 01:05
本发明专利技术公开了一种基于信息检索和源代码结构的需求跟踪方法,具有这样的特征,包括以下步骤:步骤1,引入数据集,数据集包括需求文档和源代码;步骤2,构造一个数据处理引擎,对数据集进行解析,分别对需求文档和源代码进行不同方式的预处理,输出需求文档到源代码之间的追踪链接相似度,得到结果集;步骤3,基于解析完成的数据集,用户对结果集进行标记,展示结果的准确率、召回率以及F<subgt;2</subgt;分数;步骤4,用户对结果进行查询。本发明专利技术能够有效支持高性能的需求跟踪,伸缩性强,相对于已有方法,对跟踪结果的准确率和召回率都有较大改进。

【技术实现步骤摘要】

本专利技术涉及需求工程,具体涉及一种基于信息检索和源代码结构的需求跟踪方法


技术介绍

1、软件系统由存储信息的各种工件组成,如需求文档、规范文档、交互图、用户文档、源代码、用例、测试用例、bug报告等。从需求工程阶段,到项目部署阶段,需求的更新和扩展指导着软件系统开发的整个过程。但是到了软件开发过程的后期阶段,由于应用程序的大小增加、参与该过程的人数增加、系统的快速演化、原始需求文档的变化等各种因素,软件工程师们往往难以对需求进行可靠的跟踪,这就很可能会导致最终的软件产品出现错误,因为很难去对所有需求实现的正确性和完整性进行合理的验证。

2、建立需求的可追溯性是帮助开发人员和利益相关者们在软件开发的过程中了解需求的实现程度的主要方法。需求可追溯性定义为“在正向和反向上对需求的生命周期进行描述和跟踪的能力”。通过建立需求到源码的可追溯性链接,开发人员和利益相关者们可以了解到每段源码的来源,跟踪他们对其做出的每一个变化,了解每条需求的实现情况,从而确保最终能够正确地交付系统。

3、研究需求的可追溯性既可以是从高等级需求到低等级需求的可追溯性,也可以是从需求文档到设计文档的可追溯性,也可以是从需求文档到源码、测试用例等工件的可追溯性,他们的主要区别体现在对文本中关键信息的提取方式。其中从需求到源码的可追溯性生成技术是目前被研究最多的问题,针对该问题,目前基于信息检索(ir)的方法已经成为需求可追溯生成
最流行的技术。ir是按照一定的方式对源信息进行加工、整理、组织和存储,然后从目标信息集合中准确查找出对应目标的技术。

4、图1是基于ir的源码到需求的信息检索过程图。

5、如图1所示,对于从需求到源码的可追溯性生成技术而言,通常需要对需求和源代码进行预处理,提取出其中的关键词,然后以源代码作为查询条件,从需求集合中找到相似度最高的需求作为查询结果。

6、但是传统的基于ir的方法准确性较低,这是因为传统的ir方法如vsm(向量空间模型)往往只基于词语自身的匹配来计算相似度,而忽略了词语的语义以及词语相互间的上下文关系。比如kafka在计算机领域指的是一种高性能的分布式消息队列中间件,而在文学领域则指的是奥地利的小说家,这是一词多义的问题;比如requirement和need都有需求的意思,这是同义词的问题;而vsm是vector space model的缩写,这是缩略词的问题。这些问题都会导致传统的ir方法出现匹配错误或者缺失。针对以上诸多问题,本专利技术提出了对应的改进。


技术实现思路

1、本专利技术是为了解决上述问题而进行的,目的在于提供一种基于信息检索和源代码结构的需求跟踪方法。

2、本专利技术提供了一种基于信息检索和源代码结构的需求跟踪方法,具有这样的特征,包括以下步骤:步骤1,引入数据集,数据集包括需求文档和源代码;步骤2,构造一个数据处理引擎,对数据集进行解析,分别对需求文档和源代码进行不同方式的预处理,输出需求文档到源代码之间的追踪链接相似度,得到结果集;步骤3,基于解析完成的数据集,用户对结果集进行标记,展示结果的准确率、召回率以及f2分数;步骤4,用户对结果进行查询。

3、在本专利技术提供的基于信息检索和源代码结构的需求跟踪方法中,还可以具有这样的特征:其中,步骤1中,需求文档是正向设计的起点,是在项目中以自然语言编写而成的多条英文需求文档,是功能性需求或非功能性需求,源代码是计算机语言指令的集合,用面向对象语言编写而成,源代码的对象主要是源代码中的每个类。

4、在本专利技术提供的基于信息检索和源代码结构的需求跟踪方法中,还可以具有这样的特征:其中,步骤2具体包括以下步骤:步骤2-1,对数据集进行预处理,生成对应的术语-文档矩阵,步骤2-2,利用fnn深度学习网络进行共指消解,包括术语对排名模型的训练和簇集对排名模型的训练;步骤2-3,更新术语-文档矩阵,获取源代码类结构图;步骤2-4,对源代码类结构图进行图嵌入,获取源代码类的向量表示;步骤2-5,利用向量改进需求和源代码类之间相似度的计算,获取跟踪链接相似度,其中,步骤2-1中,对需求文档的处理方式包括:分词、删除冗余以及形态学分析,对源代码的代码部分的处理方式包括:提取标识符、分割标识符、删除冗余以及形态学分析,对源代码的注释部分的处理方式与对需求文档的处理方式相同,步骤2-5中,计算需求文档到源代码之间的追踪链接相似度时,采取设定阈值的方式,将超过阈值的链接设定为有效链接。

5、在本专利技术提供的基于信息检索和源代码结构的需求跟踪方法中,还可以具有这样的特征:其中,步骤2-2具体包括以下步骤:步骤2-2-1,针对文档i的每个术语t,将t在文档i中的每一次出现称为m,然后将m和文档i中的每一个其他术语a作为一个术语对,输入到术语对排名模型中进行训练,其中a是术语t的候选共指;步骤2-2-2,术语对排名模型基于fnn实现,包括输入层、隐藏层以及输出层,术语对排名模型经过输入层的处理,得到m和a的术语对的向量表示;步骤2-2-3,向量经过三层隐藏层,三层隐藏层为三个线性整流单元神经元,每个神经元都与前一层相连接;步骤2-2-4,经过隐藏层处理后,最后经过输出层,输出层由一个和隐藏层第三层全连接的神经元构成;步骤2-2-5,对于文档di和文档dj,得到术语t的两对术语-共指对c1={ai-mi}和c2={aj-mj};步骤2-2-6,将c1和c2输入到簇集对排序模型进行判断,簇集对排序模型包括输入层、池化层以及决定层;步骤2-2-7,池化层通过保存任务的相关信息,同时去除不相关的细节来实现更紧凑的表示,以及更好的鲁棒性;步骤2-2-8,决定层进行计算。

6、在本专利技术提供的基于信息检索和源代码结构的需求跟踪方法中,还可以具有这样的特征:其中,步骤2-2-2中,输入层有一层,输入的特征包括:t的词嵌入、pos标记、位置、与候选词的距离以及与候选词的字符串匹配程度,步骤2-2-3中,术语对排名模型中隐藏层的计算公式如(1)所示:

7、hi(a,m)=max(0,wihi(a,m)+bi)  (1)

8、式中hi(a,m)表示第i层隐藏层的输出,w1是一个m1×i的矩阵,w2是一个m2×m1的矩阵,w3是一个m3×m2的矩阵,其中m1=1000,m2=m3=500,步骤2-2-4中,通过公式(2)计算m和a之间的匹配度:

9、s0(a,m)=w0h3(a,m)+b0   (2)

10、式中,w0是一个1×m3的矩阵,步骤2-2-5中,其中mi和mj分别是t在di和dj中的出现,ai和aj分别是t在di和dj中的候选共指,步骤2-2-6中,输入层将c1和c2的信息融合为公式(3)所示的集合:

11、rc(ci,cj)=[h3(ai,mi),h3(ai,mj),h3(aj,mi),h3(aj,mj)]  (3)

12、步骤2-2-7中,如公式(4)所示,池化操作连接了平均池化和最大池化的结果:<本文档来自技高网...

【技术保护点】

1.一种基于信息检索和源代码结构的需求跟踪方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

3.根据权利要求1所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

4.根据权利要求3所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

5.根据权利要求4所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

6.根据权利要求3所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

7.根据权利要求3所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

8.根据权利要求3所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

9.根据权利要求1所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

10.根据权利要求1所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

【技术特征摘要】

1.一种基于信息检索和源代码结构的需求跟踪方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

3.根据权利要求1所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

4.根据权利要求3所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

5.根据权利要求4所述的基于信息检索和源代码结构的需求跟踪方法,其特征在于:

<...

【专利技术属性】
技术研发人员:杨卫东王唐宇
申请(专利权)人:复旦大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1