[发明专利]一种基于目标模型的日志记录和错误分析工具在审
| 申请号: | 201910158658.8 | 申请日: | 2019-03-01 |
| 公开(公告)号: | CN111258792A | 公开(公告)日: | 2020-06-09 |
| 发明(设计)人: | 薛冰冰;荣国平;邵栋;张贺 | 申请(专利权)人: | 南京大学 |
| 主分类号: | G06F11/07 | 分类号: | G06F11/07 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 210093 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 目标 模型 日志 记录 错误 分析 工具 | ||
1.一个基于目标模型的日志记录和错误分析工具(即JLLAP),特征在于:由两部分组成,即Log Lint和Log Analyzer,这两部分都是基于目标模型实现的。此工具设计为Intellij IDEA的插件,在实时模式下工作。在Intellij IDEA中安装成功后即可使用。在使用过程中,Log Lint部分在开发人员编写代码的同时,会根据树形结构目标模型和其他几个日志记录规则自动扫描当前代码。当检查到特定位置中缺少日志记录语句时,会高亮显示缺少日志记录语句的代码段,并且通过名为”快速修复”的功能,让开发人员可以根据代码上下文方便地插入日志语句。当软件运行中出现故障时,Log Analyzer部分会利用以模板形式描述的树形结构的目标模型将日志分为一组目标和任务,最终将日志文件转换为目标树,从而捕获软件系统的主要执行状态以帮助开发人员缩小故障位置。至此,日志记录和日志分析实践将形成一个闭环,其中日志规范化记录提供高质量日志以改进日志分析,而日志分析结果反过来促进日志记录的规范化。
2.根据权利要求1所述的工具,其特征在于,用来表示软件执行的抽象结构的目标模型是一种树形结构。此模型将开发人员打算从日志文件中获取的内容描述为目标是树形结构的根节点,目标的组成部分描述为任务是树形结构的子节点。其中一个目标可以被划分成多个任务,并且一些任务可以进一步被分为子任务。而作为树的节点,目标和任务都有自己的预置模式和后置模式,分别表示自己的开始条件和结束条件。每一个任务和目标都可以用状态来描述,指示任务或目标是否完成执行,或者是否有任何类型的故障或异常。共有四种不同的状态:正常状态代表目标或任务是完整无误的;错误状态代表目标或任务完成,但包含错误;前置缺失状态代表目标或任务缺失预置模式;后置缺失状态代表目标或任务缺失后置模式。
3.根据权利要求1所述的工具,其特征在于,用来扫描代码的日志记录规则包括:断言检查、异常检查、关键分支检查、线程相关检查、服务器相关检查、数据库相关检查、关键类和方法检查。且根据这些代码规则检查项,设计了相应的系统模块,这些模块承担着扫描且检查代码,并根据对应规则判断是否缺失日志记录语句的职责,具体实现上,Log Lint获取当前代码的AST(抽象语法树),然后利用正则表达式匹配来检查缺少的日志记录语句。
4.根据权利要求1所述的工具,其特征在于,名为”快速修复”的功能,是由IntellijIDEA提供支持的。这个功能在Log Lint发现特定位置缺少日志记录语句时,将会以提供一个“快速修复”列表的形式来让开发人员可以根据代码上下文方便地插入所缺失的日志语句,而且还能够为开发人员提供日志记录语句的推荐内容和级别。此外,它支持大多数基于Java的日志库,例如Log4J、SLF4J、Java util日志记录等。
5.根据权利要求1所述的工具,其特征在于,以模板形式描述的树形结构的目标模型主要是以结构化的伪代码形式详细描述每个目标的名称、前置条件和后置条件以及组成此目标的任务。而每个任务也需要详细记录它的名称、前置条件和后置条件,而当某个任务有子任务时,也需要详细记录下来。
6.根据权利要求1所述的工具,其特征在于,利用将日志分为一组目标和任务主要是,Log Analyzer部分会逐行扫描整个日志文件,并确定日志是否与模板(即预定义的目标模型)匹配,然后根据模板将每条日志分组至目标或任务,最终将日志文件转换为目标树。
7.根据权利要求1所述的工具,其特征在于,捕获软件系统的主要执行状态主要是,LogAnalyzer部分会确定每个目标或任务的状态,然后根据目标或者任务的状态来分析系统运行情况:目标或任务是错误状态时,可能是因为它或它的子任务包含异常调用堆栈或是ERROR级别日志等;当是正常状态时,可能因为是它或它的子任务包含低于安全级别的日志且无异常;当是模式缺失状态时,可能是因为日志与模式不匹配(缺失前置或者后置模式)。从而找出程序的执行逻辑和路径,并根据执行逻辑和路径的对应状态分析出故障原因。
8.根据权利要求1所述的工具,其特征在于,日志记录和日志分析实践将形成一个闭环主要是在Log Lint的帮助下,开发人员可以或多或少地标准化他们的日志记录实践,并为后续日志分析提供更有效的信息。Log Analyzer还可以丰富Log Lint的检查规则,并最终形成良性的闭环。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910158658.8/1.html,转载请声明来源钻瓜专利网。





