摘要
程序控制错误可能会导致严重的程序执行错误。在安全苛求系统中,由于在恶劣环境中,处理器易受到电磁干扰等影响,可能导致处理器运算错误,存在安全隐患。目前对程序控制错误检测的研究主要基于基本块-签名和编码两种方法,基于基本块-签名的方法对程序性能影响较小,能检测程序控制错误,但检测分支跳转错误的漏检率较高;基于编码的算法能检测程序控制错误,但性能下降较大。为达到性能和漏检率的折中,本文基于基本块-签名和数据差异化编码思想,提出了分支签名的方法,从而保证分支跳转的正确性。本文采用故障注入及性能测试实验验证算法的漏检率和性能,结果表明:本算法漏检率可达,程序性能平均下降了10.2倍,相较于ANBD编码分支检测算法性能提高9.3倍。
The control-flow error may cause serious program execution errors. In safety-critical systems, the processor is susceptible to electromagnetic interference when it’s in harsh environment, which may cause the processor to operate improperly. Currently, the research is mainly focus on two ways: basic block-signature and encoding. The way based on basic block-signature which can detect control-flow error needs low performance overhead, but it has higher soft-error rate when applies to detect the error of branch jump. The way based on encoding has a good effect on detecting control-flow error, but it sacrifices more performance of software than basic block-signature. In order to compromise on performance and soft-error rate, this paper proposes branch signature which combines basic block-signature with data diversity to ensure branch to jump correctly. In this paper, we verify soft-error rate and performance by using fault injection and performance experiment. The result shows that the soft-error rate of this algorithm is with performance slowdown of 10.2 times, but it’s better than ANBD
with 9.3 times.
出处
《信息技术与信息化》
2016年第11期68-75,共8页
Information Technology and Informatization
基金
"十二五"国家科技支撑计划项目(2015BAG13B01)
关键词
分支签名
数据差异化
错误检测
基本块
控制流
branch signature
data diversity
error detection
basic block
control flow