一种面向NuXMV的安全关键系统状态转换图测试用例生成方法技术方案

技术编号:33734098 阅读:11 留言:0更新日期:2022-06-08 21:30
本发明专利技术公开了一种面向NuXMV的安全关键系统状态转换图测试用例生成方法,S1,将变量关系模型转换为NuXMV符号模型检查器可接受的状态转换图模型,根据状态转换图可解释化预处理算法,读取和解析所述图模型文件,对图模型进行预处理,从状态转换图模型中解析出结点流和条件流;S2,对解析出的结点流和条件流进行规约,制定不同的覆盖策略,并基于覆盖策略通过验证存在性属性的方式生成反例状态转移路径,存入测试用例集中;S3,对S2得到的测试用例集去冗余化,得到最小最优的测试用例集。本发明专利技术能够找出安全关键系统在编码过程中存在的安全性问题,验证编码和设计的一致性,提高安全关键系统的可靠性。关键系统的可靠性。关键系统的可靠性。

【技术实现步骤摘要】
一种面向NuXMV的安全关键系统状态转换图测试用例生成方法


[0001]本专利技术属于安全关键系统建模和测试用例生成
,具体涉及一种面向NuXMV的安全关键系统状态转换图测试用例生成方法。

技术介绍

[0002]1978年Parns等人提出了一种指明需求的四变量模型。由于该模型是以抽象的形式来指明需求,无法对需求进行形式化分析。NuXMV是一种新的符号模型检查器,结合了基于BDD的模型检查组件(利用了科罗拉多大学Fabio Somenzi开发的CUDD库)和基于SAT的模型检查组件(包括一个基于RBC的有界模型检查器),该有界模型检查器可以连接到Minisat SAT求解器和/或ZChaff SAT求解器,可以可靠地用于工业设计的验证,作为定制验证工具的核心,作为形式验证技术的测试平台,并应用于其他研究领域。NuXMV主要用于分析同步有限状态和无限状态系统,对于有限状态,NuXMV有基于热诺瓦大学所提供的SIM,它是一个最先进的SAT算法的强大验证引擎;对于无限状态,NuXMV具有SMT的验证技术,通过与MathSAT5的紧密集成实现。
[0003]状态转换图(State Transition Diagram,STD)可以详细的描述完整的系统行为,即系统的输入与输出的约束关系的静态行为和具有时间次序的约束关系的动态行为。为了精确描述变量关系模型的状态转换图,将状态转换图定义为一个四个元组STD=<S,s_0,s_f,C>,其中S是一个状态的集合,包含有初始状态s0,结束状态sf以及中间状态的集合;初始状态s0表示系统的开始状态。例如按下开关按钮后系统启动,其初始状态就是开关未按下,系统未启动;终结状态sf表示系统的结束状态,即当触发事件发生后系统达到的稳态,例如开关按下,系统启动;C表示状态转移条件的集合,此约束可以是触发的系统事件或者状态推进要满足的某种条件。
[0004]针对变量关系需求模型进行形式化验证可以通过NuXMV符号模型检查器进行验证,对于系统设计中存在的关键安全性问题,可以根据对应的安全属性模板设计其时序逻辑语句,然后通过验证这条语句来判定系统设计是否完整与一致。但是对于编码层的安全性要求,并没有给出可行的解决方案。

技术实现思路

[0005]本专利技术所要解决的技术问题是针对上述现有技术的不足,提供一种面向NuXMV的安全关键系统状态转换图测试用例生成方法,根据NuXMV符号模型检查器的状态转换图,提出一个能够验证编码与设计是否一致的解决方案,能够找出安全关键系统在编码过程中存在的安全性问题,验证编码和设计的一致性,提高安全关键系统的可靠性。
[0006]为实现上述技术目的,本专利技术采取的技术方案为:
[0007]一种面向NuXMV的安全关键系统状态转换图测试用例生成方法,包括:
[0008]S1,将变量关系模型表示的安全关键系统转换为NuXMV符号模型检查器可接受的
状态转换图模型,根据状态转换图可解释化预处理算法,读取和解析所述图模型文件,对图模型进行预处理,从状态转换图模型中解析出结点流和条件流;
[0009]S2,对解析出的结点流和条件流进行规约,制定不同的覆盖策略,并基于覆盖策略通过验证存在性属性的方式生成反例状态转移路径,存入测试用例集中;
[0010]S3,对S2得到的测试用例集去冗余化,得到最小最优的测试用例集。
[0011]为优化上述技术方案,采取的具体措施还包括:
[0012]上述的S1中,将变量关系模型转换为NuXMV符号模型检查器可接受的状态转换图模型,所述状态转换图可解释化预处理算法,通过读取已经转换好的图模型文件,遍历文件中是字符流,将文件规范为结点和条件数据结构,提取出结点流以供给路径覆盖算法使用,提取出条件流,并遍历条件流,自动生成条件的真值表,通过真值表的方式预处理为条件的主析取范式表达式以供给变换覆盖算法使用。
[0013]上述的结点流是状态转换图中的状态结点,包含开始结点、中间状态结点和结束结点,每一个结点都对应一组变量以及变量在特定时序下的值,每个结点各不相同;
[0014]所述条件流是状态转换图中状态转换的条件集,每一个条件可是单一的条件元,也可以是复杂的条件元,复杂的条件元需要在预处理过程中提取出析取范式。
[0015]上述的S2中,根据预处理后的图模型,制定基于结束结点的覆盖策略和基于状态结点变换的覆盖策略;
[0016]根据基于结束结点的覆盖策略得到每一个结束结点其包含的所有变量的存在性属性验证结果,其结果是一组带有重复路径的反例状态转移路径,存放在测试用例集中;
[0017]根据基于状态结点变换的覆盖策略得到所有变量的存在性属性验证结果,其结果是一组带有重复路径的反例状态转移路径,存放在测试用例集中。
[0018]上述的根据基于结束结点的覆盖策略得到每一个结束结点其包含的所有变量的存在性属性验证结果,其结果是一组带有重复路径的反例状态转移路径,存放在测试用例集中,具体为:
[0019]根据基于结束结点的覆盖策略,首先遍历结点流中的每一个结点,若这个结点存在下一结点,则这个结点是中间状态结点,那么在遍历时指针后移,若这个结点不存在后续结点,则这个结点是结束结点,那么将表示系统最终状态的结束结点存入存放结束结点的集合,并将结束结点包含的所有变量以及取值用哈希表存储;
[0020]然后遍历每一个结束结点的每一个变量,将变量和取值一一配对,自动生成对应的验证时序逻辑表达式字符串,一并写入到系统的图模型文件nuXmvName.smv中,调用验证引擎,生成对应的存在性路径,通过后台读取生成信息,存入到测试用例集合中。
[0021]上述的根据基于状态结点变换的覆盖策略得到所有变量的存在性属性验证结果,其结果是一组带有重复路径的反例状态转移路径,存放在测试用例集中,具体为:
[0022]根据基于状态结点变换的覆盖策略,从状态结点分支出发,执行如下步骤:
[0023]1)遍历结点流中的每一个结点,若这个结点存在下一结点,则这个结点是中间状态结点,那么在遍历时指针后移,若这个结点不存在后续结点,则这个结点是结束结点,那么将表示系统最终状态的结束结点存入存放结束结点的集合,并将结束结点包含的所有变量以及取值用哈希表存储。
[0024]2)遍历每一个结束结点的每一个变量,将变量和取值一一配对,自动生成对应的
验证时序逻辑表达式字符串verificationNodeString;
[0025]3)遍历条件流中的每一个条件,获取条件的析取范式表达式,自动填充EF关键字,将条件流转换为条件存在性时序逻辑表达式,存入verificationConString集合中;
[0026]4)将结点总结的时序逻辑表达式和条件总结的时序逻辑表达式一并写入到系统的图模型文件nuXmvName.smv中,调用验证引擎,生成对应的存在性路径;
[0027]5)通过后台读取生成信息,存入到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向NuXMV的安全关键系统状态转换图测试用例生成方法,其特征在于,包括:S1,将变量关系模型表示的安全关键系统转换为NuXMV符号模型检查器可接受的状态转换图模型,根据状态转换图可解释化预处理算法,读取和解析所述图模型文件,对图模型进行预处理,从状态转换图模型中解析出结点流和条件流;S2,对解析出的结点流和条件流进行规约,制定不同的覆盖策略,并基于覆盖策略通过验证存在性属性的方式生成反例状态转移路径,存入测试用例集中;S3,对S2得到的测试用例集去冗余化,得到最小最优的测试用例集。2.根据权利要求1所述的一种面向NuXMV的安全关键系统状态转换图测试用例生成方法,其特征在于,所述S1中,将变量关系模型转换为NuXMV符号模型检查器可接受的状态转换图模型,所述状态转换图可解释化预处理算法,通过读取已经转换好的图模型文件,遍历文件中是字符流,将文件规范为结点和条件数据结构,提取出结点流以供给路径覆盖算法使用,提取出条件流,并遍历条件流,自动生成条件的真值表,通过真值表的方式预处理为条件的主析取范式表达式以供给变换覆盖算法使用。3.根据权利要求2所述的一种面向NuXMV的安全关键系统状态转换图测试用例生成方法,其特征在于,所述结点流是状态转换图中的状态结点,包含开始结点、中间状态结点和结束结点,每一个结点都对应一组变量以及变量在特定时序下的值,每个结点各不相同;所述条件流是状态转换图中状态转换的条件集,每一个条件可是单一的条件元,也可以是复杂的条件元,复杂的条件元需要在预处理过程中提取出析取范式。4.根据权利要求3所述的一种面向NuXMV的安全关键系统状态转换图测试用例生成方法,其特征在于,所述S2中,根据预处理后的图模型,制定基于结束结点的覆盖策略和基于状态结点变换的覆盖策略;根据基于结束结点的覆盖策略得到每一个结束结点其包含的所有变量的存在性属性验证结果,其结果是一组带有重复路径的反例状态转移路径,存放在测试用例集中;根据基于状态结点变换的覆盖策略得到所有变量的存在性属性验证结果,其结果是一组带有重复路径的反例状态转移路径,存放在测试用例集中。5.根据权利要求4所述的一种面向NuXMV的安全关键系统状态转换图测试用例生成方法,其特征在于,所述根据基于结束结点的覆盖策略得到每一个结束结点其包...

【专利技术属性】
技术研发人员:胡军祝凌锋
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1