CN109522713A - 一种基于Büchi自动机化简运行时验证监控器的方法 - Google Patents
一种基于Büchi自动机化简运行时验证监控器的方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite 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自动机化简运行时验证监控器的方法。
背景技术
运行时验证(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自动机接受的语言:如果接受的语言没有改变,则对该对状态对进行合并,并移除合并后多余的转移关系;否则,不进行状态对的合并。
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)
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)
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的社交网络***隐私安全运行时验证方法 |
-
2018
- 2018-11-15 CN CN201811359544.1A patent/CN109522713A/zh active Pending
Patent Citations (3)
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)
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)
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 |