CN108509336A - 一种操作***规范形式化验证与测试方法 - Google Patents
一种操作***规范形式化验证与测试方法 Download PDFInfo
- Publication number
- CN108509336A CN108509336A CN201810179502.3A CN201810179502A CN108509336A CN 108509336 A CN108509336 A CN 108509336A CN 201810179502 A CN201810179502 A CN 201810179502A CN 108509336 A CN108509336 A CN 108509336A
- Authority
- CN
- China
- Prior art keywords
- operating system
- formal
- semantic model
- correct
- test
- 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
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种操作***规范形式化验证与测试方法,首先提取操作***规范中关于***服务执行的前置条件和后置条件的约束;根据所提取的约束规范建立形式化语义模型;对形式化语义模型以及操作***应用进行验证,若验证不通过修正形式化语义模型或操作***应用,直至两者都满足规范;使用模型检查的方法从正确的形式化语义模型中自动生成操作***内核实现的测试用例;测试操作***内核实现的正确性;验证后的应用分别在形式化语义模型和操作***内核实现中执行并提取两条执行轨迹,应用互模拟的方法对比两条执行轨迹的一致性,若不一致则修正操作***内核实现直至正确。本发明应用到操作***规范的形式化验证以及操作***内核实现的测试中,以提高操作***的安全性、可靠性。
Description
技术领域
本发明涉及操作***领域,具体涉及一种操作***规范形式化验证与测试方法。
背景技术
操作***的正确性对于一个计算机***起着至关重要的作用,为了保证操作***在设计实现过程中的正确性与可靠性,通常操作***的开发需要遵循相关的规范。遵守相关规范开发的操作***为用户程序提供了统一的***服务接口,从而增强了用户程序的重用性。在操作***设计实现后,投入实现之前需要对其进行测试,以保证操作***的功能正确性和实现与规范的一致性。用来对操作***进行测试的测试用例是从规范中提取的。
目前常见的操作***规范是用自然语言描写的,自然语言描述的规范不可避免的会有二义性。这样不仅在实现过程中可能会误导开发人员,同样也会影响到测试人员对测试用例的提取和设计。另外,由于操作***的正确性会直接影响整个***的安全性,仅仅对操作***做测试是不能达到安全性要求的。本发明提出了对操作***规范进行形式化建模以及根据模型对操作***规范和操作***应用进行验证,同时从形式化规范出发自动生成测试用例的方法。本发明方法建立了操作***规范的形式语义模型,并通过模型检测方法验证操作***应用是否满足性质规范,那么可以保证该性质规范在任何时候都是成立的,同时,采用基于形式化模型的测试用例生成方法,可以保证测试用例的正确性和规范一致性。将形式化建模的方法引入操作***中,可以提高其安全性和正确性。
发明内容
本发明提出了一种操作***规范的形式化验证与测试方法,包括:
步骤一:根据已有的操作***自然语言规范建立形式化语义模型,并从自然语言规范中提取性质,用形式化语言来描述性质;
步骤二:通过所建立的形式化语义模型中对操作***应用进行验证;若不满足要求,则对所述形式化语义模型或操作***应用进行修正直至所述形式化语义模型及应用满足要求,若满足,则保留形式化语义模型;
步骤三:根据正确的形式化语义模型,使用基于模型的测试用例生成方法生成操作***内核的测试用例集;
步骤四:使用自动生成的测试用例对已实现的操作***内核代码进行测试,若测试不通过,则需要修复操作***内核代码的错误,并重新再开发板上编译测试,直至通过所有的测试用例;若测试通过,则可判断操作***内核实现在一定程度上的正确性;
步骤五:将通过验证的操作***应用在所建立的形式化语义模型中执行,同时在实际的操作***实现中执行操作***应用,使用互模拟的方法来检查操作***内核实现的正确性,即若操作***应用在形式化语义模型中的行为与在具体内核实现中的行为不一致,则修改操作***内核代码的错误,并重新执行互模拟操作,直至互模拟检查通过。
本发明提出的操作***形式化验证与测试方法中,所述步骤一建立语义模型包括以下步骤:
步骤A1:从操作***规范中提取所要建模与描述的***服务、操作***任务调度、资源管理、事件管理与报警机制相关的自然语言规范;
步骤A2:根据自然语言规范提取性质规范,并用形式化语言描述;
步骤A3:使用形式化语义模型定义自然语言规范中***服务、任务调度、资源管理操作***内核管理机制的执行规则;
步骤A4:定义用来实现操作***应用程序的程序语言语义,并与步骤A3中建立的形式化语义模型结合,形成形式化规范。
本发明提出的操作***形式化验证和测试方法中,所述步骤二对模型进行验证以及修正包括以下步骤:
步骤B1:检验操作***自然语言规范是否正确,若错误,在修正所述规范文件,并修正其相对应的形式化语义模型;
步骤B2:验证所建立的形式化语义模型是否正确,若错误,则修正所述形式化语义模型;若正确,则继续下一步骤;
步骤B3:检验所述性质是否符合规范且描述正确,若错误,则修正所述性质描述;若正确,则继续下一步骤;
步骤B4:验证所述操作***应用是否正确,若错误,则修正操作***应用代码,将修正后的代码放入形式化语义模型中重新验证,直至所有性质验证通过为止。
本发明提出的所述的操作***形式化验证与测试方法中,通过K框架使用模型检测的方法对所述形式化语义模型及操作***应用程序进行形式化验证;若验证通过,则所述形式化语义模型及应用程序均符合规范,否则形式化语义模型或应用中存在错误。
本发明提出的所述的操作***形式化验证与测试方法中,所述步骤三生成测试用例包括以下步骤:
步骤C1:配置操作***对象的相关属性,如任务是否可抢占、资源优先级、报警器所对应时钟等;
步骤C2:根据所配置的操作***对象的属性,给出***服务的执行要满足的约束,也就是操作***在执行***服务之前的初始状态;
步骤C3:根据操作***对象的配置,给出操作***可能到达的末状态,从而生成可以从初始状态到末状态的***服务序列集合。
本发明提出的所述操作***形式化验证与测试方法中,所述步骤四中对操作***内核代码实现进行测试包括以下步骤:
步骤D1:对操作***对象进行与步骤三中完全相同的配置;
步骤D2:在操作***内核实现中分别执行步骤三中生成的***服务序列集合中每一个序列元素;
步骤D3:若***服务序列在操作***内核实现中执行后不能到达步骤三中所设置的终止状态,则操作***实现错误,需要修正操作***实现代码直至其正确为止;否则,操作***实现正确,继续下一步骤。
本发明提出的所述操作***形式化验证与测试方法中,所述步骤五中对形式化模型以及操作***实现进行互模拟包括以下步骤:
步骤E1:分别在操作***实现和形式化模型上执行验证后的操作***应用,并记录执行完每条***服务后的***状态变化轨迹;
步骤E2:对比步骤E1中得到的两条***状态变化轨迹,若两条轨迹不同,则需要修正操作***实现代码直至其正确为止;否则操作***实现正确,得到正确的操作***实现。
本发明提出的所述的操作***形式化验证与测试方法中,所述步骤B1、C3均是通过工具K框架来分别对形式化模型进行验证和测试用例生成的。
本发明操作***规范的形式化验证及测试方法,将操作***规范运用语义学方法中的操作语义进行了建模,能够运用模型检测的方法对该模型以及操作***应用进行全自动化的验证,若验证不通过还可得到反例,以便于更快的模型或操作***应用中的错误。同时由于操作语义的可执行性,可以得到操作***应用执行的状态变化轨迹,从而使用互模拟的方法来检查操作***实现代码的正确性。
附图说明
图1表示本发明操作***形式化验证与测试方法的流程示意图。
图2表示本发明操作***形式化验证与测试方法中建立形式化模型的工作流程图。
图3表示本发明操作***形式化验证与测试方法中形式化验证的工作流程图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明的操作***形式化验证与测试方法主要通过定义操作***中***服务的操作语义来建立操作***规范的形式化模型,并提取操作***内核及应用相关性质进行验证和测试用例生成。首先通过定义***服务的执行规则建立操作***规范的形式化语义模型,然后对该形式化语义模型以及操作***应用进行验证,验证的方法可以运用各种形式化的验证方法,如模型检测、可达性检查等。在验证形式化语义模型的正确性后,基于该形式化语义模型生成测试用例,所生成的测试用例可以用来测试操作***内核实现的正确性。同时,由于所建立的形式化语义模型的可执行性,可以在形式化语义模型上执行验证后的操作***应用,通过比较操作***应用在形式化语义模型上的执行轨迹以及操作***应用在操作***内核实现上的执行轨迹来检查操作***内核实现的正确性。
实施例
如图1所示,是本发明应用在OSEK/VDX车载操作***规范2.2.3版本中验证与测试流程图,本发明包括以下步骤:
步骤一:分析并抽取出OSEK/VDX车载操作***规范中所定义的***服务执行的前置条件后置条件,以及关于操作***中调度机制、资源管理机制、报警机制等的定义。同时,提取所要验证的操作***性性质,如无死锁性、任务执行的周期性、无饥饿性等,为步骤二的建模做准备。
步骤二:根据步骤一中整理抽取OSEK/VDX车载操作***规范,结合操作***应用实现语言(OIL语言:OSEK Implementation Language),定义操作***规范的形式化模型。如图2所示,首先需要用形式化语言定义OSEK/VDX车载操作***规范实现语言的语法、***服务语法、以及操作***应用实现语言语法;同时,由于定义操作语义时需要确定要观察和描述哪些***状态的变迁,需要确定操作语义中操作***内核的配置,即要观察和描述的***状态,如当前正在执行的程序语句,任务当前的状态(就绪、运行、挂起),当前的时钟值,报警器的报警时间等。
在完成OIL语言语法和操作***内核配置的定义后,需要根据车载操作***规范和程序语言规范定义***服务的执行规则以及操作***应用实现语言中语句的执行规则。所述的执行规则也就是相关语言的操作语义,以某种语言实现的程序需要按照所定义的操作语义规则执行。
上述所定义的OSEK/VDX操作***实现语言的语法和操作语义一起构成了操作***规范的形式化模型。该模型不仅可以通过形式化验证的方法验证模型的性质,同时由于操作语义的可执行性且操作***内核是操作***应用的运行平台,因此可以在形式化模型上执行OSEK/VDX操作***应用并且验证操作***应用的相关性质。
如图3所示,是本发明的应用于OSEK/VDX操作***中的形式化验证与测试方法中的验证流程图,首先在上述建立的形式化语义模型中验证基于OSEK/VDX的操作***应用是否满足规范;若不满足,则执行修正过程,直至形式化语义模型及操作***应用均满足规范,若满足,则保留形式化语义模型以及应用。具体地,先验证该操作***应用是否符合规范,若操作***应用发生错误,则对操作***应用进行修正。修正过程包括通过仿真或者模型检验的方法找出一条路径,在这条路径上违背了性质,根据给出的这条路径可以得到相关信息,根据该信息修改操作***应用相应部分的代码,对修改后的代码进行重新验证。
若基于OSEK/VDX规范的操作***应用实现符合规范,继续验证所建立的形式化语义模型是否正确,同样根据模型检验所给的反例路径查找模型可能发生错误的地方,模型错误的原因可能是人对自然语言规范理解的偏差,或者在转换成数学公式过程中转换错误。若模型发生错误,则需要对模型进行修正并重新验证。
在检查过操作***应用、形式化语义模型都正确后,检查对性质的描述是否正确,若有错误,则需要修改性质描述中的错误。修改后,重新对形式化语义模型和操作***应用进行验证,若验证正确,则说明建立的形式化语义模型、操作***应用的实现代码是正确的,可以在此基础上做后续的检查操作***内核实现正确性的操作。
步骤三:根据步骤二中得到的正确的形式化语义模型和操作***应用生成操作***内核的测试用例。具体步骤为,给出操作***对象的配置文件,设置***的初始状态和末状态,由于模型检测可以搜索***所有可能的路径,故以模型检测方法为基础,可以生成所有可能从初始状态到达末状态的***服务序列的集合。
步骤四:使用步骤三生成的测试用例对操作***内核实现进行测试,若操作***内核实现通过测试,则操作***内核实现正确,否则需要根据未通过的测试用例定位相关的***服务实现代码,并修正代码中的错误。修正后重新对操作***内核实现进行测试,直至其可以通过全部的测试用例。
步骤五:通过互模拟的方法来判断操作***内核实现的正确性。互模拟的步骤如下:由于所建立的形式化语义模型是操作语义模型,且操作语义具有可执行性,可以在所定义的操作***模型上执行操作***应用,并记录操作***应用执行过程中状态变化轨迹;同时,在操作***内核实现上执行同样的操作***应用,并记录操作***应用执行过程中的状态变化轨迹。最后比较得到的两条轨迹是否一致,若一致则操作***内核实现正确,否则通过分析两条轨迹不一致的起始点来定位操作***内核实现的错误位置,然后修正操作***内核代码。修正后,再次通过互模拟的方法来检查操作***内核实现的正确性。
本具体实例以OSEK/VDX车载操作***规范为例,对其进行形式化建模,并对形式化语义模型以及基于OSEK/VDX规范的操作***应用进行形式化验证和分析。验证后的模型可用来生成操作***内核实现的测试用例,并且在该模型上执行操作***应用,获取操作***应用的执行轨迹,通过互模拟的方法与操作***应用在其内核实现中的运行轨迹做对比,从而进一步验证该操作***内核实现的正确性。OSEK/VDX操作***规范中定义了静态的实时操作***,不支持在运行过程中动态修改操作***对象的各属性。基于OSEK/VDX规范的操作***中最重要的资源包括任务、时间和中断,为了更好的对操作***中的各个资源进行管理,OSEK/VDX规范提供了一个轻量级的***服务库,包括26个用户功能接口。
本具体事例中,运用本发明的操作***规范的形式化验证与测试方法对OSEK/VDX规范进行形式化建模和验证,另外,使用验证过的模型自动生成操作***内核的测试用例,并且使用互模拟的方法进一步验证操作***内核实现的正确性,具体步骤如下:
步骤一:分析并提取OSEK/VDX规范中关于***服务的规范描述,并从OSEK/VDX规范中提取所要验证的操作***应用性质以及操作***内核性质。
根据OSEK/VDX规范,***服务是在任务中调用并执行的,且***服务的执行可能改变任务的状态变化。基于OSEK/VDX规范的任务包括两种,分别为基本任务和扩展任务,基本任务可以在就绪、运行和挂起三种状态之间转换,扩展任务的状态在基本任务的基础上增加了等待状态,任务的各个状态之间的转换是通过***调度实现的。无论是基本任务还是扩展任务,都只能在运行状态时调用和执行***服务,扩展任务可以调用与事件相关的***服务,从而在等待状态、就绪状态和运行状态之间转换,而基本任务不能访问任何与事件相关的***服务。
所提取的性质包括操作***应用性质和操作***内核性质,操作***应用性质主要针对应用本身的实现是否可能引起任务多重激活或者饿死等现象,操作***内核性质主要针对操作***本身对资源管理机制和***服务的实现是否会引起优先级反转、任务不能互斥执行等现象。
根据步骤一中提取的关于OSEK/VDX规范中***服务的规范约束建立形式化语义模型,并使用形式化语言描述性质规范。
形式化语义模型是以***服务的操作语义形式描述的,首先,定义了OSEK/VDX实现语言OIL(OSEK Implementation Language),由于基于OSEK/VDX的操作***应用是使用C语言来实现的,故还需定义部分C语言的语法。完成语法定义后,提取OSEK/VDX规范中所需要观察和描述的操作***对象属性,作为操作语义的配置。最后使用重写逻辑的方法定义OSEK/VDX的规范中26条***服务的执行规则,除此之外,还对操作***内核中的报警机制处理以及调度处理进行了定义。另外,针对所述的部分C语言语法,定义其相对应C语言语句的操作语义。
性质规范是使用线性时态逻辑公式描述的,针对基于OSEK/VDX规范提取的性质主要集中在功能正确性和实时性等方面的六条性质,包括:在操作***的运行过程中要求无死锁现象出现;在同一时刻不能有两个任务处于运行状态;操作***的执行过程中不会出现优先级反转;若一个扩展任务处于等待状态则该任务等待的事件终会被设置;对于周期性任务来说,该任务一定要在其时间周期内执行结束;对于被设置成单次激活的任务,不可能出现多次激活的情况。
步骤二:利用工具K框架,使用模型检查的方法对所述形式化语义模型以及操作***应用进行性质验证,验证形式化语义模型和操作***应用均满足OSEK/VDX规范。
步骤三:使用工具K框架,由步骤二中得到的正确的形式化语义模型自动生成操作***内核实现的测试用例集。
步骤四:使用步骤三中生成的测试用例集对操作***内核实现进行测试和修正。
步骤五:在操作***内核实现中执行在步骤四中验证过的操作***应用,并记录操作***应用执行的轨迹,同时在验证后的正确的形式化语义模型上执行同样的操作***应用并记录其执行轨迹,然后将两条轨迹作对比,使用互模拟的方法验证操作***内核实现的正确性。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (8)
1.一种操作***规范的形式化验证与测试方法,其特征在于,包括以下步骤:
步骤一:根据已有的操作***自然语言规范建立形式化语义模型,并从自然语言规范中提取性质,用形式化语言来描述性质;
步骤二:通过所建立的形式化语义模型中对操作***应用进行验证;若不满足要求,则对所述形式化语义模型或操作***应用进行修正直至所述形式化语义模型及应用满足要求,若满足,则保留形式化语义模型;
步骤三:根据正确的形式化语义模型,使用基于模型的测试用例生成方法生成操作***内核的测试用例集;
步骤四:使用自动生成的测试用例对已实现的操作***内核代码进行测试,若测试不通过,则需要修复操作***内核代码的错误,并重新再开发板上编译测试,直至通过所有的测试用例;若测试通过,则可判断操作***内核实现在一定程度上的正确性;
步骤五:将通过验证的操作***应用在所建立的形式化语义模型中执行,同时在实际的操作***实现中执行操作***应用,使用互模拟的方法来检查操作***内核实现的正确性,即若操作***应用在形式化语义模型中的行为与在具体内核实现中的行为不一致,则修改操作***内核代码的错误,并重新执行互模拟操作,直至互模拟检查通过。
2.如权利要求1所述的操作***形式化验证与测试方法中,其特征在于,所述步骤一建立形式化语义模型包括以下步骤:
步骤A1:从操作***规范中提取所要建模与描述的***服务、操作***任务调度、资源管理、事件管理与报警机制相关的自然语言规范;
步骤A2:根据自然语言规范提取性质规范,并用形式化语言描述;
步骤A3:使用形式化语义模型定义自然语言规范中***服务、任务调度、资源管理操作***内核管理机制的执行规则;
步骤A4:定义用来实现操作***应用程序的程序语言语义,并与步骤A3中建立的形式化语义模型结合,形成形式化规范。
3.如权利要求2所述的操作***形式化验证和测试方法中,其特征在于,所述步骤二对形式化语义模型进行验证以及修正包括以下步骤:
步骤B1:检验操作***自然语言规范是否正确,若错误,在修正所述规范文件,并修正其相对应的形式化语义模型;
步骤B2:验证所建立的形式化语义模型是否正确,若错误,则修正所述形式化语义模型;若正确,则继续下一步骤;
步骤B3:检验所述性质是否符合规范且描述正确,若错误,则修正所述性质描述;若正确,则继续下一步骤;
步骤B4:验证所述操作***应用是否正确,若错误,则修正操作***应用代码,将修正后的代码放入形式化语义模型中重新验证,直至所有性质验证通过为止。
4.如权利要求3所述的操作***形式化验证与测试方法中,其特征在于,所述B2,B4中通过K框架使用模型检测的方法对形式化语义模型及操作***应用程序进行形式化验证;若验证通过,则形式化语义模型及应用程序均符合规范,否则形式化语义模型或应用中存在错误。
5.如权利要求1的所述的操作***形式化验证与测试方法中,其特征在于,所述步骤三生成测试用例包括以下步骤:
步骤C1:配置操作***对象的相关属性,如任务是否可抢占、资源优先级、报警器所对应时钟等;
步骤C2:根据所配置的操作***对象的属性,给出***服务的执行要满足的约束,也就是操作***在执行***服务之前的初始状态;
步骤C3:根据操作***对象的配置,给出操作***可能到达的末状态,从而生成可以从初始状态到末状态的***服务序列集合。
6.如权利要求5所述的操作***形式化验证与测试方法,其特征在于,所述步骤C3通过工具K框架来对测试用例生成。
7.如权利要求1的所述操作***形式化验证与测试方法中,其特征在于,所述步骤四中对操作***内核代码实现进行测试包括以下步骤:
步骤D1:对操作***对象进行与步骤三中完全相同的配置;
步骤D2:在操作***内核实现中分别执行步骤三中生成的***服务序列集合中每一个序列元素;
步骤D3:若***服务序列在操作***内核实现中执行后不能到达步骤三中所设置的终止状态,则操作***实现错误,需要修正操作***实现代码直至其正确为止;否则,操作***实现正确,继续下一步骤。
8.如权利要求1的所述操作***形式化验证与测试方法中,其特征在于,所述步骤五中对形式化模型以及操作***实现进行互模拟包括以下步骤:
步骤E1:分别在操作***实现和形式化模型上执行验证后的操作***应用,并记录执行完每条***服务后的***状态变化轨迹;
步骤E2:对比步骤E1中得到的两条***状态变化轨迹,若两条轨迹不同,则需要修正操作***实现代码直至其正确为止;否则操作***实现正确,得到正确的操作***实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810179502.3A CN108509336B (zh) | 2018-03-05 | 2018-03-05 | 一种操作***规范形式化验证与测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810179502.3A CN108509336B (zh) | 2018-03-05 | 2018-03-05 | 一种操作***规范形式化验证与测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108509336A true CN108509336A (zh) | 2018-09-07 |
CN108509336B CN108509336B (zh) | 2021-05-25 |
Family
ID=63376958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810179502.3A Active CN108509336B (zh) | 2018-03-05 | 2018-03-05 | 一种操作***规范形式化验证与测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108509336B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783380A (zh) * | 2019-01-04 | 2019-05-21 | 北京航空航天大学 | 一种并发***组合验证装置 |
CN109814924A (zh) * | 2019-01-28 | 2019-05-28 | 华东师范大学 | 一种软件复杂度计算方法 |
CN109995948A (zh) * | 2018-12-06 | 2019-07-09 | 平安科技(深圳)有限公司 | 基于测试工具的提示音的测试方法、装置、计算机设备 |
CN110119358A (zh) * | 2019-05-15 | 2019-08-13 | 杭州电子科技大学 | Fbd程序的测试方法及装置 |
CN110245085A (zh) * | 2019-04-08 | 2019-09-17 | 华东师范大学 | 利用在线模型检验的嵌入式实时操作***验证方法及*** |
CN110851141A (zh) * | 2019-11-18 | 2020-02-28 | 电子科技大学 | 一种基于Coq的C++编译器变量作用域形式化方法 |
CN111209203A (zh) * | 2020-01-06 | 2020-05-29 | 华东师范大学 | 一种基于源代码的模型验证方法 |
CN111224985A (zh) * | 2020-01-06 | 2020-06-02 | 上海丰蕾信息科技有限公司 | 通信协议可信性验证方法 |
CN111245676A (zh) * | 2020-01-06 | 2020-06-05 | 上海丰蕾信息科技有限公司 | 通信协议可信性验证装置 |
CN111240972A (zh) * | 2020-01-06 | 2020-06-05 | 华东师范大学 | 一种基于源代码的模型验证装置 |
CN111400716A (zh) * | 2020-02-25 | 2020-07-10 | 华东师范大学 | 一种基于操作***的安全机制验证方法 |
CN111428242A (zh) * | 2020-02-25 | 2020-07-17 | 华东师范大学 | 一种基于操作***的安全机制验证装置 |
CN111506513A (zh) * | 2020-06-04 | 2020-08-07 | 南京大学 | 一种基于层次化模型的文件***测试方法 |
CN111679964A (zh) * | 2020-04-21 | 2020-09-18 | 华东师范大学 | 基于边界模型检测技术的微内核操作***接口的形式化验证方法 |
CN115687167A (zh) * | 2023-01-05 | 2023-02-03 | 军事科学院***工程研究院网络信息研究所 | 一种群体智能操作***的形式化验证方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295079A1 (en) * | 2003-10-30 | 2008-11-27 | P.R.E-Pozitive Requirements Engineering Ltd. | System and Method for Verifying and Testing System Requirements |
CN101872322A (zh) * | 2009-04-27 | 2010-10-27 | 武汉大学 | 一种基于需求模型的软件特性检测方法 |
CN102193556A (zh) * | 2011-04-18 | 2011-09-21 | 华东师范大学 | 汽车电子器件中断安全隐患检测***及其检测方法 |
CN102999325A (zh) * | 2011-07-11 | 2013-03-27 | 霍尼韦尔国际公司 | 用于验证模型等价性的***和方法 |
CN106708730A (zh) * | 2016-11-22 | 2017-05-24 | 北京控制工程研究所 | 一种针对嵌入式实时操作***形式化验证方法 |
-
2018
- 2018-03-05 CN CN201810179502.3A patent/CN108509336B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295079A1 (en) * | 2003-10-30 | 2008-11-27 | P.R.E-Pozitive Requirements Engineering Ltd. | System and Method for Verifying and Testing System Requirements |
CN101872322A (zh) * | 2009-04-27 | 2010-10-27 | 武汉大学 | 一种基于需求模型的软件特性检测方法 |
CN102193556A (zh) * | 2011-04-18 | 2011-09-21 | 华东师范大学 | 汽车电子器件中断安全隐患检测***及其检测方法 |
CN102999325A (zh) * | 2011-07-11 | 2013-03-27 | 霍尼韦尔国际公司 | 用于验证模型等价性的***和方法 |
CN106708730A (zh) * | 2016-11-22 | 2017-05-24 | 北京控制工程研究所 | 一种针对嵌入式实时操作***形式化验证方法 |
Non-Patent Citations (3)
Title |
---|
DAVID SANÁN等: "CSimpl: A Rely-Guarantee-Based Framework for Verifying Concurrent Programs", 《TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS》 * |
徐丙凤: "构件化嵌入式软件安全性分析方法研究", 《万方学位论文》 * |
李国拯等: "基于带数据约束实时***的互模拟检测方法", 《计算机技术与发展》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995948A (zh) * | 2018-12-06 | 2019-07-09 | 平安科技(深圳)有限公司 | 基于测试工具的提示音的测试方法、装置、计算机设备 |
CN109783380A (zh) * | 2019-01-04 | 2019-05-21 | 北京航空航天大学 | 一种并发***组合验证装置 |
CN109814924B (zh) * | 2019-01-28 | 2020-10-02 | 华东师范大学 | 一种软件复杂度计算方法 |
CN109814924A (zh) * | 2019-01-28 | 2019-05-28 | 华东师范大学 | 一种软件复杂度计算方法 |
CN110245085A (zh) * | 2019-04-08 | 2019-09-17 | 华东师范大学 | 利用在线模型检验的嵌入式实时操作***验证方法及*** |
CN110245085B (zh) * | 2019-04-08 | 2023-03-31 | 华东师范大学 | 利用在线模型检验的嵌入式实时操作***验证方法及*** |
CN110119358A (zh) * | 2019-05-15 | 2019-08-13 | 杭州电子科技大学 | Fbd程序的测试方法及装置 |
CN110119358B (zh) * | 2019-05-15 | 2023-08-08 | 杭州电子科技大学 | Fbd程序的测试方法及装置 |
CN110851141A (zh) * | 2019-11-18 | 2020-02-28 | 电子科技大学 | 一种基于Coq的C++编译器变量作用域形式化方法 |
CN111245676B (zh) * | 2020-01-06 | 2022-03-04 | 上海丰蕾信息科技有限公司 | 通信协议可信性验证装置 |
CN111240972A (zh) * | 2020-01-06 | 2020-06-05 | 华东师范大学 | 一种基于源代码的模型验证装置 |
CN111245676A (zh) * | 2020-01-06 | 2020-06-05 | 上海丰蕾信息科技有限公司 | 通信协议可信性验证装置 |
CN111224985B (zh) * | 2020-01-06 | 2022-06-03 | 上海丰蕾信息科技有限公司 | 通信协议可信性验证方法 |
CN111224985A (zh) * | 2020-01-06 | 2020-06-02 | 上海丰蕾信息科技有限公司 | 通信协议可信性验证方法 |
CN111209203A (zh) * | 2020-01-06 | 2020-05-29 | 华东师范大学 | 一种基于源代码的模型验证方法 |
CN111400716A (zh) * | 2020-02-25 | 2020-07-10 | 华东师范大学 | 一种基于操作***的安全机制验证方法 |
CN111428242A (zh) * | 2020-02-25 | 2020-07-17 | 华东师范大学 | 一种基于操作***的安全机制验证装置 |
CN111679964A (zh) * | 2020-04-21 | 2020-09-18 | 华东师范大学 | 基于边界模型检测技术的微内核操作***接口的形式化验证方法 |
CN111679964B (zh) * | 2020-04-21 | 2022-07-26 | 华东师范大学 | 基于边界模型检测技术的微内核操作***接口的形式化验证方法 |
CN111506513A (zh) * | 2020-06-04 | 2020-08-07 | 南京大学 | 一种基于层次化模型的文件***测试方法 |
CN115687167A (zh) * | 2023-01-05 | 2023-02-03 | 军事科学院***工程研究院网络信息研究所 | 一种群体智能操作***的形式化验证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108509336B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509336A (zh) | 一种操作***规范形式化验证与测试方法 | |
Cimatti et al. | OCRA: A tool for checking the refinement of temporal contracts | |
CN108536581B (zh) | 一种针对源代码的运行时形式化验证方法 | |
Bahig et al. | Formal verification of automotive design in compliance with ISO 26262 design verification guidelines | |
Bonfanti et al. | Design and validation of a C++ code generator from abstract state machines specifications | |
Brown et al. | Software testing | |
Lau et al. | X-MAN: An MDE tool for component-based system development | |
Zalila et al. | Leveraging formal verification tools for DSML users: a process modeling case study | |
Bombieri et al. | Functional qualification of TLM verification | |
Yacoub et al. | DEv-PROMELA: modeling, verification, and validation of a video game by combining model-checking and simulation | |
Abdulkhaleq | A system-theoretic safety engineering approach for software-intensive systems | |
Michael et al. | The verification and validation of software architecture for systems of systems | |
Dadeau et al. | Test Generation and Evaluation from High-Level Properties for Common Criteria Evaluations--The TASCCC Testing Tool | |
Di Ruscio et al. | Simulating upgrades of complex systems: The case of Free and Open Source Software | |
Mateo Navarro et al. | A proposal for automatic testing of GUIs based on annotated use cases | |
Duhil et al. | Early Detection of Flaws in System Architecture Model by means of Model Simulation | |
Bahig et al. | Formal verification framework for automotive UML designs | |
Kinoshita et al. | Describing software specification by combining SysML with the B method | |
Kim et al. | Assessment of high integrity software components for completeness, consistency, fault-tolerance, and reliability | |
Dadeau et al. | Scenario‐based testing using symbolic animation of B models | |
Zeiß | Quality assurance of test specifications for reactive systems | |
Schneider et al. | The validation suite approach to safety qualification of tools | |
Briand | Software verification—a scalable, model-driven, empirically grounded approach | |
Ubayashi et al. | Context-dependent product line engineering with lightweight formal approaches | |
Ali et al. | Formalizing the iso/iec/ieee 29119 software testing standard |
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 |