一种线性时态逻辑规范的通用并行挖掘方法技术

技术编号:15704730 阅读:112 留言:0更新日期:2017-06-26 09:19
本发明专利技术公开了一种线性时态逻辑规范的通用并行挖掘方法,该方法包括:预处理步骤、规范实例生成步骤、规范实例验证步骤、结果筛选步骤。其中,预处理步骤实现对日志文件进行分割处理,获取日志中出现的事件集合,并收集这些事件在日志中的出现位置信息;规范实例生成步骤,利用输入的规范模板,结合日志中的事件集合,生成具体的线性时态逻辑规范实例。规范实例检验步骤,负责利用预处理后的事件位置信息,计算规范实例在日志中的支持度、置信度;结果筛选步骤,负责对挖掘的结果集合进行筛选,去除支持度、置信度不符合挖掘要求的规范实例。该挖掘方法充分利用了多线程技术进行并行计算,能够高效地挖掘任意类型的线性时态逻辑规范。

【技术实现步骤摘要】
一种线性时态逻辑规范的通用并行挖掘方法
本专利技术涉及一种计算机
,尤其是模型检测领域中的线性时态逻辑的规范挖掘技术,具体涉及一种线性时态逻辑规范的通用并行挖掘方法。
技术介绍
与其他工程产品不同的是,软件产品在其整个生命周期中会不断地变化演进。而在对软件进行维护、更新的过程中,为保持系统原有功能的正确性,维护人员通常需要付出极大的努力。据统计,软件的维护成本占据了软件开发成本的90%。因此,研究如何降低软件维护成本具有十分现实的意义。而软件维护成本之中的绝大部分,都源于对遗留源代码理解吸收所产生的成本。有研究表明,为理解原有代码付出的代价超过了总维护代价的50%。通常,开发人员会选择阅读软件规范文档来辅助软件程序的理解。然而,在许多企业中,开发人员迫于市场应用的时效性,疏忽了规范文档的编写与维护,以至于很大部分的软件规范文档并没有随着软件程序的演化得到及时的更新。这样,经过若干次演化周期,最新版本的软件程序早就与原始的规范文档大相径庭。因此,如何及时地更新软件规范,成为了一个值得探索的问题。另外,为了保证软件系统的正确性,人们提出了模型检测技术。例如申请号为201510395404.X,专利技术名称为安全交换协议模型检测方法的中国专利技术专利,公开了一种安全交换协议模型检测方法,该方法的步骤包括:1)构建安全交换协议模型;2)构建安全属性模型;3)构建攻击者模型;4)状态约简以及模型检测。模型检测技术主要通过对软件系统进行抽象建模,并采用一系列的形式化性质来验证模型是否符合特定性质,以研究系统是否具有某种性质,或违反某种约束。线性时态逻辑通常用于形式化定义模型所该具备的性质和约束。然而,构造形式化性质的困难一直阻碍了模型检测技术的广泛应用。因此,有必要寻找一种方法,能够自动地从软件系统中获取软件系统具备的性质或约束。正如人们观察自然现象来了解自然规律,可以采用某种自动化的方法,根据软件系统的运行日志,运行轨迹来学习、挖掘软件系统所具备的性质。
技术实现思路
为解决以上问题,本专利技术公开了一种线性时态逻辑规范的通用并行挖掘方法,主要用于从软件系统的日志文件中挖掘日志中各种事件之间所具备的线性时序关系,用于获取日志中事件之间的规律,以推测出软件程序中可能具备的线性时态性质,从而辅助对程序的理解分析,也可用于通信协议分析。具体的,本专利技术公开了一种线性时态逻辑规范的通用并行挖掘方法,包括如下步骤:预处理步骤,对日志文件进行分割,分离出日志文件中的独立轨迹,获取日志文件中所有事件的集合以及每个事件在独立轨迹中出现的位置;规范实例生成步骤,根据输入的规范模板集合,将其中的变量与日志事件集合中的事件依次进行绑定,以获取规范实例候选集合;规范实例验证步骤,依次对规范实例候选集合中的规范实例进行验证,计算其在日志中的支持度、置信度情况;结果筛选步骤,根据输入的挖掘要求,从规范实例候选集合中去除支持度、置信度不符合要求的规范实例。优选的,如上所述的线性时态逻辑规范的通用并行挖掘方法,所述预处理步骤包括如下子步骤:轨迹分离步骤,通过文本处理,将日志中的数据读取到内存中,按照分隔符进行分离,获取一个元素为单条轨迹所组成的集合;事件集合获取步骤,分别扫描每条轨迹,以上述分隔符对轨迹进行分割处理,获取原子事件集合;事件位置信息获取步骤,扫描每条轨迹,记录事件在轨迹中出现的位置信息。优选的,如上所述的线性时态逻辑规范的通用并行挖掘方法,所述预处理步骤的实现过程为:顺序地从日志文件中读取字符串,在遇到分隔符时,识别并判断该分隔符为事件分隔符或者是轨迹分隔符,若为轨迹分隔符,则当前轨迹终止并新建一个轨迹存储对象;若为事件分隔符,则记录新的事件位置信息,并将该事件加入到事件集合之中。优选的,如上所述的线性时态逻辑规范的通用并行挖掘方法,所述规范实例生成步骤包括如下三个子步骤:规范模板分析步骤,对输入的规范模板进行语法分析,获取规范模板中的变量;变量绑定步骤,用事件集合中的事件,对规范模板中的变量进行替换,即将规范模板中的变量绑定为特定的事件;实例生成步骤,规范模板中的变量都绑定事件后,则成为一个具体的规范实例,不同规范模板变量绑定不同的事件,以生成不同的规范实例。优选的,如上所述的线性时态逻辑规范的通用并行挖掘方法,所述规范实例验证步骤包括如下三个子步骤:初始化步骤,为每条轨迹生成一个验证器线程实例;并行验证步骤,并行地执行各个线程实例,按照线性时态逻辑的语义,检查每个规范实例在每个轨迹上是否满足;统计汇总步骤,将并行计算的结果进行汇总,统计每个规范实例在所有轨迹上的满足情况,得到一个以规范实例和统计数据的键值对为元素的统计数据映射表。优选的,如上所述的线性时态逻辑规范的通用并行挖掘方法,所述结果集筛选步骤通过对所述统计汇总步骤产生的统计数据映射表进行遍历,以去除统计数据不符合要求的规范实例项。本专利技术的优点在于,与现有技术相比,本专利技术公开的一种线性时态逻辑规范通用并行挖掘方法,具有如下有益效果:该方法根据线性时态逻辑规范模板,构造线性时态逻辑规范实例,再通过多线程技术进行并行验证,能够非常高效地获取正确的线性时态逻辑规范。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:附图1示出了根据本专利技术实施例的线性时态逻辑规范通用并行挖掘方法流程框图;附图2示出了根据本专利技术实施例的线性时态逻辑规范通用并行挖掘方法中的预处理步骤的流程框图;附图3示出了根据本专利技术实施例的线性时态逻辑规范通用并行挖掘方法中规范实例生成步骤的流程框图;附图4示出了根据本专利技术实施例的线性时态逻辑规范通用并行挖掘方法的规范实例验证步骤的流程框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。如图1所示,以上述系统实现的线性时态逻辑规范通用并行挖掘方法包括步骤:S110、预处理步骤:对日志文件进行分割,分离出日志文件中的独立轨迹(轨迹是事件按照时间顺序排列所组成的序列),获取日志文件中所有事件的集合(EVENT)以及每个事件在独立轨迹中出现的位置(MAP<Event,Position>)。日志文件是用于记录系统操作事件的记录文件或文件集合,操作系统有操作系统日志文件,数据库系统有数据库系统日志文件,等等。S120、规范实例生成步骤:根据输入的规范模板集合,将其中的变量与日志事件集合中的事件依次进行绑定,以获取规范实例候选集合SIC(SpecificationInstanceCandidates)。S130、规范实例验证步骤:依次对规范实例候选集合中的规范实例进行验证,计算其在日志中的支持度、置信度情况。支持度(Support)的公式是:Support(A->B)=P(A∪B)。支持度揭示了A与B同时出现的概率。如果A与B同时出现的概率小,说明A与B的关系不本文档来自技高网
...
一种线性时态逻辑规范的通用并行挖掘方法

【技术保护点】
一种线性时态逻辑规范的通用并行挖掘方法,包括如下步骤:预处理步骤,对日志文件进行分割,分离出日志文件中的独立轨迹,获取日志文件中所有事件的集合以及每个事件在独立轨迹中出现的位置;规范实例生成步骤,根据输入的规范模板集合,将其中的变量与日志事件集合中的事件依次进行绑定,以获取规范实例候选集合;规范实例验证步骤,依次对规范实例候选集合中的规范实例进行验证,计算其在日志中的支持度、置信度情况;结果筛选步骤,根据输入的挖掘要求,从规范实例候选集合中去除支持度、置信度不符合要求的规范实例。

【技术特征摘要】
1.一种线性时态逻辑规范的通用并行挖掘方法,包括如下步骤:预处理步骤,对日志文件进行分割,分离出日志文件中的独立轨迹,获取日志文件中所有事件的集合以及每个事件在独立轨迹中出现的位置;规范实例生成步骤,根据输入的规范模板集合,将其中的变量与日志事件集合中的事件依次进行绑定,以获取规范实例候选集合;规范实例验证步骤,依次对规范实例候选集合中的规范实例进行验证,计算其在日志中的支持度、置信度情况;结果筛选步骤,根据输入的挖掘要求,从规范实例候选集合中去除支持度、置信度不符合要求的规范实例。2.如权利要求1所述的线性时态逻辑规范的通用并行挖掘方法,其特征在于,所述预处理步骤包括如下三个子步骤:轨迹分离步骤,通过文本处理,将日志中的数据读取到内存中,按照分隔符进行分离,获取一个元素为单条轨迹所组成的集合;事件集合获取步骤,分别扫描每条轨迹,使用上述分隔符对轨迹进行分割处理,获取原子事件集合;事件位置信息获取步骤,扫描每条轨迹,记录事件在轨迹中出现的位置信息。3.如权利要求2所述的线性时态逻辑规范的通用并行挖掘方法,其特征在于,其特征在于:所述预处理步骤的实现过程为:顺序地从日志文件中读取字符串,在遇到分隔符时,识别并判断该分隔符为事件分隔符或者是轨迹分隔符,若为轨迹分隔符,...

【专利技术属性】
技术研发人员:何积丰熊家文史建琦黄滟鸿李昂方徽星
申请(专利权)人:华东师范大学上海丰蕾信息科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1