[发明专利]一种基于运行日志的软件结构复现的方法有效
| 申请号: | 202010629506.4 | 申请日: | 2020-07-03 |
| 公开(公告)号: | CN111984311B | 公开(公告)日: | 2022-04-22 |
| 发明(设计)人: | 徐杨;周宏晨;林少辉;梁梓峰;李东 | 申请(专利权)人: | 华南理工大学 |
| 主分类号: | G06F8/74 | 分类号: | G06F8/74 |
| 代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 詹丽红 |
| 地址: | 510640 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 运行 日志 软件 结构 复现 方法 | ||
本发明公开了一种基于运行日志的软件结构复现的方法,该方法首先基于插装技术对软件系统进行动态插装,并获得原始日志;然后对原始日志进行预处理操作,即按照业务请求对原始日志分组并得到事件日志;最后使用首次提出的逆向挖掘算法,对事件日志进行挖掘并最终复现软件系统的结构模型。相对于传统获取软件结构模型的方法,本发明并不需要软件系统的源代码,而是基于成熟的插装技术,对使用Java语言实现的软件系统在运行时植入检测代码从而获得原始日志,最终挖掘得到结构模型。也可以对一个部署完成的软件系统在其正常工作时进行动态插装,而不对软件系统的正常使用造成太大影响。此外,本发明还提供了一种描述软件结构的形式化类图模型。
技术领域
本发明涉及软件逆向工程技术领域,具体涉及一种基于运行日志的软件结构复现的方法。
背景技术
软件结构模型可以帮助人们理解软件系统的内部组成结构,对软件系统的理解和维护起到极其重要的作用。然而,很多情况下软件系统的模型往往并不是能够直接获得的。例如一些早期就存在的遗留软件,很多文档或者模型已经缺失,或者在快速开发过程中就本身就缺少详细的模型文档,甚至很多遗留软件的源代码都已经缺失。这使得人们难以理解这些软件,从而导致维护遗留系统变成一件很困难的事情,也就无法对软件进行进一步的重用。软件逆向工程能够解决上述问题,具有重大现实意义和经济价值,也越来越受到人们的重视。
然而,现有的获得软件结构模型的相关工作都属于静态分析,即通过对软件系统的源代码或者编译后的目标码进行静态分析,从中抽象出软件结构模型的过程。然而正如上文所述,其实在某些情况下用户无法获得软件系统的源代码,这些工作也就无法适用了。同时静态分析常常利用源代码中的不同文件的包含来确定彼此之间的关系,然而很多时候即使包含了某文件的头文件,但在实际上却没有使用到这个文件,这样的判定规则必然存在一些误判。
因此,为了针对那些遗失源代码而只剩可执行程序的软件系统,同时为了提高复现的软件结构模型的准确性,目前亟待提出一种基于软件系统运行信息的软件静态结构模型逆向挖掘方法。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于运行日志的软件结构复现的方法。这是一种较为新颖的方法,本质上属于动态分析,通过软件系统运行时的真实动态信息来挖掘复现软件结构模型。
本发明的目的可以通过采取如下技术方案达到:
一种基于运行日志的软件结构复现的方法,该方法无需软件系统的源代码,可以对一个已经投入使用的软件系统进行动态插装,在几乎不影响其正常使用的同时获得原始日志,然后将原始日志预处理成事件日志,之后根据事件日志提取软件结构的基础信息,随后挖掘软件结构的关系信息,并最终构建一个形式化的软件结构模型,最终还可以对挖掘出的软件结构模型进行可视化展示。其特征在于,该方法包括以下步骤:
S1、针对一个由Java编程语言实现的软件系统,基于插装技术在其处于运行时进行动态插装,并最终收集到原始日志;
S2、将步骤S1中得到的原始日志进行预处理得到事件日志,即通过识别软件系统处理的业务请求将原始日志中的事件进行分组,从而最终得到事件日志;
S3、对步骤S2中得到的事件日志进行词法分析与信息提取,获得事件日志中的类组件集合;
S4、对步骤S2中得到的事件日志以及步骤S3中获得的类组件集合进行逆向挖掘,获得类组件之间的关系信息;
S5、利用形式化后的类图模型记录并描述上述得到的类组件集合信息与类组件之间的关系信息,进而构建最终的软件结构模型。也可以将模型进行可视化展示。
进一步地,所述的步骤S1过程如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010629506.4/2.html,转载请声明来源钻瓜专利网。





