CN109522713A - 一种基于Büchi自动机化简运行时验证监控器的方法 - Google Patents

一种基于Büchi自动机化简运行时验证监控器的方法 Download PDF

Info

Publication number
CN109522713A
CN109522713A CN201811359544.1A CN201811359544A CN109522713A CN 109522713 A CN109522713 A CN 109522713A CN 201811359544 A CN201811359544 A CN 201811359544A CN 109522713 A CN109522713 A CN 109522713A
Authority
CN
China
Prior art keywords
automatic machine
state
chi
determined
chi automatic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811359544.1A
Other languages
English (en)
Inventor
钱俊彦
叶玲玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN201811359544.1A priority Critical patent/CN109522713A/zh
Publication of CN109522713A publication Critical patent/CN109522713A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开一种基于Büchi自动机化简运行时验证监控器的方法,首先将LTL公式描述的属性转化为Büchi自动机;接着对Büchi自动机的状态进行冗余标记和移除;之后在Büchi自动机中寻找互相满足公平模拟关系的状态对,并对状态对进行合并;最后将化简后的Büchi自动机转化成确定性有限状态自动机,得到用于验证的监控器。本发明能够加速Büchi自动机到确定性有限状态自动机的转换,同时使JavaMop工具进行验证时的内存开销得到减少。

Description

一种基于Büchi自动机化简运行时验证监控器的方法
技术领域
本发明涉及运行时验证技术领域,具体涉及一种基于Büchi自动机化简运行时验证监控器的方法。
背景技术
运行时验证(RV)是一种基于***运行状态来检测异常发生的技术,其能够对正在运行的***进行实时监控,一旦发现***的行为违反某些属性规则,就会立即给予提醒或作出反应。在进行运行时验证时,监控器是对被验证***进行检测的模块,它接收***的运行踪迹,然后根据给定的属性,对***行为是否满足给定属性进行检查判断,并给出一个结论。监控器在运行时验证过程中有着重要的作用,它的运行效率影响着整个***验证的效率。
目前,监控器的构造方法有多种,其中基于自动机的监控器构造技术较为常见。Büchi自动机是ω-自动机的一种,它将有限状态自动机扩展为能接受无限输入的自动机,即接受一个无限输入序列的自动机。Büchi自动机是一个很好的替代和处理ω正则语言的方式,因为它们在布尔操作下是封闭的,所以它常被用在基于自动机的形式化验证方法中。在运行时验证中,使用时态逻辑描述的属性经常被转换成确定化的有穷状态自动机,Büchi自动机在这个转换过程中被作为一个中间的媒介。然而,在这一转换过程中自动机的状态和迁移关系的数量非常大,会消耗大量的内存和时间,这有待进一步的化简改进。
发明内容
本发明所要解决的是现有运行时验证工具JavaMOP中以Büchi自动机为基础进行验证时所存在的较大开销问题,提供一种基于Büchi自动机化简运行时验证监控器的方法,其能够化简转换过程中的状态和迁移关系,减小监控开销。
为解决上述问题,本发明是通过以下技术方案实现的:
一种基于Büchi自动机化简运行时验证监控器的方法,其具体包括步骤如下:
步骤1、将线性时态逻辑公式描述的属性转换为非确定Büchi自动机;
步骤2、对于步骤2所得到的非确定Büchi自动机的状态集合中的每个状态,判断以该状态开始时,非确定Büchi自动机接受的语言是否为空:若为空,则对该状态进行冗余标记;否则,该状态不作标记;
步骤3、将步骤2所得到的有冗余标记的状态从非确定Büchi自动机的状态集合中删除,得到初步简化的非确定Büchi自动机;
步骤4、在步骤3所得到的初步简化的非确定Büchi自动机中寻找互相满足公平模拟关系的状态对;
步骤5、对步骤4所得到的状态对进行合并,得到最终简化的非确定Büchi自动机;
步骤6、将步骤5所得到的最终简化的非确定Büchi自动机转化成非确定有限状态自动机,再对非确定有限状态自动机进行确定化后,得到确定性有限状态自动机;
步骤7、将步骤6所得到的确定性有限状态自动机作用于***验证的监控器。
上述步骤1的具体过程如下:首先,将线性时态逻辑公式描述的属性转化为交错自动机;接着,将交错自动机转化成广义的Büchi自动机;最后,把广义的Büchi自动机转化为非确定Büchi自动机。
上述步骤5在进行状态对的合并时,需要检查合并状态对后是否会改变初步简化的非确定Büchi自动机接受的语言:如果接受的语言没有改变,则对该对状态对进行合并,并移除合并后多余的转移关系;否则,不进行状态对的合并。
与目前的运行时验证工具JavaMOP相比较,本发明有益效果是:基于Büchi自动机化简运行时验证中监控器的方法,该方法是在运行时验证工具JavaMOP上做优化:先是对运行时验证过程中得到的Büchi自动机的冗余状态进行判断标记,删除冗余状态;再查找Büchi自动机中互相满足公平模拟关系的状态对,合并满足这一关系的状态对,并移除多余的迁移关系,且不改变自动机接受的语言。通过执行本发明中的操作,能够有效的减少自动机的内存开销,加速Büchi自动机到确定性有限状态自动机的转化,使我们在对***进行运行时验证时缩减验证开销。
附图说明
图1是一种基于Büchi自动机化简运行时验证监控器的方法流程图。
图2是基于公平模拟化简自动机的例子,其中(a)是化简前的Büchi自动机,(b)是化简后的Büchi自动机。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照附图,对本发明进一步详细说明。
一种基于Büchi自动机化简运行时验证中监控器的方法,如图1所示,其具体包括步骤:
步骤1、使用现有的JavaMOP验证工具中的方法将LTL(线性时态逻辑)公式描述的属性转换为非确定Büchi自动机。
首先,将LTL公式描述的属性转化为交错自动机;接着,将交错自动机转化成广义的Büchi自动机;最后,把广义的Büchi自动机转化需要的非确定Büchi自动机。
步骤2、对非确定Büchi自动机中的状态进行冗余标记。
使用一个判空算法查找到非确定Büchi自动机中的冗余状态并进行冗余标记。对于自动机中的每个状态q∈Q(Q是自动机的状态集),判断以这个状态q开始时Büchi自动机接受的语言是否为空:如果接受的语言为空,即f(q)=true,则对Büchi自动机接受语言为空的状态进行冗余标记,表示这些状态是冗余状态,将其移除后也不会影响自动机;如果接受的语言不为空,即f(q)=false,则保留这些状态,不进行标记。
步骤3、对非确定Büchi自动机中有冗余标记的状态进行移除操作,得到初步简化的非确定Büchi自动机。
运用RRS算法(冗余状态移除算法)执行移除操作,输入一个Büchi自动机,对于有冗余标记的状态,即f(q)=true,将其从自动机状态集合Q中移除,即执行Q←Q\{q},循环判断执行结束后得到一个初步简化后的Büchi自动机。
步骤4、将非确定Büchi自动机的冗余状态移除后,再利用公平模拟的相关算法在初步简化的非确定Büchi自动机中寻找互相满足公平模拟关系的状态对(p,q)。
对一个Büchi自动机,公平模拟关系表示为即状态q公平模拟于q'表示为q≤fq',当且仅当对任意ω=a1a2...,存在π=qa1q1a2...使得存在π'=q'a1q'1a2...且对任意的成立使得也成立,其中,a表示自动机中的执行动作,q表示自动机中的状态,A表示自动机,表示自动机A接受的语言。在Büchi自动机中找到互相满足公平模拟关系的状态对(p,q),也就是是状态p和q满足q≤fp并且p≤fq。
步骤5、对初步简化的非确定Büchi自动机中的相互满足公平模拟关系的状态对(p,q)进行合并,得到最终简化的非确定Büchi自动机。
在对步骤4得到的状态对执行合并操作时,需要检查合并这些状态对后是否会改变自动机接受的语言:如果自动机接受的语言没有改变,则合并互相满足公平模拟关系的状态对,同时移除合并后多余的转移关系;如果自动机接受的语言发生改变,则不能合并这些状态。
在本实施例中,通过使用Jurdzinskis算法来计算Büchi自动机中满足公平模拟关系的状态,得到一个互相满足公平模拟关系的状态对的集合,也就是执行步骤4得到的结果,同时Jurdzinskis算法也会检查合并这些状态对是否会改变自动机接受的语言。
图2给出了基于公平模拟关系化简自动机的例子,(a)是化简前的Büchi自动机,(b)是化简后的Büchi自动机。在这个Büchi自动机中有两对状态是相互满足公平模拟的关系,即(q1,q4)和(q8,q9),因此我们可以合并q1和q4,q8和q9。在合并了状态对(q1,q4)和(q8,q9)之后,转移关系(q1,a,q3)对自动机接受的语言是多余的,可以被移除,之后状态q3和q5是不可达状态,也可被移除。
步骤6、执行完以上步骤2-5后得到最小化的Büchi自动机,然后将其转化成非确定有限状态自动机,再进行确定化得到确定性有限状态自动机。
步骤7、将步骤6所得到的确定性有限状态自动机作用于***验证的监控器。
本发明通过在Büchi自动机转化为非确定有限自动机中间添加一个化简Büchi自动机的过程,得到一个最小化的Büchi自动机,再将最小化的Büchi自动机转化为非确定有限状态自动机,最后确定化得到确定性有限状态自动机,这时得到的确定性有限状态自动机消耗的内存空间与化简中间Büchi自动机之前相比要小很多,使得运用于***验证的监控器执行开销减少。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。

Claims (3)

1.一种基于Büchi自动机化简运行时验证监控器的方法,其特征是,具体包括如下步骤:
步骤1、将线性时态逻辑公式描述的属性转换为非确定Büchi自动机;
步骤2、对于步骤2所得到的非确定Büchi自动机的状态集合中的每个状态,判断以该状态开始时,非确定Büchi自动机接受的语言是否为空:若为空,则对该状态进行冗余标记;否则,该状态不作标记;
步骤3、将步骤2所得到的有冗余标记的状态从非确定Büchi自动机的状态集合中删除,得到初步简化的非确定Büchi自动机;
步骤4、在步骤3所得到的初步简化的非确定Büchi自动机中寻找互相满足公平模拟关系的状态对;
步骤5、对步骤4所得到的状态对进行合并,得到最终简化的非确定Büchi自动机;
步骤6、将步骤5所得到的最终简化的非确定Büchi自动机转化成非确定有限状态自动机,再对非确定有限状态自动机进行确定化后,得到确定性有限状态自动机;
步骤7、将步骤6所得到的确定性有限状态自动机作用于***验证的监控器。
2.根据权利要求1所述的一种基于Büchi自动机化简运行时验证监控器的方法,其特征是,步骤1的具体过程如下:首先,将线性时态逻辑公式描述的属性转化为交错自动机;接着,将交错自动机转化成广义的Büchi自动机;最后,把广义的Büchi自动机转化为非确定Büchi自动机。
3.根据权利要求1所述的一种基于Büchi自动机化简运行时验证监控器的方法,其特征是,步骤5,在进行状态对的合并时,需要检查合并状态对后是否会改变初步简化的非确定Büchi自动机接受的语言:如果接受的语言没有改变,则对该对状态对进行合并,并移除合并后多余的转移关系;否则,不进行状态对的合并。
CN201811359544.1A 2018-11-15 2018-11-15 一种基于Büchi自动机化简运行时验证监控器的方法 Pending CN109522713A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811359544.1A CN109522713A (zh) 2018-11-15 2018-11-15 一种基于Büchi自动机化简运行时验证监控器的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811359544.1A CN109522713A (zh) 2018-11-15 2018-11-15 一种基于Büchi自动机化简运行时验证监控器的方法

Publications (1)

Publication Number Publication Date
CN109522713A true CN109522713A (zh) 2019-03-26

Family

ID=65777946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811359544.1A Pending CN109522713A (zh) 2018-11-15 2018-11-15 一种基于Büchi自动机化简运行时验证监控器的方法

Country Status (1)

Country Link
CN (1) CN109522713A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245085A (zh) * 2019-04-08 2019-09-17 华东师范大学 利用在线模型检验的嵌入式实时操作***验证方法及***
CN110297773A (zh) * 2019-07-01 2019-10-01 成都奥卡思微电科技有限公司 一种形式验证中断言综合的可视化方法、存储介质和终端
CN111352848A (zh) * 2020-03-09 2020-06-30 南京航空航天大学 一种运行时验证中性质的可监控性概率的度量方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853559A (zh) * 2014-03-12 2014-06-11 福建工程学院 语义Web服务组合的自动验证方法及其***
US20140372986A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Timed API Rules for Runtime Verification
CN105653935A (zh) * 2016-01-08 2016-06-08 西安电子科技大学 基于pptl3的社交网络***隐私安全运行时验证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372986A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Timed API Rules for Runtime Verification
CN103853559A (zh) * 2014-03-12 2014-06-11 福建工程学院 语义Web服务组合的自动验证方法及其***
CN105653935A (zh) * 2016-01-08 2016-06-08 西安电子科技大学 基于pptl3的社交网络***隐私安全运行时验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JUNYAN QIAN 等: "Improvement in JavaMOP by Simplifying Büchi Automaton", 《DEPENDABLE SOFTWARE ENGINEERING. THEORIES, TOOLS, AND APPLICATIONS. SETTA 2018. LECTURE NOTES IN COMPUTER SCIENCE, VOL 10998. SPRINGER》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245085A (zh) * 2019-04-08 2019-09-17 华东师范大学 利用在线模型检验的嵌入式实时操作***验证方法及***
CN110245085B (zh) * 2019-04-08 2023-03-31 华东师范大学 利用在线模型检验的嵌入式实时操作***验证方法及***
CN110297773A (zh) * 2019-07-01 2019-10-01 成都奥卡思微电科技有限公司 一种形式验证中断言综合的可视化方法、存储介质和终端
CN110297773B (zh) * 2019-07-01 2022-11-18 成都奥卡思微电科技有限公司 一种形式验证中断言综合的可视化方法、存储介质和终端
CN111352848A (zh) * 2020-03-09 2020-06-30 南京航空航天大学 一种运行时验证中性质的可监控性概率的度量方法

Similar Documents

Publication Publication Date Title
CN109522713A (zh) 一种基于Büchi自动机化简运行时验证监控器的方法
Zhang et al. Finding critical users in social communities: The collapsed core and truss problems
Dallal et al. On most permissive observers in dynamic sensor activation problems
CN104951478A (zh) 信息处理方法和信息处理装置
CN111954209A (zh) 一种提高无线传感器节点安全性的信息处理方法及装置
CN110062009A (zh) 一种信息物理融合***防御的形式化检测方法
Liu Safe diagnosability of fuzzy discrete-event systems and a polynomial-time verification
Wang et al. More anti-chain based refinement checking
CN106156179A (zh) 一种信息检索方法及装置
US7577625B2 (en) Handling of satisfaction and conflicts in a quantified Boolean formula solver
Liu Polynomial-time verification of diagnosability of fuzzy discrete event systems
Cordero et al. Automated reasoning to infer all minimal keys
Wickramaarachchi et al. Distributed exact subgraph matching in small diameter dynamic graphs
Ehlers et al. Monitoring realizability
CN113051726B (zh) 基于离散动态事件树与relap5耦合的动态特性分析方法
CN102130956B (zh) 应用层协议识别方法及***
CN108459963A (zh) 一种基于中断控制流图的中断验证方法
CN106878289A (zh) 基于多维模板有限自动机tmfa的正则表达式匹配方法及其装置
Balan et al. Metrics-based incremental determinization of finite automata
CN101504687A (zh) 模型检测中的模型抽象方法及其***
Yin et al. Optimizing the sat decision ordering of bounded model checking by structural information
Shan et al. LTL Formulae to Buchi Automata Translation Using on‐the‐Fly De‐generalization
Gent et al. Solution learning and solution directed backjumping revisited
de la Higuera et al. Inference of ω-languages from prefixes
Li et al. Research on Fault Diagnosis of ZPW-2000K Track Circuit Based on RS-BN Algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190326