CN113778860A - 基于模型检测的系统运行时验证方法、系统和计算机设备 - Google Patents
基于模型检测的系统运行时验证方法、系统和计算机设备 Download PDFInfo
- Publication number
- CN113778860A CN113778860A CN202110935077.8A CN202110935077A CN113778860A CN 113778860 A CN113778860 A CN 113778860A CN 202110935077 A CN202110935077 A CN 202110935077A CN 113778860 A CN113778860 A CN 113778860A
- Authority
- CN
- China
- Prior art keywords
- time sequence
- monitor
- automaton
- message block
- event
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012795 verification Methods 0.000 title claims abstract description 29
- 238000012544 monitoring process Methods 0.000 claims abstract description 7
- 238000000605 extraction Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 3
- 238000005316 response function Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 230000003287 optical effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于模型检测的系统运行时验证方法、系统和计算机设备,所述验证方法包括,进行代码插桩:预先进行目标系统的代码插桩以捕获事件;获取时序事件消息块:所述目标系统启动后,监听监控器自动机端口是否已打开,若已打开则所述目标系统立即通过插桩点捕获事件,生成时序事件消息块,并通过ZeroMQ发送至所述监控器自动机;生成检测结果:所述监控器自动机接收所述时序事件消息块进行时序检测同时生成检测日志,并通过ZeroMQ发送检测结果至所述目标系统。
Description
技术领域
本发明涉及计算机应用技术领域,具体的,涉及一种基于模型检测的系统运行时验证方法、系统和计算机设备。
背景技术
随着科技的发展,系统开发逐渐有了标准的开发生命周期,其中系统测试是不可忽略的环节,系统模型检测的基本思想是:用状态迁移系统M表示并发系统的行为,用模态/时序公式F描述系统行为的性质。将“系统是否具有某个性质”的问题转化为数学问题“M是否满足F”。对于有穷状态系统,这个问题通过模型检测方法是可判定的。与其他形式验证方法相比,模型检测具有两个显著的优点:一是可以自动检测,二是在系统不满足性质时可以自动生成反例,反例信息可用于诊断不满足性质的原因。
运行时验证系统的关键是在不影响系统功能的前提下,采集系统的运行时事件信息,验证系统行为的时序性属性。对于软件系统的运行时验证,目前已有一些解决方案。Jass和JavaMop使用的切面编程技术和代码生成技术,以及Java-MaC采用的字节代码插入技术是当前普遍使用的运行时验证技术。除此之外,还有Java PathExplorer等工具,同样基于以上技术。这些方法都主要关注用Java实现的系统运行时验证问题,没有考虑用C++实现的系统运行时验证,因此方法受限于被验证系统的实现方法。
发明内容
为解决上述问题至少之一,本发明的一个目的在于提供一种基于模型检测的系统运行时验证方法,包括:
进行代码插桩:预先进行目标系统的代码插桩以捕获事件;
获取时序事件消息块:所述目标系统启动后,监听监控器自动机端口是否已打开,若已打开则所述目标系统立即通过插桩点捕获事件,生成时序事件消息块,并通过ZeroMQ发送至所述监控器自动机;
生成检测结果:所述监控器自动机接收所述时序事件消息块进行时序检测同时生成检测日志,并通过ZeroMQ发送检测结果至所述目标系统。
进一步地,所述代码插桩使用AOP范式,运用AspectC++组件生成具有插桩事件提取和错误响应功能的目标系统;
所述时序事件消息块的生成通过AOP事件提取模块实现;所述AOP事件提取模块接收所述目标系统产生的事件同时生成事件生成日志,并通过ZeroMQ发送至所述监控器自动机。
进一步地,所述监控器自动机的构造方法包括以下步骤:
调用yaml解析库和lipspot模型检测库,解析配置文件进行网络端口配置和线性时序逻辑属性公式配置,生成监控器自动机。
进一步地,所述时序事件消息块是以事件发生顺序排列的json格式的消息序列块。
进一步地,所述监控器自动机接收所述时序事件消息块,从中提取出状态字,将所述状态字与所述监控器自动机当前状态的标签进行匹配,若匹配成功,则对下一事件进行检测,若匹配失败,则生成检测结果,所述检测结果包含错误信息,所述目标系统接收到所述检测结果即立即停止执行。
本发明第二方面提供了一种基于模型检测的系统运行时验证系统,包括:
用户配置编译模块,用于实现目标系统源程序的代码插桩;
时序事件生成模块,用于采集所述目标系统源程序产生的事件,生成时序事件消息块;
ZeroMQ通信模块,用于传递所述时序事件消息块和检测结果;
监控器自动机生成模块,包括yaml解析库和lipspot模型检测库,用于解析包含网络端口和线性时序逻辑属性公式配置信息的.yml文件,生成所述监控器自动机;
模型检测模块,用于接收所述时序事件消息块,检测所述时序事件是否符合给定的性质并生成检测结果。
进一步地,所述验证系统还包括日志模块,用于接收并统计所述时序事件生成模块产生的时序事件生成日志和所述模型检测模块生成检测日志。
进一步地,所述用户配置编译模块包括AOP配置头文件和aspect.hh封装辅助模块,在进行代码插桩时,使用所述AOP配置头文件和aspect.hh封装辅助模块生成具有插桩事件提取和错误响应功能的目标系统。
本发明第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明第一方面提供的基于模型检测的系统运行时验证方法。
本发明第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面提供的基于模型检测的系统运行时验证方法。
本发明的有益效果如下:
本发明的目的在于提供一种基于模型检测的系统运行时验证方法、系统和计算机设备,使用C++语言开发,用于对采用C++语言开发的系统、分布式系统和网络系统进行运行时验证。运用ZeroMQ作为通信工具,运用SPOT工具中的libspot库生成监控器自动机,检测程序基于monitor自动机对接收到的事件序列进行检测,实现了C++系统的运行时验证。。
附图说明
图1示出了本发明的一种基于模型检测的系统运行时验证方法的流程图;
图2示出本发明实施例提供的时序事件检测的流程图;
图3示出了本发明的一种基于模型检测的系统运行时验证系统的示意图;
图4示出实现本发明实施例提供的方法的计算机设备的结构示意图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
本发明的一个实施例提出了一种基于模型检测的系统运行时验证方法,如图1所示,包括:
S101:进行代码插桩:预先进行目标系统的代码插桩以捕获事件;
S102:获取时序事件消息块:所述目标系统启动后,监听监控器自动机端口是否已打开,若已打开则所述目标系统立即通过插桩点捕获事件,生成时序事件消息块,并通过ZeroMQ发送至所述监控器自动机,所述ZeroMQ是一款高性能消息队列;
S103:生成检测结果:所述监控器自动机接收所述时序事件消息块进行时序检测同时生成检测日志,并通过ZeroMQ发送检测结果至所述目标系统。
在一种可能的实现方式中,所述代码插桩使用AOP范式,运用AspectC++组件生成具有插桩事件提取和错误响应功能的目标系统;
所述时序事件消息块的生成通过AOP事件提取模块实现;所述AOP事件提取模块接收所述目标系统产生的事件同时生成事件生成日志,并通过ZeroMQ发送至所述监控器自动机。
在一个具体的实施例中,所述时序事件消息块是以事件发生顺序排列的json格式的消息序列块。
在一种可能的实现方式中,所述监控器自动机的构造方法包括以下步骤:
调用yaml解析库,解析automonitor.yaml配置文件以进行网络端口配置和线性时序逻辑(Linear Temporal Logic,LTL)属性公式配置,调用lipspot模型检测库,生成监控器自动机,监控器自动机接收目标系统运行时发送的事件序列,进行事件序列时序检测。
具体的,如图2所示,所述监控器自动机接收所述时序事件消息块,从中提取出状态字(word),将所述状态字与所述监控器自动机当前状态的标签(label)进行匹配,若匹配成功,则对下一事件进行检测,若匹配失败,则生成检测结果,所述检测结果包含错误信息,所述目标系统接收到所述检测结果即立即停止执行。
在一个具体的实施例中,首先,运用代码插桩工具AspectC++进行插桩,根据AOP规范编写配置头文件.ah文件,经由AspectC++编译器生成插桩配置配件,将插桩配置文件、aspect.hh和目标系统源代码文件用编译器ag++联合编译,生成具有插桩事件提取功能的目标系统源程序;
运行目标系统,运行时产生的时序事件通过AOP事件提取模块合成事件序列,通过ZeroMQ消息队列传送给运行时检测模块,并生成事件日志;
通过使用yaml解析库yaml-cpp读取用户配置文件automonitor.yaml中的线性时序逻辑属性公式和网络端口配置信息。基于LTL属性公式,使用libspot[8]模型检测库编译生成monitor自动机。当目标系统运行时,通过ZeroMQ通信模块接收目标系统运行时发送的时序事件序列,monitor检测程序读取生成的monitor自动机,对接收事件进行时序检测,生成检测日志;检测结果通过ZeroMQ消息队列传送给目标系统,目标系统根据当前检测结果确定下一步执行。如果接收到发送的成功运行的消息,则继续运行,如果接收到检测到错误的信号,则目标系统立即停止运行,反馈系统运行错误信息。
在一个具体的实施例中,运行时验证的同时生成供用户查看的监控日志,包括检测日志和事件生成日志;生成格式化的带有时间戳、事件和位置等信息的日志文件。
现有的大多数运行时验证工具主要关注用Java实现的系统运行时验证问题,本发明目的在于提供一种基于模型检测的系统运行时验证方法,使用C++语言开发,用于对采用C++语言开发的系统、分布式系统和网络系统等进行运行时验证。其中,首先运用SPOT工具中的libspot库生成监控器(monitor)自动机,monitor自动机是指一种特殊的Buchi自动机,然后,检测程序基于monitor自动机对接收到的事件序列进行检测,实现运行时验证;代码插桩工具运用的是AOP范式,运用的组件是AspectC++;时序事件消息块指格式化的带有时间戳的并按照时序排列好的事件日志,实现了C++系统的运行时验证。
在第二个实施例中,本发明提供了一种基于模型检测的系统运行时验证系统,如图3所示,包括:
用户配置编译模块1,用于实现目标系统源程序的代码插桩;
时序事件生成模块2,用于采集所述目标系统源程序产生的事件,生成时序事件消息块;
ZeroMQ通信模块3,用于传递所述时序事件消息块和检测结果;
监控器自动机生成模块4,包括yaml解析库和lipspot模型检测库,用于解析包含网络端口和线性时序逻辑属性公式配置信息的.yml文件,生成所述监控器自动机;
模型检测模块5,用于接收所述时序事件消息块,检测所述时序事件是否符合给定的性质并生成检测结果。
日志模块6,用于接收并统计所述时序事件生成模块产生的时序事件生成日志和所述模型检测模块生成检测日志。
所述用户配置编译模块包括AOP配置头文件和aspect.hh封装辅助模块,在进行代码插桩时,使用所述AOP配置头文件和aspect.hh封装辅助模块生成具有插桩事件提取和错误响应功能的目标系统。
需要说明的是,本实施例提供的基于模型检测的系统运行时验证系统的原理及工作流程与上述基于模型检测的系统运行时验证方法相似,相关之处可以参照上述说明,在此不再赘述。
如图4所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图4显示的计算机设备40仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备40以通用计算设备的形式表现。计算机设备40的组件可以包括但不限于:一个或者多个处理器或者处理单元41,系统存储器47,连接不同系统组件(包括系统存储器47和处理单元41)的总线43。
总线43表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备40典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备40访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器47可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)44和/或高速缓存存储器45。计算机设备40可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统46可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线43相连。存储器47可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块47的程序/实用工具52,可以存储在例如存储器47中,这样的程序模块47包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块47通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备40也可以与一个或多个外部设备48(例如键盘、指向设备、显示器49等)通信,还可与一个或者多个使得用户能与该计算机设备40交互的设备通信,和/或与使得该计算机设备40能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口50进行。并且,计算机设备40还可以通过网络适配器51与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器51通过总线43与计算机设备40的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备40使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器单元41通过运行存储在系统存储器47中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种基于模型检测的系统运行时验证方法。
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:
S101:进行代码插桩:预先进行目标系统的代码插桩以捕获事件;
S102:获取时序事件消息块:所述目标系统启动后,监听监控器自动机端口是否已打开,若已打开则所述目标系统立即通过插桩点捕获事件,生成时序事件消息块,并通过ZeroMQ发送至所述监控器自动机;
S103:生成检测结果:所述监控器自动机接收所述时序事件消息块进行时序检测同时生成检测日志,并通过ZeroMQ发送检测结果至所述目标系统。
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
还需要说明的是,在本发明的描述中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (10)
1.一种基于模型检测的系统运行时验证方法,其特征在于,包括:
进行代码插桩:预先进行目标系统的代码插桩以捕获事件;
获取时序事件消息块:所述目标系统启动后,监听监控器自动机端口是否已打开,若已打开则所述目标系统立即通过插桩点捕获事件,生成时序事件消息块,并通过ZeroMQ发送至所述监控器自动机;
生成检测结果:所述监控器自动机接收所述时序事件消息块进行时序检测同时生成检测日志,并通过ZeroMQ发送检测结果至所述目标系统。
2.根据权利要求1所述的验证方法,其特征在于,
所述代码插桩使用AOP范式,运用AspectC++组件生成具有插桩事件提取和错误响应功能的目标系统;
所述时序事件消息块的生成通过AOP事件提取模块实现;所述AOP事件提取模块接收所述目标系统产生的事件同时生成事件生成日志,并通过ZeroMQ发送至所述监控器自动机。
3.根据权利要求1所述的验证方法,其特征在于,
所述监控器自动机的构造方法包括以下步骤:
调用yaml解析库和lipspot模型检测库,解析配置文件进行网络端口配置和线性时序逻辑属性公式配置,生成监控器自动机。
4.根据权利要求1所述验证方法,其特征在于,
所述时序事件消息块是以事件发生顺序排列的json格式的消息序列块。
5.根据权利要求1或3所述的验证方法,其特征在于,
所述监控器自动机接收所述时序事件消息块,从中提取出状态字,将所述状态字与所述监控器自动机当前状态的标签进行匹配,若匹配成功,则对下一事件进行检测,若匹配失败,则生成检测结果,所述检测结果包含错误信息,所述目标系统接收到所述检测结果即立即停止执行。
6.一种基于模型检测的系统运行时验证系统,其特征在于,包括:
用户配置编译模块,用于实现目标系统源程序的代码插桩;
时序事件生成模块,用于采集所述目标系统源程序产生的事件,生成时序事件消息块;
ZeroMQ通信模块,用于传递所述时序事件消息块和检测结果;
监控器自动机生成模块,包括yaml解析库和lipspot模型检测库,用于解析包含网络端口和线性时序逻辑属性公式配置信息的.yml文件,并生成所述监控器自动机;
模型检测模块,用于接收所述时序事件消息块,检测所述时序事件是否符合给定的性质并生成检测结果。
7.根据权利要求6所述的验证系统,其特征在于,
所述验证系统还包括日志模块,用于接收并统计所述时序事件生成模块产生的时序事件生成日志和所述模型检测模块生成检测日志。
8.根据权利要求6所述的系统,其特征在于,
所述用户配置编译模块包括AOP配置头文件和aspect.hh封装辅助模块,在进行代码插桩时,使用所述AOP配置头文件和aspect.hh封装辅助模块生成具有插桩事件提取和错误响应功能的目标系统。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110935077.8A CN113778860B (zh) | 2021-08-16 | 2021-08-16 | 基于模型检测的系统运行时验证方法、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110935077.8A CN113778860B (zh) | 2021-08-16 | 2021-08-16 | 基于模型检测的系统运行时验证方法、系统和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113778860A true CN113778860A (zh) | 2021-12-10 |
CN113778860B CN113778860B (zh) | 2023-11-28 |
Family
ID=78837782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110935077.8A Active CN113778860B (zh) | 2021-08-16 | 2021-08-16 | 基于模型检测的系统运行时验证方法、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778860B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074607A1 (en) * | 2001-05-11 | 2003-04-17 | Brundridge Michael A. | Dynamic display of personal computer support information |
US20050034106A1 (en) * | 2003-08-07 | 2005-02-10 | National Instruments Corporation | Visualization tool for viewing timing information for a graphical program |
CN103186451A (zh) * | 2013-03-21 | 2013-07-03 | 中国人民解放军国防科学技术大学 | 一种具有故障预测能力的时序属性监控方法 |
CN104834590A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 软件测试方法和系统 |
US20150339214A1 (en) * | 2014-05-23 | 2015-11-26 | Mentor Graphics Corporation | Non-intrusive software verification |
CN106649063A (zh) * | 2016-11-22 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 用于监测程序运行时耗时数据的方法及系统 |
CN107679400A (zh) * | 2017-08-31 | 2018-02-09 | 西安电子科技大学 | 基于源代码插桩的社交网络安全运行时验证方法及系统 |
CN108536581A (zh) * | 2018-03-08 | 2018-09-14 | 华东师范大学 | 一种针对源代码的运行时形式化验证方法及系统 |
CN109960623A (zh) * | 2017-12-26 | 2019-07-02 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载分区操作系统仿真器运行时监控方法 |
CN111488276A (zh) * | 2020-04-07 | 2020-08-04 | 北京航空航天大学 | 基于代码跟踪的软件可靠性测试方法和装置 |
CN112579437A (zh) * | 2020-12-01 | 2021-03-30 | 中国科学院电子学研究所苏州研究院 | 一种程序运行过程符合性验证方法 |
-
2021
- 2021-08-16 CN CN202110935077.8A patent/CN113778860B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074607A1 (en) * | 2001-05-11 | 2003-04-17 | Brundridge Michael A. | Dynamic display of personal computer support information |
US20050034106A1 (en) * | 2003-08-07 | 2005-02-10 | National Instruments Corporation | Visualization tool for viewing timing information for a graphical program |
CN103186451A (zh) * | 2013-03-21 | 2013-07-03 | 中国人民解放军国防科学技术大学 | 一种具有故障预测能力的时序属性监控方法 |
CN104834590A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 软件测试方法和系统 |
US20150339214A1 (en) * | 2014-05-23 | 2015-11-26 | Mentor Graphics Corporation | Non-intrusive software verification |
CN106649063A (zh) * | 2016-11-22 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 用于监测程序运行时耗时数据的方法及系统 |
CN107679400A (zh) * | 2017-08-31 | 2018-02-09 | 西安电子科技大学 | 基于源代码插桩的社交网络安全运行时验证方法及系统 |
CN109960623A (zh) * | 2017-12-26 | 2019-07-02 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载分区操作系统仿真器运行时监控方法 |
CN108536581A (zh) * | 2018-03-08 | 2018-09-14 | 华东师范大学 | 一种针对源代码的运行时形式化验证方法及系统 |
CN111488276A (zh) * | 2020-04-07 | 2020-08-04 | 北京航空航天大学 | 基于代码跟踪的软件可靠性测试方法和装置 |
CN112579437A (zh) * | 2020-12-01 | 2021-03-30 | 中国科学院电子学研究所苏州研究院 | 一种程序运行过程符合性验证方法 |
Non-Patent Citations (2)
Title |
---|
EIKE STEFFEN REETZ等: "How to Test IoT-based Services before Deploying them into Real World", 《EUROPEAN WIRELESS 2013; 19TH EUROPEAN WIRELESS CONFERENCE》, pages 1 - 6 * |
郭文轩: "在线社交网络安全运行时验证方法的研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 2, pages 138 - 140 * |
Also Published As
Publication number | Publication date |
---|---|
CN113778860B (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284269B (zh) | 异常日志分析方法、装置、存储介质及服务器 | |
US20130132933A1 (en) | Automated compliance testing during application development | |
CN111796978B (zh) | 一种接口检测方法、装置、系统、设备及存储介质 | |
CN114328208A (zh) | 代码检测方法及装置、电子设备、存储介质 | |
CN106529304A (zh) | 一种安卓应用并发漏洞检测系统 | |
CN113778790A (zh) | 一种基于Zabbix的计算系统状态监控的方法和系统 | |
CN110597704A (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
CN109189679A (zh) | 接口测试方法及系统、电子设备、存储介质 | |
CN110941625B (zh) | 支付一致性校验方法、系统、设备及存储介质 | |
Nguyen et al. | Online verification of value-passing choreographies through property-oriented passive testing | |
CN113778860B (zh) | 基于模型检测的系统运行时验证方法、系统和计算机设备 | |
US9626268B2 (en) | Controlling a byte code transformer on detection of completion of an asynchronous command | |
CN111784176A (zh) | 一种数据处理方法、装置、服务器及介质 | |
CN112748930B (zh) | 编译检测方法、装置、设备及存储介质 | |
CN112559359B (zh) | 一种基于s2ml的安全攸关系统分析与验证方法 | |
CN111399901B (zh) | 状态枚举类生成方法、装置、服务器及存储介质 | |
CN113760696A (zh) | 一种程序问题定位方法、装置、电子设备和存储介质 | |
CN111741046B (zh) | 数据上报方法、获取方法、装置、设备及介质 | |
CN114579342A (zh) | 故障检测方法、装置、电子设备及存储介质 | |
CN113934595A (zh) | 数据分析方法及系统、存储介质及电子终端 | |
Wang et al. | Application of model-based testing on a quorum-based distributed storage | |
CN112162954A (zh) | 用户操作日志生成、路径的定位方法、装置、设备及介质 | |
CN117909160B (zh) | 基于物联网的固件崩溃分析方法及装置 | |
CN117171058B (zh) | 调用链实时追踪方法、系统及相关设备 | |
Colombo et al. | Other Advanced Topics |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |