[发明专利]一种基于信息检索的多索引集成软件构件检索方法及系统有效
申请号: | 201710820002.9 | 申请日: | 2017-09-13 |
公开(公告)号: | CN107562919B | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 王炜;何云;李彤;杨云 | 申请(专利权)人: | 云南大学 |
主分类号: | G06F16/30 | 分类号: | G06F16/30 |
代理公司: | 西安知诚思迈知识产权代理事务所(普通合伙) 61237 | 代理人: | 麦春明 |
地址: | 650091 云*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 信息 检索 索引 集成 软件 构件 方法 系统 | ||
本发明属于软件构件检索领域,公开了一种基于信息检索的多索引集成软件构件检索方法及系统,本发明引入词性过滤对软件源代码关键词进行预处理,通过对特定词性词汇的过滤,在缩减索引空间内源代码向量的稀疏性的同时,提高了相似性计算的准确度,提升了软件构件检索的性能。本发明构件检索是建立在索引空间内的相似度计算基础之上的。本发明提出了一种集成“词袋”模型索引与词嵌入模型索引的相似性计算方法,该方法以源代码构件自身结构的“内聚度”和“耦合度”作为评价指标,将“词袋”模型索引方法与词嵌入模型索引方法所计算出的相似度进行集成,获得了更为精确的相似性度量,从而获得更为精准的构件检索结果。
技术领域
本发明属于软件构件检索领域,尤其涉及一种基于信息检索的多索引集成软件构件检索方法及系统。
背景技术
目前,由于软件构件库规模的日益增长,如何快速地从现有软件构件库中检索出需要的源代码构件,成为了当前各软件公司、构件库平台亟待解决的问题。
软件构件是软件系统中实际存在的可更换部分,它实现特定的软件功能,符合一套接口标准并实现一组接口。软件构件检索是指,建立需求功能与构件库中软件构件源代码实体之间的映射关系。随着软件行业的爆炸式增长,软件系统规模、开发成本呈大幅度增长态势,几乎所有软件公司都构件了自己的构件库,以期通过软件复用的方式提高构件的重用性,降低软件开发成本。同时,也出现了以GitHub、Source Forge等为代表的开源软件构件库,这些构件库内存储了巨量可供软件开发人员复用的软件构件,为软件开发人员提供了极为丰富的构件资源。软件构件检索技术是提高软件源代码可重用性,降低软件开发和维护成本的重要方法。在当前软件构件库大规模环境下,如何快速、精确的从软件构件库中检索出软件开发、维护人员所需求的软件构件成为了一个亟待解决的关键问题。
现有技术中,1992年提出了最早的构件检索方法——软件侦测(SoftwareReconnaissance),经过20多年的发展,当前软件构件检索技术根据输入数据的不同大致分为四类:静态方法(Static Method)、动态方法(Dynamic Method)、文本方法(TextualMethod)和混合方法(Hybrid Method)。
由于具有高易用性、强扩展性和低开销等优点,成为了当前构件检索领域研究的热点。由于实现方式最为直观,因此现有文本方法多基于信息检索技术实现。
现有基于信息检索的软件构件检索技术方案基本流程大致相似,包含四个基本步骤:预处理、语料向量化、计算查询向量、获取结果。
1、预处理。包含提取关键词、分词、词根还原和去除停用词4部分。根据所需粒度(类、方法等),提取构件实体(源代码)中的关键词,为每一个构件实体建立一个代码文档。分词操作将连续的字符串按照一定的特殊字符(例如:驼峰命名法)或规则拆分成若干独立的单词。词根还原将意义相近的同源词和同一个关键词的不同形态进行归并,例如:inserting还原成为insert。去除停用词操作删除代码中停词表记录的词。例如源代码中的数字、关冠词、不定冠词、单个字母等。预处理的好坏将决定源代码语料中关键词的多寡,并最终影响索引算法输出向量维度的大小以及稀疏性等。
2、索引。将经过预处理的语料转换为索引空间内的数值化向量形式,即将语料转化为矩阵M,第i个代码文档对应矩阵中第i个列向量mi。用户提交自然语言构成的查询语句Q用于描述待检索构件,将预处理后的Q转化为索引空间内向量q。
3、获取结果。计算源代码构件向量mi与查询语句向量q之间的相似性,并按照相似度进行将序排列。相似性通常使用距离的形式进行表达。距离越近则相似度越高,认为该构件源代码与需求符合的可能性越大。设定阈值h,将与查询向量q之间相似度大于h的源代码向量{m1,m2,…,mn}作为构件检索的输出结果。
围绕基于信息检索的构件检索基本步骤,各国学者开了很多研究工作:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南大学,未经云南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710820002.9/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置