The invention discloses a software network representation, storage and retrieval method with large complex software with constraint logic attribute. The first open source object-oriented software on the package, class, method, statements, variables, video and audio, pictures and related information obtained through static analysis. Then combined with the theory of constraint logic statements information into constraint logic attributes, based on the complex network theory is established on the basis of software network model on the target information extraction software. The absolute path of the software network model node as the key and edge as the value is stored in the Redis cluster. According to the keyword to be analyzed and the reachability partitioning algorithm, the information related to the keyword to be analyzed is retrieved in the Redis cluster. Finally, the global structure behavior information of the target software and the local information about the keyword to be analyzed can be depicted by using the visual chemical tool.
【技术实现步骤摘要】
大型复杂软件带约束逻辑属性的软件网络表示、存储与检索方法
本专利技术属于软件分析领域,具体涉及一种带约束逻辑属性的软件网络的表示、存储与检索方法。
技术介绍
随着网络技术的迅速发展和软件的广泛使用,我们进入了信息化时代。软件系统作为一类典型人工参与制造的复杂系统,可以解决变化多端的实际问题,在现代生活的方方面面起着很重要的作用,支持并控制着我们生活的很多重要领域。如何以最小的代价开发出更高质量的软件引起了广泛关注,软件质量和可靠性的提高成为软件业最为关注问题之一,软件分析的一个主要应用就是保障软件质量。然而应用领域在深度和广度上的扩展导致软件系统规模的激增和软件应用环境的日益复杂,近年来由于软件应用范围持续扩张、编程辅助工具提升了代码生成能力和开源理念的被认可,软件代码的增长十分迅速,据分析到2050年人们开发的代码将达到一万亿行,软件分析也因此需要一些新的视角。软件分析能够基于开发人员的当前任务持续的提供上下文信息。漂亮的可视化和人机交互技术促进了信息的有效呈现。国内外众多科学家认为复杂系统和复杂性科学是21世纪科学发展的前沿。复杂系统和复杂网络研究的成果为探索 ...
【技术保护点】
一种大型复杂软件带约束逻辑属性软件网络的表示、存储与检索方法,其特征在于,包括对软件源代码执行以下步骤:a)首先结合语言识别工具ANTLR,并以目标源码对应的g4文法生成对应的包括词法分析器类、语法分析器类、监听器接口和监听器类在内的工具类,然后继承MBaseListener类自定义其中的监听器类,重写与包、类、方法、语句、变量、视频、音频、图片及这些元素之间关系的相关方法,以用于提取软件源码中相应的关键信息,并将语句信息翻译为约束逻辑表达式,结合复杂网络理论构建带有约束逻辑属性的软件网络模型;然后以各关键词的相对路径为节点名,实线箭头连接有属性包含关系的节点,虚线箭头连接 ...
【技术特征摘要】
1.一种大型复杂软件带约束逻辑属性软件网络的表示、存储与检索方法,其特征在于,包括对软件源代码执行以下步骤:a)首先结合语言识别工具ANTLR,并以目标源码对应的g4文法生成对应的包括词法分析器类、语法分析器类、监听器接口和监听器类在内的工具类,然后继承MBaseListener类自定义其中的监听器类,重写与包、类、方法、语句、变量、视频、音频、图片及这些元素之间关系的相关方法,以用于提取软件源码中相应的关键信息,并将语句信息翻译为约束逻辑表达式,结合复杂网络理论构建带有约束逻辑属性的软件网络模型;然后以各关键词的相对路径为节点名,实线箭头连接有属性包含关系的节点,虚线箭头连接有引用关系的节点,使用Graphviz工具输出可视化的关于目标开源软件的全局视图;b)将步骤a中得到的软件网络模型存储到Redis数据库中。c)给定待分析的关键字,结合可达性分析算法在Redis数据库中检索得到用例相关的局部视图和约束...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。