[发明专利]大型复杂软件带约束逻辑属性的软件网络表示、存储与检索方法有效
申请号: | 201710573289.X | 申请日: | 2017-07-14 |
公开(公告)号: | CN107341021B | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 任胜兵;贾梦雨 | 申请(专利权)人: | 中南大学 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F16/2458;G06F16/27;G06F16/248 |
代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 欧阳迪奇 |
地址: | 410083 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 大型 复杂 软件 约束 逻辑 属性 网络 表示 存储 检索 方法 | ||
1.一种大型复杂软件带约束逻辑属性软件网络的表示、存储与检索方法,其特征在于,包括对软件源代码执行以下步骤:
a)首先结合语言识别工具ANTLR,并以目标源码对应的g4文法生成对应的包括词法分析器类、语法分析器类、监听器接口和监听器类在内的工具类,然后继承MBaseListener类自定义其中的监听器类,重写与包、类、方法、语句、变量、视频、音频、图片及这些元素之间关系的相关方法,以用于提取软件源码中相应的关键信息,并将语句信息翻译为约束逻辑表达式,结合复杂网络理论构建带有约束逻辑属性的软件网络模型;然后以各关键词的相对路径为节点名,实线箭头连接有属性包含关系的节点,虚线箭头连接有引用关系的节点,使用Graphviz工具输出可视化的关于目标开源软件的全局视图;
b)将步骤a中得到的软件网络模型存储到Redis数据库中;
c)给定待分析的关键字,结合可达性分析算法在Redis数据库中检索得到用例相关的局部视图和约束逻辑事实库;
所述的步骤a)中,结合复杂网络理论构建带约束逻辑属性的软件网络模型,是以关键信息的名称为节点,以关键信息之间的属性包含关系、方法间的调用关系和方法与变量间通信关系为边,构建软件网络模型。
2.如权利要求1所述的方法,其特征在于,所述的步骤a)中,所述的语句信息为包括赋值、选择、循环在内的语句类型、语句控制信息、语句变量信息和语句行号信息。
3.如权利要求1所述的方法,其特征在于,所述的步骤a)中,将语句信息翻译为约束逻辑表达式,是根据约束逻辑理论进行的。
4.如权利要求1所述的方法,其特征在于,步骤b是将得到的软件网络模型及其约束逻辑属性以软件网络模型的关键字为键、边的属性名为域名、属性值为值存储到NoSQL数据库-Redis中。
5.如权利要求1所述的方法,其特征在于,步骤c是结合可达性分析和属性包含关系与引用关系提取与关键字用例相关的局部视图和约束逻辑事实库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710573289.X/1.html,转载请声明来源钻瓜专利网。