CN112269737A - 一种应用软件形式化模型验证方法及装置 - Google Patents
一种应用软件形式化模型验证方法及装置 Download PDFInfo
- Publication number
- CN112269737A CN112269737A CN202011156172.XA CN202011156172A CN112269737A CN 112269737 A CN112269737 A CN 112269737A CN 202011156172 A CN202011156172 A CN 202011156172A CN 112269737 A CN112269737 A CN 112269737A
- Authority
- CN
- China
- Prior art keywords
- model
- application software
- converting
- conversion
- formal
- 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
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/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开一种应用软件形式化模型验证方法及装置。该方法包括:获取待验证的应用软件形式化模型;基于自动化的模型转换工具Beagle Translator,将应用软件形式化模型中的各进程模型转换为对应的模块模型,将应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型,并对扩展标签迁移模型进行功能安全性质验证;基于自动化的模型转换验证工具Proverif Translator,对应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型,并对进程代数模型进行信息安全性质验证。应用本发明实施例提供的方案,能够提高模型验证效率。
Description
技术领域
本发明涉及模型验证技术领域,具体而言,涉及一种应用软件形式化模型验证方法及装置。
背景技术
应用软件模型验证技术以构造阶段的质量保证为目标,以模型验证关键技术作支撑,确保软件模型的安全性。
应用软件的分布式特性使得软件模型包含多个模块,极易产生组合空间爆炸问题。已知的模型验证方法中,为了应对模型检测的空间爆炸问题,快速高效地找出系统中违背安全属性的反例,可以采用限界模型检测的方法,将模型逐步展开,验证给定的安全属性是否成立。然而,上述方法需要将模型逐步展开进行验证,过程繁杂,且只能验证模型的安全属性,从而导致模型验证效率较低。因此,为了提高模型验证的效率,亟需一种模型验证方法。
发明内容
本发明提供了一种应用软件形式化模型验证方法及装置,以提高模型验证的效率。具体的技术方案如下。
第一方面,本发明实施例提供一种应用软件形式化模型验证方法,所述方法包括:
获取待验证的应用软件形式化模型;
基于自动化的模型转换工具Beagle Translator,将所述应用软件形式化模型中的各进程模型转换为对应的模块模型,将所述应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型,并对所述扩展标签迁移模型进行功能安全性质验证;
基于自动化的模型转换验证工具Proverif Translator,对所述应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型,并对所述进程代数模型进行信息安全性质验证。
可选的,所述基于自动化的模型转换工具Beagle Translator,将所述应用软件形式化模型中的各进程模型转换为对应的模块模型,将所述应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型的步骤包括:
基于自动化的模型转换工具Beagle Translator,针对所述应用软件形式化模型中的每个进程模型,将该进程模型的进程属性转换成为模块模型的变量声明,将该进程模型中的通信信道转换成为所述模块模型的标签声明,将该进程模型中的有限状态自动机中的状态转换成为所述模块模型中的位置声明,从该进程模型中的初始化信息转换得到所述模块模型的初始化迁移,从该进程模型的状态机模型的状态迁移转换得到所述模块模型中的状态迁移;所述状态迁移包括进程方法的状态迁移以及通信动作的状态迁移;
将使用时序逻辑CTL的不变式条件描述的功能安全性质AG f转换成为模型检测工具的待验证属性INVARSPEC f,得到扩展标签迁移模型。
可选的,所述对所述扩展标签迁移模型进行功能安全性质验证的步骤包括:
将所述扩展标签迁移模型输入模型检测工具Beagle中,得到功能安全性质验证结果。
可选的,所述基于自动化的模型转换验证工具Proverif Translator,对所述应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型的步骤包括:
将所述应用软件形式化模型中的进程属性、进程方法以及通信信道转换成为对应的变量类型定义、进程方法声明以及通信信道声明;
将所述应用软件形式化模型中的初始化信息转换成为对应的进程代数模型中的初始化进程;
将所述应用软件形式化模型中的状态机模型转换成所述进程代数模型中的通信进程模型;
将所述应用软件形式化模型中的信息安全性质进行转换,得到基于π演算的所述进程代数模型。
可选的,所述将所述应用软件形式化模型中的进程属性、进程方法以及通信信道转换成为对应的变量类型定义、进程方法声明以及通信信道声明的步骤包括:
将所述应用软件形式化模型中所有自定义的进程属性声明出来,根据所述应用软件形式化模型的进程方法中的构造方法以及析构方法转换成为对应的进程代数模型中的进程方法声明,根据所述应用软件形式化模型中的通信信道及私有性在进程代数模型中声明通信信道;
所述将所述应用软件形式化模型中的初始化信息转换成为对应的进程代数模型中的初始化进程的步骤包括:
将所述应用软件形式化模型中的初始化信息中的进程属性在初始化进程中声明出来,并且作为对应的进程模型的输入参数生成初始化进程模板;
所述将所述应用软件形式化模型中的状态机模型转换成所述进程代数模型中的通信进程模型的步骤包括:
在所述应用软件形式化模型的进程模型中声明所有在这个进程中用到的变量,将进程模型的状态机模型中的状态转换成为进程代数模型中的事件并声明,将状态机模型中的状态迁移根据进程方法的状态迁移或通信动作的状态迁移转换得到所述进程代数模型中的语句;
将所述应用软件形式化模型中的信息安全性质进行转换的步骤包括:
将信息安全性质中的机密性转换成为所述进程代数模型中的机密性查询语句,将信息安全性质中的认证性转换成为所述进程代数模型中的认证性查询语句。
可选的,所述对所述进程代数模型进行信息安全验证的步骤包括:
将所述进程代数模型输入协议分析工具Proverif中,得到信息安全性质验证结果。
第二方面,本发明实施例提供一种应用软件形式化模型验证装置,所述装置包括:
模型获取模块,用于获取待验证的应用软件形式化模型;
功能安全验证模块,用于基于自动化的模型转换工具Beagle Translator,将所述应用软件形式化模型中的各进程模型转换为对应的模块模型,将所述应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型,并对所述扩展标签迁移模型进行功能安全性质验证;
信息安全验证模块,用于基于自动化的模型转换验证工具Proverif Translator,对所述应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型,并对所述进程代数模型进行信息安全性质验证。
可选的,所述功能安全验证模块包括:
模块转换子模块,用于基于自动化的模型转换工具Beagle Translator,针对所述应用软件形式化模型中的每个进程模型,将该进程模型的进程属性转换成为模块模型的变量声明,将该进程模型中的通信信道转换成为所述模块模型的标签声明,将该进程模型中的有限状态自动机中的状态转换成为所述模块模型中的位置声明,从该进程模型中的初始化信息转换得到所述模块模型的初始化迁移,从该进程模型的状态机模型的状态迁移转换得到所述模块模型中的状态迁移;所述状态迁移包括进程方法的状态迁移以及通信动作的状态迁移;
功能安全性质转换子模块,用于将使用时序逻辑CTL的不变式条件描述的功能安全性质AG f转换成为模型检测工具的待验证属性INVARSPEC f,得到扩展标签迁移模型。
可选的,所述功能安全验证模块,具体用于将所述扩展标签迁移模型输入模型检测工具Beagle中,得到功能安全性质验证结果。
可选的,所述信息安全验证模块包括:
预定义子模块,用于将所述应用软件形式化模型中的进程属性、进程方法以及通信信道转换成为对应的变量类型定义、进程方法声明以及通信信道声明;
初始化信息转换子模块,用于将所述应用软件形式化模型中的初始化信息转换成为对应的进程代数模型中的初始化进程;
状态机模型转换子模块,用于将所述应用软件形式化模型中的状态机模型转换成所述进程代数模型中的通信进程模型;
信息安全性质转换子模块,用于将所述应用软件形式化模型中的信息安全性质进行转换,得到基于π演算的所述进程代数模型。
可选的,所述预定义子模块,具体用于:将所述应用软件形式化模型中所有自定义的进程属性声明出来,根据所述应用软件形式化模型的进程方法中的构造方法以及析构方法转换成为对应的进程代数模型中的进程方法声明,根据所述应用软件形式化模型中的通信信道及私有性在进程代数模型中声明通信信道;
所述初始化信息转换子模块,具体用于:将所述应用软件形式化模型中的初始化信息中的进程属性在初始化进程中声明出来,并且作为对应的进程模型的输入参数生成初始化进程模板;
所述状态机模型转换子模块,具体用于:在所述应用软件形式化模型的进程模型中声明所有在这个进程中用到的变量,将进程模型的状态机模型中的状态转换成为进程代数模型中的事件并声明,将状态机模型中的状态迁移根据进程方法的状态迁移或通信动作的状态迁移转换得到所述进程代数模型中的语句;
所述信息安全性质转换子模块,具体用于:将信息安全性质中的机密性转换成为所述进程代数模型中的机密性查询语句,将信息安全性质中的认证性转换成为所述进程代数模型中的认证性查询语句。
可选的,所述信息安全验证模块,具体用于将所述进程代数模型输入协议分析工具Proverif中,得到信息安全性质验证结果。
由上述内容可知,本发明实施例提供的应用软件形式化模型验证方法及装置,可以获取待验证的应用软件形式化模型;基于自动化的模型转换工具Beagle Translator,将应用软件形式化模型中的各进程模型转换为对应的模块模型,将应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型,并对扩展标签迁移模型进行功能安全性质验证;基于自动化的模型转换验证工具Proverif Translator,对应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型,并对进程代数模型进行信息安全性质验证,因此能够基于自动化的模型转换方法,对形式化模型进行转换,转换后的模型可以通过验证工具直接进行验证,从而可以提高模型验证效率。并且,通过对形式化模型进行不同的转换,可以同时对形式化模型进行功能安全性质验证和信息安全性质验证,也就是说,可以同时对两种不同的安全性质进行验证,从而可以进一步提高模型验证效率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
本发明实施例的创新点包括:
1、基于自动化的模型转换方法,对形式化模型进行转换,转换后的模型可以通过验证工具直接进行验证,从而可以提高模型验证效率。并且,通过对形式化模型进行不同的转换,可以同时对形式化模型进行功能安全性质验证和信息安全性质验证,也就是说,可以同时对两种不同的安全性质进行验证,从而可以进一步提高模型验证效率。
2、通过模型检测工具Beagle,可以准确的对形式化模型进行功能安全性质验证,通过协议分析工具Proverif,可以准确的对形式化模型进行信息安全性质验证,从而可以提高模型验证的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用软件形式化模型验证方法的一种流程示意图;
图2示出了本发明实施例的功能安全性质验证过程示意图;
图3示出了本发明实施例的信息安全性质验证过程示意图;
图4为本发明实施例提供的应用软件形式化模型验证装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含的一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
本发明实施例公开了一种应用软件形式化模型验证方法及装置,能够提高模型验证的效率。下面对本发明实施例进行详细说明。
图1为本发明实施例提供的应用软件形式化模型验证方法的一种流程示意图。该方法应用于电子设备。该方法具体包括以下步骤。
S110:获取待验证的应用软件形式化模型。
例如,电子设备可以接收用户输入的应用软件形式化模型,作为待验证的应用软件形式化模型;或者,可以根据用户预先设定的存储位置,从该存储位置处获取应用软件形式化模型,作为待验证的应用软件形式化模型。
S120:基于自动化的模型转换工具Beagle Translator,将应用软件形式化模型中的各进程模型转换为对应的模块模型,将应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型,并对扩展标签迁移模型进行功能安全性质验证。
通常情况下,由于格式不匹配等原因,电子设备接收到的应用软件形式化模型不能通过模型检测工具直接进行验证。在本发明实施例中,为了提高模型验证的效率,电子设备可以对获取的待验证应用软件形式化模型进行转换,将其转换为与模型检测工具匹配的模型,从而可以通过模型检测工具直接进行验证。
在一种实现方式中,对应用软件形式化模型进行功能安全性质验证时,电子设备可以将应用软件形式化模型以及功能安全性质规约转换成为模型检测工具Beagle所接受的扩展标签迁移模型。之后再调用模型检测工具进行验证分析并返回验证结果。针对这个模型转换的过程,我们开发了自动化的模型转换工具Beagle Translator,也可以称为模型转换验证工具。
这个自动化的模型转换验证工具是将应用软件形式化模型,也可以称为系统模型,以及功能安全性质规约转换成为扩展标签迁移模型的自动化转换工具。上述功能安全性质规约指用形式化逻辑描述的属性,也可以称为功能安全属性。
图2示出了本发明实施例的功能安全性质验证过程示意图。如图2所示,将系统模型与安全性规约输入模型转换工具Beagle Translator后,扩展标签迁移模型的转换算法主要分成两个部分:第一部分是扩展标签迁移模型的模块部分的转换,第二部分是功能安全性质的转换部分。首先需要遍历系统模型的进程模型,对于每一个进程模型我们都会对应的转换到一个扩展标签迁移模型的模块。
具体的,针对每个进程模型,从进程模型到模块模型的转换有五个步骤。第一步是将进程模型的进程属性转换成为模块模型的变量声明。第二步是将进程模型中的通信信道转换成为模块模型的标签声明。第三步是将进程模型的有限状态自动机中的状态转换成为模块模型中的位置声明。第四步是从初始化信息转换得到模型模块的初始化迁移。最后一步是从进程模型的状态机模型的状态迁移转换得到模块模型中的状态迁移。这里分成两种状态迁移,分别是进程方法的状态迁移以及通信动作的状态迁移。
在完成了模块模型的转换之后,我们还需要将系统模型中的功能安全性质,也可以称为功能验证属性转换成为扩展标签迁移模型可以接受的待验证属性。具体的,可以将使用CTL(Linear-time Temporal Logic,时序逻辑)的不变式条件描述的功能安全性质AGf转换成为模型检测工具的待验证属性INVARSPEC f,得到扩展标签迁移模型BeagleModel。
在得到了应用软件形式化模型对应的扩展标签迁移模型之后我们可以调用模型检测工具Beagle进行安全分析,若验证结果为真则说明当前的系统模型满足功能安全条件,若验证结果为假则模型检测工具将会返回一条反例路径供使用者进行错误分析。
S130:基于自动化的模型转换验证工具Proverif Translator,对应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型,并对进程代数模型进行信息安全性质验证。
对应用软件形式化模型进行信息安全性质验证时,电子设备可以将系统模型以及安全性规约转换成为协议分析工具所接受的进程代数模型。之后再调用Proverif工具进行验证分析并返回验证结果。针对这个模型转换的过程,我们开发了自动化的模型转换验证工具Proverif Translator。
图3示出了本发明实施例的信息安全性质验证过程示意图。如图3所示,将系统模型与安全性规约输入模型转换验证工具Proverif Translator后,这个自动化的模型转换验证工具Proverif Translator主要包含了四个部分的内容。第一部分是模型预定义,这一部分会将系统模型中的进程属性、进程方法以及通信信道转换成为对应的变量类型定义、进程方法声明以及通信信道声明部分。第二部分是将系统模型中的初始化信息转换成为对应的进程代数模型中的初始化进程。第三部分是将状态机模型转换成进程代数模型中的通信进程模型。最后一部分是信息安全性质的转换,将机密性安全属性以及认证性安全属性分别转换成为对应进程代数模型中的机密性以及认证性查询语句。
在得到了对应的基于π演算的进程代数模型Proverif Model之后,电子设备可以调用协议安全分析工具Proverif来进行安全分析,若验证结果为真则说明当前通信协议模型满足信息安全属性的机密性以及认证性,若验证结果为假则会返回一条反例路径供使用者进行错误分析。
具体的,上述第一部分的模型预定义部分中主要包括了三个步骤:第一个步骤是自定义类型声明,需要将系统模型中所有自定义的进程属性声明出来。第二步是进程方法的声明,在这一部分中需要根据系统模型中的进程方法中的构造方法以及析构方法转换成为对应的进程代数模型中的方法声明。第三步是通信信道的声明,需要根据系统模型中的通信信道及私有性在进程代数模型中声明通信信道。
在第二部分的初始化进程转换中,主要是将系统模型中的初始化信息转换成为进程代数模型中的初始化进程。在这一步骤中主要是将初始化信息中的进程属性在初始化进程中声明出来,并且作为对应的进程模型的输入参数生成初始化进程模板。
第三部分是进程模型转换的部分,这一部分需要将系统模型中的通信进程的状态机模型转换成为进程代数模型中的通信进程模型。针对系统模型中的每一个进程模型都将会转换得到一个对应的进程代数模型中的进程模型。首先我们需要在进程模型中声明所有在这个进程中用到的变量。其次我们将进程模型的状态机模型中的状态转换成为进程代数模型中的事件并声明。最后一步是将状态机模型中的状态迁移根据进程方法的状态迁移或是通信动作的状态迁移转换得到对应的进程代数模型中的语句。
第四部分是信息安全性质的转换。信息安全性质包括了两种安全性质,分别是:机密性以及认证性。这两种安全性质需要分别对应的转换成为进程代数模型中的机密性查询语句以及认证性查询语句,之后使用协议安全分析工具进行安全分析。
由上述内容可知,本实施例可以基于自动化的模型转换方法,对形式化模型进行转换,转换后的模型可以通过验证工具直接进行验证,从而可以提高模型验证效率。并且,通过对形式化模型进行不同的转换,可以同时对形式化模型进行功能安全性质验证和信息安全性质验证,也就是说,可以同时对两种不同的安全性质进行验证,从而可以进一步提高模型验证效率。
如图4所示,其示出了本发明实施例的一种应用软件形式化模型验证装置的结构示意图,所述装置包括:
模型获取模块410,用于获取待验证的应用软件形式化模型;
功能安全验证模块420,用于基于自动化的模型转换工具Beagle Translator,将所述应用软件形式化模型中的各进程模型转换为对应的模块模型,将所述应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型,并对所述扩展标签迁移模型进行功能安全性质验证;
信息安全验证模块430,用于基于自动化的模型转换验证工具ProverifTranslator,对所述应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型,并对所述进程代数模型进行信息安全性质验证。
可选的,所述功能安全验证模块420包括:
模块转换子模块,用于基于自动化的模型转换工具Beagle Translator,针对所述应用软件形式化模型中的每个进程模型,将该进程模型的进程属性转换成为模块模型的变量声明,将该进程模型中的通信信道转换成为所述模块模型的标签声明,将该进程模型中的有限状态自动机中的状态转换成为所述模块模型中的位置声明,从该进程模型中的初始化信息转换得到所述模块模型的初始化迁移,从该进程模型的状态机模型的状态迁移转换得到所述模块模型中的状态迁移;所述状态迁移包括进程方法的状态迁移以及通信动作的状态迁移;
功能安全性质转换子模块,用于将使用时序逻辑CTL的不变式条件描述的功能安全性质AG f转换成为模型检测工具的待验证属性INVARSPEC f,得到扩展标签迁移模型。
可选的,所述功能安全验证模块420,具体用于将所述扩展标签迁移模型输入模型检测工具Beagle中,得到功能安全性质验证结果。
可选的,所述信息安全验证模块430包括:
预定义子模块,用于将所述应用软件形式化模型中的进程属性、进程方法以及通信信道转换成为对应的变量类型定义、进程方法声明以及通信信道声明;
初始化信息转换子模块,用于将所述应用软件形式化模型中的初始化信息转换成为对应的进程代数模型中的初始化进程;
状态机模型转换子模块,用于将所述应用软件形式化模型中的状态机模型转换成所述进程代数模型中的通信进程模型;
信息安全性质转换子模块,用于将所述应用软件形式化模型中的信息安全性质进行转换,得到基于π演算的所述进程代数模型。
可选的,所述预定义子模块,具体用于:将所述应用软件形式化模型中所有自定义的进程属性声明出来,根据所述应用软件形式化模型的进程方法中的构造方法以及析构方法转换成为对应的进程代数模型中的进程方法声明,根据所述应用软件形式化模型中的通信信道及私有性在进程代数模型中声明通信信道;
所述初始化信息转换子模块,具体用于:将所述应用软件形式化模型中的初始化信息中的进程属性在初始化进程中声明出来,并且作为对应的进程模型的输入参数生成初始化进程模板;
所述状态机模型转换子模块,具体用于:在所述应用软件形式化模型的进程模型中声明所有在这个进程中用到的变量,将进程模型的状态机模型中的状态转换成为进程代数模型中的事件并声明,将状态机模型中的状态迁移根据进程方法的状态迁移或通信动作的状态迁移转换得到所述进程代数模型中的语句;
所述信息安全性质转换子模块,具体用于:将信息安全性质中的机密性转换成为所述进程代数模型中的机密性查询语句,将信息安全性质中的认证性转换成为所述进程代数模型中的认证性查询语句。
可选的,所述信息安全验证模块430,具体用于将所述进程代数模型输入协议分析工具Proverif中,得到信息安全性质验证结果。
由上述内容可知,本发明实施例提供的应用软件形式化模型验证装置,能够基于自动化的模型转换方法,对形式化模型进行转换,转换后的模型可以通过验证工具直接进行验证,从而可以提高模型验证效率。并且,通过对形式化模型进行不同的转换,可以同时对形式化模型进行功能安全性质验证和信息安全性质验证,也就是说,可以同时对两种不同的安全性质进行验证,从而可以进一步提高模型验证效率。
上述装置实施例与方法实施例相对应,与该方法实施例具有同样的技术效果,具体说明参见方法实施例。装置实施例是基于方法实施例得到的,具体的说明可以参见方法实施例部分,此处不再赘述。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (10)
1.一种应用软件形式化模型验证方法,其特征在于,所述方法包括:
获取待验证的应用软件形式化模型;
基于自动化的模型转换工具Beagle Translator,将所述应用软件形式化模型中的各进程模型转换为对应的模块模型,将所述应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型,并对所述扩展标签迁移模型进行功能安全性质验证;
基于自动化的模型转换验证工具Proverif Translator,对所述应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型,并对所述进程代数模型进行信息安全性质验证。
2.根据权利要求1所述的方法,其特征在于,所述基于自动化的模型转换工具BeagleTranslator,将所述应用软件形式化模型中的各进程模型转换为对应的模块模型,将所述应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型的步骤包括:
基于自动化的模型转换工具Beagle Translator,针对所述应用软件形式化模型中的每个进程模型,将该进程模型的进程属性转换成为模块模型的变量声明,将该进程模型中的通信信道转换成为所述模块模型的标签声明,将该进程模型中的有限状态自动机中的状态转换成为所述模块模型中的位置声明,从该进程模型中的初始化信息转换得到所述模块模型的初始化迁移,从该进程模型的状态机模型的状态迁移转换得到所述模块模型中的状态迁移;所述状态迁移包括进程方法的状态迁移以及通信动作的状态迁移;
将使用时序逻辑CTL的不变式条件描述的功能安全性质AG f转换成为模型检测工具的待验证属性INVARSPECf,得到扩展标签迁移模型。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述扩展标签迁移模型进行功能安全性质验证的步骤包括:
将所述扩展标签迁移模型输入模型检测工具Beagle中,得到功能安全性质验证结果。
4.根据权利要求1所述的方法,其特征在于,所述基于自动化的模型转换验证工具Proverif Translator,对所述应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型的步骤包括:
将所述应用软件形式化模型中的进程属性、进程方法以及通信信道转换成为对应的变量类型定义、进程方法声明以及通信信道声明;
将所述应用软件形式化模型中的初始化信息转换成为对应的进程代数模型中的初始化进程;
将所述应用软件形式化模型中的状态机模型转换成所述进程代数模型中的通信进程模型;
将所述应用软件形式化模型中的信息安全性质进行转换,得到基于π演算的所述进程代数模型。
5.根据权利要求4所述的方法,其特征在于,所述将所述应用软件形式化模型中的进程属性、进程方法以及通信信道转换成为对应的变量类型定义、进程方法声明以及通信信道声明的步骤包括:
将所述应用软件形式化模型中所有自定义的进程属性声明出来,根据所述应用软件形式化模型的进程方法中的构造方法以及析构方法转换成为对应的进程代数模型中的进程方法声明,根据所述应用软件形式化模型中的通信信道及私有性在进程代数模型中声明通信信道;
所述将所述应用软件形式化模型中的初始化信息转换成为对应的进程代数模型中的初始化进程的步骤包括:
将所述应用软件形式化模型中的初始化信息中的进程属性在初始化进程中声明出来,并且作为对应的进程模型的输入参数生成初始化进程模板;
所述将所述应用软件形式化模型中的状态机模型转换成所述进程代数模型中的通信进程模型的步骤包括:
在所述应用软件形式化模型的进程模型中声明所有在这个进程中用到的变量,将进程模型的状态机模型中的状态转换成为进程代数模型中的事件并声明,将状态机模型中的状态迁移根据进程方法的状态迁移或通信动作的状态迁移转换得到所述进程代数模型中的语句;
将所述应用软件形式化模型中的信息安全性质进行转换的步骤包括:将信息安全性质中的机密性转换成为所述进程代数模型中的机密性查询语句,将信息安全性质中的认证性转换成为所述进程代数模型中的认证性查询语句。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述对所述进程代数模型进行信息安全验证的步骤包括:
将所述进程代数模型输入协议分析工具Proverif中,得到信息安全性质验证结果。
7.一种应用软件形式化模型验证装置,其特征在于,所述装置包括:
模型获取模块,用于获取待验证的应用软件形式化模型;
功能安全验证模块,用于基于自动化的模型转换工具Beagle Translator,将所述应用软件形式化模型中的各进程模型转换为对应的模块模型,将所述应用软件形式化模型中的功能安全性质转换为对应的待验证属性,得到扩展标签迁移模型,并对所述扩展标签迁移模型进行功能安全性质验证;
信息安全验证模块,用于基于自动化的模型转换验证工具Proverif Translator,对所述应用软件形式化模型进行模型预定义、初始化信息转换、状态机模型转换、以及信息安全性质转换,得到基于π演算的进程代数模型,并对所述进程代数模型进行信息安全性质验证。
8.根据权利要求7所述的装置,其特征在于,所述功能安全验证模块包括:
模块转换子模块,用于基于自动化的模型转换工具Beagle Translator,针对所述应用软件形式化模型中的每个进程模型,将该进程模型的进程属性转换成为模块模型的变量声明,将该进程模型中的通信信道转换成为所述模块模型的标签声明,将该进程模型中的有限状态自动机中的状态转换成为所述模块模型中的位置声明,从该进程模型中的初始化信息转换得到所述模块模型的初始化迁移,从该进程模型的状态机模型的状态迁移转换得到所述模块模型中的状态迁移;所述状态迁移包括进程方法的状态迁移以及通信动作的状态迁移;
功能安全性质转换子模块,用于将使用时序逻辑CTL的不变式条件描述的功能安全性质AG f转换成为模型检测工具的待验证属性INVARSPECf,得到扩展标签迁移模型。
9.根据权利要求7或8所述的装置,其特征在于,所述功能安全验证模块,具体用于将所述扩展标签迁移模型输入模型检测工具Beagle中,得到功能安全性质验证结果。
10.根据权利要求7所述的装置,其特征在于,所述信息安全验证模块包括:
预定义子模块,用于将所述应用软件形式化模型中的进程属性、进程方法以及通信信道转换成为对应的变量类型定义、进程方法声明以及通信信道声明;
初始化信息转换子模块,用于将所述应用软件形式化模型中的初始化信息转换成为对应的进程代数模型中的初始化进程;
状态机模型转换子模块,用于将所述应用软件形式化模型中的状态机模型转换成所述进程代数模型中的通信进程模型;
信息安全性质转换子模块,用于将所述应用软件形式化模型中的信息安全性质进行转换,得到基于π演算的所述进程代数模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011156172.XA CN112269737B (zh) | 2020-10-26 | 2020-10-26 | 一种应用软件形式化模型验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011156172.XA CN112269737B (zh) | 2020-10-26 | 2020-10-26 | 一种应用软件形式化模型验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269737A true CN112269737A (zh) | 2021-01-26 |
CN112269737B CN112269737B (zh) | 2021-11-30 |
Family
ID=74341971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011156172.XA Active CN112269737B (zh) | 2020-10-26 | 2020-10-26 | 一种应用软件形式化模型验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269737B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3148226A1 (en) * | 2015-09-24 | 2017-03-29 | Amrita Vishwa Vidyapeetham | Lot gateway capable of handling heterogenous protocols |
CN108376221A (zh) * | 2018-02-27 | 2018-08-07 | 哈尔滨工业大学 | 一种基于aadl模型扩展的软件系统安全性验证与评估方法 |
CN108830085A (zh) * | 2018-06-13 | 2018-11-16 | 天津大学 | 基于扩展UML的Web应用形式化建模及验证方法 |
CN109739740A (zh) * | 2018-11-22 | 2019-05-10 | 南京航空航天大学 | 一种aadl模型组合形式化验证方法 |
CN111338948A (zh) * | 2020-02-24 | 2020-06-26 | 华东师范大学 | 形式化验证系统 |
-
2020
- 2020-10-26 CN CN202011156172.XA patent/CN112269737B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3148226A1 (en) * | 2015-09-24 | 2017-03-29 | Amrita Vishwa Vidyapeetham | Lot gateway capable of handling heterogenous protocols |
CN108376221A (zh) * | 2018-02-27 | 2018-08-07 | 哈尔滨工业大学 | 一种基于aadl模型扩展的软件系统安全性验证与评估方法 |
CN108830085A (zh) * | 2018-06-13 | 2018-11-16 | 天津大学 | 基于扩展UML的Web应用形式化建模及验证方法 |
CN109739740A (zh) * | 2018-11-22 | 2019-05-10 | 南京航空航天大学 | 一种aadl模型组合形式化验证方法 |
CN111338948A (zh) * | 2020-02-24 | 2020-06-26 | 华东师范大学 | 形式化验证系统 |
Non-Patent Citations (6)
Title |
---|
KAOUTHAR CHETIOUI等: ""Formal Verification of Confidentiality in DNSSEC and E-DNSSEC Protocols using pi-calculus and ProVerif"", 《PROCEDIA COMPUTER SCIENCE》 * |
MARCUS VÖLKER等: ""Verification of Cooperative Vehicle Behavior using Temporal Logic"", 《IFAC-PAPERS ONLINE》 * |
孟博 等: ""基于计算模型的安全协议Swift语言实施安全性分析"", 《通信学报》 * |
曲国远 等: ""基于扩展标记变迁模型的时钟同步协议正确性验证"", 《国防科技大学学报》 * |
汪彩梅: "" 面向可信认证及授权协议的形式化建模与验证研究"", 《中国优秀博硕士学位论文全文数据库(博士) 信息科技辑》 * |
王强: ""安全协议形式化验证方法研究"", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112269737B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lochau et al. | Incremental model-based testing of delta-oriented software product lines | |
CN104572072B (zh) | 一种对基于mvc模式的程序的语言转换方法与设备 | |
Gallina | A model-driven safety certification method for process compliance | |
CN103150200B (zh) | 一种c语言到msvl语言的转换方法 | |
US11681509B2 (en) | Smart contract processing method and system, computer device, and readable storage medium | |
CN110532176A (zh) | 一种智能合约的形式化验证方法、电子装置及存储介质 | |
CN103248525A (zh) | 配置网络资源的方法及装置 | |
CN109460661A (zh) | 一种逻辑安全漏洞检测方法、装置及终端设备 | |
CN104301875A (zh) | 短消息处理方法和装置 | |
CN113760730A (zh) | 一种自动化测试的方法和装置 | |
CN112269737B (zh) | 一种应用软件形式化模型验证方法及装置 | |
EP3438818A1 (en) | Method and device for compiling computer language | |
CN113688134B (zh) | 基于多维数据的可视化变量管理方法、系统及设备 | |
CN113220568B (zh) | Usim卡文件系统的测试方法、装置及介质 | |
CN117909984A (zh) | 基于相似性分析的实时操作系统驱动漏洞挖掘系统及方法 | |
US20180150376A1 (en) | Falsification of Software Program with Datastore(s) | |
CN114860360B (zh) | 登录页面生成的方法、装置及电子设备 | |
US20140359258A1 (en) | Declarative Configuration Elements | |
Masood et al. | An automated approach to regression testing of web services based on WSDL operation changes | |
KR101843092B1 (ko) | 복수의 보험상품 시스템에 대하여 그 시스템들의 정확성을 순차적으로 검증하는 방법 | |
CN110782117A (zh) | 驾驶风险检测方法及装置、存储介质、电子设备 | |
CN115203674A (zh) | 一种应用程序自动登录方法、系统、装置及存储介质 | |
US11586531B2 (en) | Generating test input values for functional components based on test coverage analysis | |
CN112003647B (zh) | 一种回收光猫的检测方法、装置、设备及存储介质 | |
CN104579837A (zh) | 一种OpenFlow协议一致性测试的方法和系统 |
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 |