[发明专利]一种基于程序分析的软件日志行为自动识别方法有效
申请号: | 201611016393.0 | 申请日: | 2016-11-18 |
公开(公告)号: | CN106598843B | 公开(公告)日: | 2018-12-18 |
发明(设计)人: | 廖湘科;李姗姗;贾周阳;刘晓东;董威;林彬;周书林;徐向阳;郦旺 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 赵洪 |
地址: | 410073 湖南省长沙市砚瓦池*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 程序 分析 软件 日志 行为 自动识别 方法 | ||
本发明公开了一种基于程序分析的软件日志行为自动识别方法,目的是解决现有日志增强工作难以自动、准确识别软件已有日志行为的问题。技术方案是先将目标工程Proj的源代码以函数为单位分割,识别函数中的分支语句、函数调用语句、日志语句,并分别放到该函数的分支语句集合、函数调用语句集合和日志语句集合中,筛选出调用集和分支集之间存在数据依赖的元素,在存在数据依赖的元素中再筛选出与日志集元素存在控制依赖的元素,得到日志行为集。采用本发明可以自动识别源代码中面向故障诊断的日志行为,也可以精确识别函数调用语句、分支语句与日志语句之间的对应关系,提升日志增强的有效性,使得日志行为识别更为快速、准确。
技术领域
本发明涉及计算机软件中日志行为的识别方法,尤其指大规模软件中面向故障诊断的日志行为识别方法。
背景技术
当今计算机技术迅速发展、计算能力不断提高,计算机软件系统无论从规模上还是功能上都在增大、增强。随着软件需求的日益复杂,大规模软件系统在军用和民用领域中均被广泛使用。目前,中、小规模软件可以利用形式化等方法有效保障可靠性,但大规模软件的故障诊断主要依靠人力排查,定位问题不及时且效率低,错误重现和调试都十分困难。
软件日志是大型软件中故障诊断的重要手段,它可以记录程序运行时的动态信息,帮助维护人员分析重现错误,进而更正系统错误。规范和充分的日志对于软件故障诊断非常重要,也是良好编程规范的必要因素。但目前软件中的日志多数是依赖编程人员的经验和个人习惯,缺乏统一的被普遍接受的标准,在大型开源软件中利用现有的日志信息进行故障重现和检测难度大、效率低。因此,通过增强日志代码质量,进一步改善大规模软件故障检测技术的研究愈加重要。同时,由于代码量巨大,人工改善软件日志几乎不可能完成,因此自动化地实现日志增强的需求越来越迫切,同时也面临重大挑战。
日志自动增强的主要方法是通过学习软件已有日志,预测需要添加日志的程序点。其中,如何自动、准确地识别软件已有面向故障诊断的日志是日志增强过程中的一个关键技术。目前国际上已有日志的自动化增强工具,其中有代表性的有朱杰明的文章Learning to Log:Helping Developers Make Informed Logging Decisions(为开发人员提供有效日志决策)中设计的LogAdvisor,以及袁丁的文章Be Conservative:EnhancingFailure Diagnosis with Proactive Logging(保守地插入前瞻日志以增强故障诊断能力)中设计的Errlog。已有工作在识别日志时需要用户提供信息(如指定日志函数名),导致日志行为识别时效率、准确性较低,进而影响到后续日志增强的有效性。
如何有效识别计算机软件中面向故障诊断的日志行为,是自动化的日志增强中重要技术问题,如何针对现有日志增强工作难以自动、准确识别软件已有日志行为的问题,提供一种日志行为自动识别方法,为软件日志的自动增强提供技术支持是本领域技术人员极为关注的技术问题。
发明内容
本发明要解决的技术问题是为支持软件日志的自动化增强提供一种精确的日志行为识别方法,解决现有日志增强工作难以自动识别软件已有日志行为的问题,使得日志行为识别过程更为快速、准确。给定目标工程的源代码,本发明可以自动识别出源代码中面向故障诊断的日志行为。
本发明的技术方案包括以下步骤:
第一步、准备输入输出。方法为:
1.1 记目标工程为Proj,将Proj的源代码以函数为单位分割,得到函数集F={func1,func2,...,funcf},其中func1为Proj中的第1个函数,f为Proj中函数的个数。
1.2 建立日志行为集LB,用于保存日志行为识别结果,并初始化为空。
第二步、建立函数的分支语句、函数调用语句和日志语句的集合。方法为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611016393.0/2.html,转载请声明来源钻瓜专利网。