基于基本块的控制流检错方法优化研究
Data(s) |
12/01/2009
|
---|---|
Resumo |
系统的高可靠性是研究航空航天领域的一个重要指标. 由于太空环境的特殊性, 辐射和高能粒子会造成计算机系统的出现瞬时性错误, 这种错误被称作软错误, 它对航空航天器件造成了很大的影响, 严重降低系统的可靠性. 检测和防护这种软错误是航空航天系统中的重要研究方向之一. 软错误的检测和防护包括硬件防护与检错, 软硬件混合检错以及纯软件检错等. 随着商用器件的广泛使用, 与之相配合的各种软错误软件检错方法开始得到深入的研究, 在各种软件检错方法中, 控制流检测是抵御单粒子事件的有效手段之一.目前的主流方法是采用嵌入式签名技术, 但是该技术引入的检测指令过多, 导致程序效率低下. 本文从总结控制流检测技术的共同点出发, 分析该技术导致效率低下的原因:由于基本块定义的约束导致程序中基本块过多, 进而在代码注入过程中引入过多的判断及跳转指令, 导致程序效率低下. 本文针对这种情况, 提出了一种基于源代码分析的基本块规约的方法. 该方法通过修改基本块定义的约束, 使在新的基本块定义下每个基本块能够容纳更多的指令, 减少检测指令的注入, 提高效率;并且在新的基本块定义下, 原来的控制流检错方法仍可以不加修改的直接应用于新的基本块定义上. 该方法能在不修改benchmark源代码以及控制流检测方法的基础上, 选择合适的约束量重新划分基本块, 减少引入的检测指令. 本文中使用该方法以ECCA, CFCSS和RSCFC三个控制流检错方法作为验证对象, 使用这3种控制流检错方法, 在不同的约束量作用下, 对8个常见算法的benchmark进行了软错误覆盖率测试和效率测试. 多次实验数据表明, 该方法在提高检错算法效率的同时, 能够保持软错误检错的覆盖率基本不变. 在对控制流检错算法进行优化的同时, 本文还完成了相应的控制流分析工具, 基于模拟器的错误注入和代码片段执行时间检测工具等. 有效的对优化算法进行了评估和测试. |
Identificador | |
Idioma(s) |
中文 |
Fonte |
基于基本块的控制流检错方法优化研究.肖贺[d].中国科学院软件研究所,2009.20-25 |
Palavras-Chave | #软错误 #控制流检测 #基本块规约 #性能优化 |
Tipo |
学位论文 |