摘 要: | 空间辐射环境中,大量的宇宙射线经常导致星载计算机出现瞬时故障,这些故障的主要影响之一是引发程序控制流错误.文中提出了一种软件实现的控制流检测方法CFCAF.CFCAF基于插入虚拟基本块后的控制流图对基本块分类,并为基本块设计格式化标签,然后在基本块内插装标签更新、比较指令,实现对基本块之间、基本块内和过程间调用的控制流检测.CFCAF的特点是可以根据可靠性和性能的需求进行灵活配置.对CFCAF及目前有代表性的两个同类算法进行的故障注入实验结果表明,CFCAF算法以平均41.7%的性能代价和平均34%的空间代价,使程序的平均失效率降到了5.2%,在3个同类算法中,CFCAF算法具有较低的时空开销和最高的可靠性.
|