基于编译中间代码的关键变量容错技术

基于编译中间代码的关键变量容错技术

论文摘要

随着世界范围内兴起空间探测的热潮,空间环境中的计算机的可靠性问题越来越重要。在空间环境中,硬件瞬时故障给星载计算机带来的可靠性问题非常突出,尤其是单粒子翻转故障构成了对星载计算机安全的主要威胁。传统上一般采用专用的抗辐照器件来建造空间星载计算机。但是,抗辐照器件价格昂贵,且计算性能不高,而COTS器件计算性能很高,价格和功耗都很低。通过在COTS器件上使用面向硬件的软件容错技术可以提供高可靠、高性能、低成本和低功耗的空间计算机的解决方案。面向硬件瞬时故障的软件容错技术一般是通过复制指令并比较结果的方法来检测发生在硬件中的瞬时故障,在编译的时候插入冗余计算的指令,可以简单高效的实现容错,所以容错编译成为面向硬件瞬时故障的软件容错中比较流行的一种实现方法。本文首先深入分析了当前编译容错的技术原理及其优缺点。提出了变量脆弱因子的概念以及一种静态分析的关键变量选取技术,分析了变量脆弱因子的大小对系统可靠性影响的高低。给出了固有脆弱因子和依赖脆弱因子的概念以及计算模型。并对计算模型分析,用实例检验了计算模型的正确性。的关键变量容错算法在编译中间代码实现的原理深入的分析,得出在中间代码的关键变量复算是有效的。提出了两种不同的数据流检错复算策略,一种具有错误恢复能力的复算策略。并比较了这几种变量复算策略的优缺点。基于编译中间代码的关键变量容错技术结合了源到源变量容错技术以及汇编代码级别变量容错技术的优点。它能够适用于多种高级语言以及硬件平台。最后,通过故障注入实验的方法对基于编译中间代码关键变量的容错技术进行了验证,实验结果表明:1)基于静态分析的关键变量选取技术能够有效地计算分析变量对系统可靠性能的影响。变量脆弱因子的计算灵活性强、可配置,能够有效利用编译器对程序分析的信息。2)基于编译中间代码关键变量容错技术达到了预期的目的,并且在性能开销和容错能力上有较好的表现。证明了在编译器中间代码上插入容错指令方法的正确性和有效性。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题背景
  • 1.2 课题主要研究内容及成果
  • 1.3 论文的组织结构
  • 第二章 相关技术背景
  • 2.1 空间辐射对硬件系统的影响
  • 2.2 容错技术概述
  • 2.3 硬件容错技术
  • 2.4 面向硬件故障的软件容错技术
  • 2.4.1 软件实现的控制流错误检测技术
  • 2.4.2 软件实现的数据流错误检测技术
  • 2.4.3 软件容错技术总结
  • 2.5 编译技术概述
  • 2.6 故障注入技术
  • 2.7 本章小结
  • 第三章 一种静态分析的关键变量选取技术
  • 3.1 变量脆弱因子VVF
  • 3.2 数据流分析
  • 3.2.1 活跃变量分析
  • 3.2.2 定义-引用链
  • 3.3 固有脆弱因子
  • 3.3.1 存储部件基本单元单粒子翻转分析
  • 3.3.2 固有脆弱因子计算模型
  • 3.3.3 固有脆弱因子模型分析与示例
  • 3.4 依赖脆弱因子
  • 3.4.1 数据依赖关系对程序输出的影响
  • 3.4.2 依赖脆弱因子计算模型
  • 3.4.3 依赖脆弱因子模型分析与示例
  • 3.5 本章小结
  • 第四章 基于编译中间代码的关键变量容错算法
  • 4.1 变量选择
  • 4.2 变量复制
  • 4.2.1 数据流检错的变量复制策略
  • 4.2.2 具有错误恢复的变量复制策略
  • 4.3 一致性检查
  • 4.4 算法实现
  • 4.5 本章小结
  • 第五章 容错算法验证
  • 5.1 具有容错能力的编译器总体设计
  • 5.2 故障注入实验结果及分析
  • 5.2.1 实验条件
  • 5.2.2 实验结果
  • 5.2.3 实验结论
  • 5.3 本章小结
  • 第六章 结束语
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    • [1].基于源码变更分析的程序中间代码生成技术[J]. 计算机与现代化 2016(06)
    • [2].语义分析和中间代码产生教学过程研究[J]. 计算机教育 2008(09)
    • [3].网络虚拟服务器安全性对策研究方案[J]. 计算机安全 2012(07)
    • [4].语法制导翻译的学习与实践[J]. 学术问题研究 2012(02)
    • [5].基于代码混淆的软件保护技术[J]. 福建电脑 2009(10)
    • [6].工业机器人解释器的研究与设计[J]. 机械设计与制造 2012(12)
    • [7].Gdel语言的一种并行推理模型[J]. 集美大学学报(自然科学版) 2008(02)
    • [8].工业机器人代码解释器的开发[J]. 机电工程技术 2018(04)
    • [9].一种简单高级语言编译器的设计[J]. 电脑开发与应用 2014(01)
    • [10].基于面向服务架构的遗留系统集成研究与实现[J]. 电子测试 2014(04)
    • [11].一种基于反汇编基础上的C反编译的新方法[J]. 科学技术与工程 2008(10)
    • [12].嵌入式组态软件脚本解释虚拟机的设计[J]. 计算机工程与设计 2012(02)
    • [13].SQL数据库安全研究及语句分析[J]. 信息与电脑(理论版) 2009(16)

    标签:;  ;  ;  ;  ;  ;  

    基于编译中间代码的关键变量容错技术
    下载Doc文档

    猜你喜欢