恶劣环境下嵌入式系统软件错误检测技术的研究
发布时间:2021-03-24 10:48
嵌入式系统因其系统精简、专用性强以及高实时性等优点,被广泛的应用于航空航天领域。然而,随着计算机性能大幅度的提升,芯片更容易受到空间辐射的影响。在恶劣辐射环境中,由高能粒子辐射造成的单粒子效应是机载计算机系统失效的主要原因。由单粒子翻转导致计算机系统发生的瞬时故障是单粒子效应最主要的表现形式。由于不同场景下对系统可靠性以及性能开销指标的要求不同,提供具有高可靠性并满足代价约束的错误检测解决方案成为设计高可靠机载计算机系统的一项挑战。因此,研究恶劣环境下嵌入式系统软件的错误检测技术具有重要的意义和应用价值。本文对面向瞬时故障的软件错误检测技术进行了深入的研究。主要研究工作如下:(1)针对基于冗余计算的数据流错误检测方法性能开销较高的问题,提出了基于支持向量回归的数据流错误检测方法。通过分析故障注入的实验结果,结合程序分析技术给出了影响程序指令脆弱性的指令特征的提取方法,基于支持向量回归建立了指令SDC脆弱性预测模型,根据指令SDC脆弱性预测值对目标程序进行不同粒度的指令冗余处理。实验结果表明,该方法能够在保证较高错误检测率的同时,具有较低的性能开销。(2)针对基于标签分析的控制流错误检测...
【文章来源】:南京航空航天大学江苏省 211工程院校
【文章页数】:81 页
【学位级别】:硕士
【部分图文】:
LLVMIR中间代码示例图
南京航空航天大学硕士学位论文3 核心功能模块的实现本节介绍面向瞬时故障的程序加固系统的核心功能模块的实现,给出基于支持向量回流错误检测方法和基于基本块重划分的控制流错误检测机制在 LLVM 开发平台下的实3.1 程序数据流加固模块在程序数据流加固模块中,主要实现了基于支持向量回归的数据流错误检测方法。其SDC 脆弱性描述特征的提取和指令的冗余处理部分是基于 LLVM 编译器框架采用 C++的,指令特征的数据处理部分和指令 SDC 脆弱性预测模型的训练部分是采用 Python 的。构建指令 SDC 脆弱性预测模型的关键是对指令 SDC 脆弱性描述特征的提取,通过迭程序中的函数、基本块、指令对指令的固有特征进行提取,通过生成目标指令的依赖结合数据依赖分析工具对指令的依赖特征进行提取。其核心代码的实现如图 5. 1 所示
图 5. 2 指令冗余处理核心代码为了对实现的具有插桩数据流错误检测代码功能的 LLVMPass 进行调用,需要执行 shell 脚本语言来调用 LLVM 的 opt 工具,构造的 shell 命令使用 Python 的 os 包中的 popen()函数,通过管道将数据传输给命令行执行。其具体代码的实现如图 5. 3 所示。在指令冗余阶段需要传递的参数为指令 SDC 脆弱性值预测文件和指令冗余粒度。图 5. 3 数据流错误检测 Pass 调用具体代码5.3.2 程序控制流加固模块在程序控制流加固模块中,主要实现了基于基本块重划分的控制流错误检测机制。基于
【参考文献】:
期刊论文
[1]基于错误传播分析的SDC脆弱指令识别方法[J]. 马骏驰,汪芸,蔡震波,张庆祥,王颖,胡诚. 计算机研究与发展. 2016(09)
[2]卫星扩频应答机抗单粒子翻转技术研究[J]. 陆荣,游月辉,吴涛,刘任宸. 航天电子对抗. 2016(04)
[3]一种基于不变量的软错误检测方法[J]. 马骏驰,汪芸. 软件学报. 2016(02)
[4]基于结构化标签的控制流错误检测算法[J]. 张鹏,朱利,杜小智,贺朝会,陈皓. 计算机工程. 2016(06)
[5]基于检测能力分析的控制流检测优化方法[J]. 卫彦伉,王大鸣,崔维嘉. 信息工程大学学报. 2015(01)
[6]一种基于虚拟基本块和格式化标签的控制流检测方法[J]. 李建立,谭庆平,谭兰芳,徐建军. 计算机学报. 2014(11)
[7]错误流模型:硬件故障的软件传播建模与分析[J]. 杨学军,高珑. 软件学报. 2007(04)
[8]航天器控制应用的星载计算机技术[J]. 杨孟飞,郭树玲,孙增圻. 航天控制. 2005(02)
硕士论文
[1]面向航天应用软件的源代码级软加固技术研究[D]. 孟宪凯.国防科学技术大学 2014
[2]基于编译中间代码的关键变量容错技术[D]. 李林虎.国防科学技术大学 2011
[3]空间辐射环境下软件实现的硬件故障检测技术研究[D]. 李建立.国防科学技术大学 2008
[4]一种星载计算机软件检错技术的研究与实现[D]. 黄振远.哈尔滨工业大学 2006
本文编号:3097588
【文章来源】:南京航空航天大学江苏省 211工程院校
【文章页数】:81 页
【学位级别】:硕士
【部分图文】:
LLVMIR中间代码示例图
南京航空航天大学硕士学位论文3 核心功能模块的实现本节介绍面向瞬时故障的程序加固系统的核心功能模块的实现,给出基于支持向量回流错误检测方法和基于基本块重划分的控制流错误检测机制在 LLVM 开发平台下的实3.1 程序数据流加固模块在程序数据流加固模块中,主要实现了基于支持向量回归的数据流错误检测方法。其SDC 脆弱性描述特征的提取和指令的冗余处理部分是基于 LLVM 编译器框架采用 C++的,指令特征的数据处理部分和指令 SDC 脆弱性预测模型的训练部分是采用 Python 的。构建指令 SDC 脆弱性预测模型的关键是对指令 SDC 脆弱性描述特征的提取,通过迭程序中的函数、基本块、指令对指令的固有特征进行提取,通过生成目标指令的依赖结合数据依赖分析工具对指令的依赖特征进行提取。其核心代码的实现如图 5. 1 所示
图 5. 2 指令冗余处理核心代码为了对实现的具有插桩数据流错误检测代码功能的 LLVMPass 进行调用,需要执行 shell 脚本语言来调用 LLVM 的 opt 工具,构造的 shell 命令使用 Python 的 os 包中的 popen()函数,通过管道将数据传输给命令行执行。其具体代码的实现如图 5. 3 所示。在指令冗余阶段需要传递的参数为指令 SDC 脆弱性值预测文件和指令冗余粒度。图 5. 3 数据流错误检测 Pass 调用具体代码5.3.2 程序控制流加固模块在程序控制流加固模块中,主要实现了基于基本块重划分的控制流错误检测机制。基于
【参考文献】:
期刊论文
[1]基于错误传播分析的SDC脆弱指令识别方法[J]. 马骏驰,汪芸,蔡震波,张庆祥,王颖,胡诚. 计算机研究与发展. 2016(09)
[2]卫星扩频应答机抗单粒子翻转技术研究[J]. 陆荣,游月辉,吴涛,刘任宸. 航天电子对抗. 2016(04)
[3]一种基于不变量的软错误检测方法[J]. 马骏驰,汪芸. 软件学报. 2016(02)
[4]基于结构化标签的控制流错误检测算法[J]. 张鹏,朱利,杜小智,贺朝会,陈皓. 计算机工程. 2016(06)
[5]基于检测能力分析的控制流检测优化方法[J]. 卫彦伉,王大鸣,崔维嘉. 信息工程大学学报. 2015(01)
[6]一种基于虚拟基本块和格式化标签的控制流检测方法[J]. 李建立,谭庆平,谭兰芳,徐建军. 计算机学报. 2014(11)
[7]错误流模型:硬件故障的软件传播建模与分析[J]. 杨学军,高珑. 软件学报. 2007(04)
[8]航天器控制应用的星载计算机技术[J]. 杨孟飞,郭树玲,孙增圻. 航天控制. 2005(02)
硕士论文
[1]面向航天应用软件的源代码级软加固技术研究[D]. 孟宪凯.国防科学技术大学 2014
[2]基于编译中间代码的关键变量容错技术[D]. 李林虎.国防科学技术大学 2011
[3]空间辐射环境下软件实现的硬件故障检测技术研究[D]. 李建立.国防科学技术大学 2008
[4]一种星载计算机软件检错技术的研究与实现[D]. 黄振远.哈尔滨工业大学 2006
本文编号:3097588
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3097588.html