[发明专利]一种基于相关主题模型的程序理解和特征定位方法有效
申请号: | 201510027127.7 | 申请日: | 2015-01-20 |
公开(公告)号: | CN104572111B | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 孙小兵;刘湘月;李斌;李云;朱俊武 | 申请(专利权)人: | 扬州大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 南京苏科专利代理有限责任公司32102 | 代理人: | 董旭东 |
地址: | 225009 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了软件开发领域内的一种基于相关主题模型的程序理解和特征定位方法,包括以下步骤1)导入需要理解的软件系统的源代码,提取类文件,并对其进行预处理;2)利用相关主题模型为经过预处理的类文件进行建模,生成程序特征网络;3)输入特征并将特征扩展为特征集,利用相关主题模型预测上述程序特征网络中与该特征集有边的结点;4)将所预测的结点进行排序;5)为排序后的结点生成内容摘要和排序摘要以供使用者参考;6)输出排序后的结点对应的类文件及其摘要,利用本方法可使得开发人员可对整个系统有一个更加简单和快速的理解以及在定位软件特征时候为开发人员更加精准的结果,本发明可用于软件开发维护中。 | ||
搜索关键词: | 一种 基于 相关 主题 模型 程序 理解 特征 定位 方法 | ||
【主权项】:
一种基于相关主题模型的程序理解和特征定位方法,其特征在于,包括以下步骤:步骤1)导入需要理解的软件系统的源代码,提取每个类文件的用户自定义标识符以及注释作为研究对象,并对其进行预处理,步骤1)的预处理过程包括以下步骤:a)删除语义上和编程语言相关的关键字;b)对一些按照驼峰规则和有下划短线相连的组合词进行分词;c)去除英语停用词;d)将词语的不同形式进行归一化;步骤2)利用相关主题模型为经过预处理的类文件进行建模,生成具有多个结点的关于类文件的程序特征网络,结点之间建立边的关系,输出该程序特征网络供程序理解,在建模时,程序特征网络中的结点为经过预处理的类文件,通过确定结点之间是否共有相同的主题或者是否具有调用关系来确定结点之间边的关系;步骤3)输入特征并将特征扩展为特征集,将扩展的特征集作为上述程序特征网络中的一个新结点,利用相关主题模型预测上述程序特征网络中与该新结点有边的结点,具体方法为,将特征利用WordNet搜索其同义词的方法进行扩展,成为特征集,特征集是特征中动词和名词以及其同义词的集合,并将该特征集作为结点预测在程序特征网络中相关联的结点,即将其与程序特征网络中的结点建立边的关系;步骤4)将所预测的结点进行排序,出现特征词语次数多的类文件则排在前面,排序具体方法为出现既包含特征中动词又包含名词的结点放在前面,之后放包含名词的结点,然后放只包含动词的结点,最后放两者都不包含的结点,再按照类中方法名、类名以及变量名出现特征词语次数的顺序将对应的类文件进行排序;步骤5)为排序后的结点生成内容摘要和排序摘要以供使用者参考,生成内容摘要和排序摘要的具体方法为,内容摘要为提取结点中的动词和名词,将他们参照特征的形式结合为动名词短语,排序摘要为在排序时类中出现特征词语的方法名、类名、变量名以及注释及其出现特征词语的次数;步骤6)输出排序后的结点对应的类文件及其摘要。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510027127.7/,转载请声明来源钻瓜专利网。
- 上一篇:一种车载ECU在线升级系统及方法
- 下一篇:一种状态机等价变换的方法和装置