【技术实现步骤摘要】
基于霍尔逻辑的嵌入式实时操作系统的自动化验证方法
本专利技术涉及嵌入式操作系统领域,具体涉及一种基于霍尔逻辑对操作系统源代码层进行形式化验证。
技术介绍
操作系统的安全性对于一个安全攸关领域起着至关重要的作用,为了确保操作系统的正确性与可靠性,通常需要在操作系统的开发过程中遵循相关的规范。严格遵守规范所开发的操作系统能够为用户程序的开发提供了统一的系统服务接口,从而能够简化用户程序的开发,提高用户程序的可移植性。在整个操作系统设计完成后,投入实现之前需要对其进行测试,以确保操作系统的功能正确性和实现与规范的一致性。目前绝大多数的操作系统规范是使用自然语言描写的,自然语言的规范无法直接运用在实际的验证工作中,故需要验证人员对自然语言规范进行提取和利用形式化语言的描述。另外,由于某些安全攸关的领域对操作系统的正确性有着严格的要求,仅仅对操作系统做测试是不能够保证在所有的运行条件下都是正确的,所以在测试之外需要增加形式化的验证来确保所有的条件下都是可靠的。
技术实现思路
本专利技术提出了一种基于霍尔逻辑对操作系统源代码层进行形式化验证的方法,适用于代码中同时存在C语言代码与汇编代码的情况。本专利技术方法对汇编代码进行了语法语义的定义,并建立了抽象模型,同时,采用一种类高级语言的ghost语句对抽象模型进行实现。从自然语言规范中提取性质并使用形式化语言进行描述,将描述插入到源代码相应的位置中,然后运用自动推理证明工具直接对源代码进行验证,可以保证操作系统代码实现与规范的一致性。将形式化验证的方法引入操作系统设计开发中,可以提高其安全性和正确性。本专利技术提出了一种基于 ...
【技术保护点】
1.一种基于霍尔逻辑的嵌入式实时操作系统的自动化验证方法,其特征在于,包括以下步骤:步骤一:根据已知正确的操作系统内核中纯C语言部分的自然语言规范中提取性质,并采用一阶逻辑对其描述;步骤二:基于霍尔逻辑将一阶逻辑性质描述语句插入到操作系统中的C语言代码中,运用自动定理证明器对其进行验证;若不满足要求,则需要对操作系统内核中所验证的C语言代码部分进行修正直至满足形式化性质;若满足,则保留验证通过的C语言代码;步骤三:将操作系统混合语言部分中的汇编代码抽离出来并进行抽象建模;步骤四:运用类C语言的高级语言对抽象模型进行代码实现;步骤五:将操作系统混合代码中汇编部分全部由抽象模型的实现来替代,形成抽象模型的实现和C语言代码的新的混合语言;步骤六:根据已知正确的操作系统内核中混合语言部分的自然语言规范中提取性质,并采用一阶逻辑对其描述;步骤七:基于霍尔逻辑将一阶逻辑性质描述语句以前后条件插入到操作系统中的新的混合代码中,运用自动定理证明器对其进行验证;若不满足要求,则需要对操作系统内核中所验证的混合代码部分进行修正直至满足所述的形式化性质;若满足,则保留验证通过的混合语言代码和抽象模型。
【技术特征摘要】
1.一种基于霍尔逻辑的嵌入式实时操作系统的自动化验证方法,其特征在于,包括以下步骤:步骤一:根据已知正确的操作系统内核中纯C语言部分的自然语言规范中提取性质,并采用一阶逻辑对其描述;步骤二:基于霍尔逻辑将一阶逻辑性质描述语句插入到操作系统中的C语言代码中,运用自动定理证明器对其进行验证;若不满足要求,则需要对操作系统内核中所验证的C语言代码部分进行修正直至满足形式化性质;若满足,则保留验证通过的C语言代码;步骤三:将操作系统混合语言部分中的汇编代码抽离出来并进行抽象建模;步骤四:运用类C语言的高级语言对抽象模型进行代码实现;步骤五:将操作系统混合代码中汇编部分全部由抽象模型的实现来替代,形成抽象模型的实现和C语言代码的新的混合语言;步骤六:根据已知正确的操作系统内核中混合语言部分的自然语言规范中提取性质,并采用一阶逻辑对其描述;步骤七:基于霍尔逻辑将一阶逻辑性质描述语句以前后条件插入到操作系统中的新的混合代码中,运用自动定理证明器对其进行验证;若不满足要求,则需要对操作系统内核中所验证的混合代码部分进行修正直至满足所述的形式化性质;若满足,则保留验证通过的混合语言代码和抽象模型。2.如权利要求1所述的基于霍尔逻辑的嵌入式实时操作系统的自动化验证方法中,其特征在于,所述步骤一从自然语言规范中提取性质包括以下步骤:步骤A1:从操作系统中的系统调用的规范中提取所要描述的任务管理、时间管理、事件控制块、信号量管理、互斥量管理、事件标志组管理、消息邮箱管理、消息队列管理和内存管理相关的自然语言规范;步骤A2:根据自然语言规范提取性质,并用一阶逻辑表达式对其进行描述。3.如权利要求1所述的基于霍尔逻辑的嵌入式实时操作系统的自动化验证方法中,其特征在于,所述步骤二使用自动定理证明器对C语言代码进行形式化的验证以及修正包括以下步骤:步骤B1:将一阶逻辑描述的性质以霍尔逻辑的形式插入到C语言代码中,同时在相应的节点处插入验证条件;步骤B2:使用自动验证工具对插入后的代码进行验证,若错误,根据提示修正C语言代码,将修正后的代码重新验证,直至所有的验证全部通过。4.如权利要求3所述的基于霍尔逻辑的嵌入式实时操作系统的自动化验证方法中,其特征在于,所述步骤B1、步骤B2中,通过VCC自动定理证明工具提供的验证条件语言书写一阶逻辑表达式,直接将验证条件语句插入到C语言源代码中进行验证;若验证通过,则操作系统内核系统调用符合规范,否则程序代码中存在错误。5.如权利要求1所述的基于霍尔逻辑的嵌入式实时操作系统的自动化验证方法,其特征在于,所述步骤三对...
【专利技术属性】
技术研发人员:郭建,丁继政,朱晓冉,
申请(专利权)人:华东师范大学,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。