[发明专利]一种基于约束的系统故障注入方法在审
申请号: | 201810366804.1 | 申请日: | 2018-04-23 |
公开(公告)号: | CN108733528A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 钱巨;李昌建;林福生 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F11/26 | 分类号: | G06F11/26 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 施昊 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 故障数据 取反 系统故障 约束变量 规约 测试 输入组合 松弛变量 系统实施 充分性 求解 检错 替换 松弛 修复 替代 | ||
1.一种基于约束的系统故障注入方法,其特征在于,包括以下步骤:
(1)按照原子条件取反、合取范式子句取反策略将约束划分到原子条件、合取范式子句层次,在这些层次上求取规约约束的一组否定形式,作为故障数据生成的基础;
(2)首先将取反后约束中的约束变量使用正常输入组合替代,然后逐步对约束变量进行松弛替换,通过约束求解操作找到松弛变量数量最少、最接近真实情况的极小变异故障数据;
(3)利用极小变异故障数据作为测试输入,对待测系统实施故障注入并得到故障注入结果。
2.根据权利要求1所述基于约束的系统故障注入方法,其特征在于,在步骤(1)中,所述原子条件取反策略的步骤如下:
首先判断输入的规约约束是否是原子约束,若为原子约束,则直接返回约束的否定;否则,逐个对输入的规约约束的顶层逻辑操作符的各个算子进行取反,用取反后结果替换原有算子,并将结果加入到故障约束集中。
3.根据权利要求1所述基于约束的系统故障注入方法,其特征在于,在步骤(1)中,所述合取范式子句取反策略的步骤如下:
首先,将输入的规约约束按合取操作进行分解,分解成多个合取范式子句,构成范式子句集合;
然后,遍历上一步得到的范式子句集合,在约束的合取范式表达式中,使用范式子句的否定替换范式子句得到故障约束,并加入到故障约束集中。
4.根据权利要求1所述基于约束的系统故障注入方法,其特征在于,在步骤(2)中,首先将故障数据完全地设定为一个正常数据组合,然后撤销对正常数据中一个变量的取值指派,被撤销指派的变量将作为候选变异变量,对该变异变量进行约束求解检测,检测是否能够找到一个满足取反后约束的解,若能找到,则该变异变量的解和其它未变异部分的组合构成极小变异故障数据;若不能找到,则逐步对取反后约束中的其它变量进行松弛替换,直到获得一个解为止。
5.根据权利要求1所述基于约束的系统故障注入方法,其特征在于,在步骤(3)中,故障注入过程截获到特定的软件内部或外部接口,然后将步骤(2)得到的极小变异故障数据发送到相应的接口,实现故障注入;通过观察注入故障后待测系统是否出现异常,考查待测系统的容错能力。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810366804.1/1.html,转载请声明来源钻瓜专利网。