学位论文 > 优秀研究生学位论文题录展示
航天C程序安全规则检查技术研究
作 者: 李锋
导 师: 齐治昌
学 校: 国防科学技术大学
专 业: 计算机技术
关键词: 编程规则 静态分析 编译器 航天器软件C语言编程规范
分类号: TP311.52
类 型: 硕士论文
年 份: 2010年
下 载: 39次
引 用: 0次
阅 读: 论文下载
内容摘要
航天嵌入式软件要求具有很高的可信性,这类软件中有大量用C语言编写的程序,C语言虽然灵活,但也存在很多容易导致安全问题的使用方式,进而影响到航天嵌入式软件的可信性。因此,国内航天界制定了《航天器软件C语言编程规范》,它是基于C89国际标准、MISRA-C 2004和《GJB C语言编程规则》制定的航天C语言安全规则集,已经成为国内航天领域的C语言编程标准。虽然已经有一些工具可以支持《航天器软件C语言编程规范》的检查,但还不够充分,还存在漏洞,部分规则没有检查出来。因此,研究航天C程序的安全规则检查技术具有重要的现实意义。本文完成的工作主要有:首先,对国内外C程序安全规则集及检查工具进行了分析比较;分析了GCC编译器的编译流程及其前端词法分析、语法语义分析的主要数据结构和工作过程。其次,在上述工作的基础上,采用对GCC编译器前端进行扩展的思路,提出了对《航天器软件C语言编程规范》中的部分编程规则进行检查的方法,通过对GCC的C语言前端的预处理程序、词法分析程序、语法语义分析程序进行修改和扩充,实现了C语言编程规范检查工具SC-RuleChecker。最后,对SC-RuleChecker进行了系统测试和实际应用,结果表明,SC-RuleChecker实现了规则检查的功能,与现有的商业工具相比,本工具可以发现其它工具不能检测出来的部分规则违反情况,有助于降低航天软件中的潜在风险、提高软件可信性。
|
全文目录
表目录 7-9 图目录 9-10 摘要 10-11 ABSTRACT 11-12 第一章 绪论 12-21 1.1 论文研究背景 12 1.2 研究现状 12-20 1.2.1 程序分析方法 12-16 1.2.2 C 语言安全编程规则集 16-17 1.2.3 安全编程规则的检测工具 17-20 1.3 论文的主要工作及创新 20 1.4 论文结构 20-21 第二章 航天C 程序安全规则集 21-32 2.1 背景介绍 21-22 2.2 MISRA-C 安全规则集和Testbed 编程规则 22-25 2.2.1 MISRA-C 安全规则集 22-23 2.2.2 Testbed 编程规则 23-25 2.3 《航天器软件C 语言编程规范》的分类及内容 25-27 2.4 安全规则集对比分析 27-28 2.5 《航天器软件C 语言编程规范》的支撑工具分析 28-31 2.5.1 静态分析工具QAC 分析 28 2.5.2 静态分析工具LDRA Testbed 分析 28-30 2.5.3 分析结论 30-31 2.6 小结 31-32 第三章 编译器的前端实现原理分析 32-52 3.1 编译器基本结构 32 3.2 词法分析 32-37 3.2.1 词法分析功能 32-33 3.2.2 单词的类型和类别码 33-34 3.2.3 词法分析器生成工具Lex 34-37 3.3 语法分析 37-41 3.3.1 文法 37-38 3.3.2 LR 分析 38-39 3.3.3 构造LALR 语法分析表 39-40 3.3.4 语法分析器的自动生成工具Yacc 40-41 3.4 语义分析 41-42 3.5 GCC 编译器工作过程分析 42-51 3.5.1 GCC 编译器系统结构 42 3.5.2 GCC 的前端组成 42-43 3.5.3 GCC 的整体控制流程 43-45 3.5.4 GCC 中的数据结构分析 45-51 3.6 小结 51-52 第四章 SC-RuleChecker 的设计与实现 52-66 4.1 SC-RuleChecker 的检查算法设计与实现 52-63 4.1.1 SC-RuleChecker 的实现流程 52-53 4.1.2 SC-RuleChecker 的规则配置文件 53-54 4.1.3 SC-RuleChecker 的实现方法 54-62 4.1.4 SC-RuleChecker 实现方法总结 62-63 4.2 SC-RuleChecker 界面设计 63-65 4.2.1 SC-RuleChecker 的功能模块 63-64 4.2.2 SC-RuleChecker 运行界面 64-65 4.3 小结 65-66 第五章 SC-RuleChecker 的系统测试及实际应用 66-76 5.1 SC-RuleChecker 的系统测试 66-72 5.1.1 测试用例1 66-68 5.1.2 测试用例2 68-69 5.1.3 测试用例3 69-70 5.1.4 测试用例4 70-71 5.1.5 测试结论 71-72 5.2 SC-RuleChecker 的实际应用 72-75 5.2.1 用SC-RuleChecker 检测航天嵌入式软件 72-74 5.2.2 用SC-RuleChecker 检测μc/os 系统 74-75 5.3 小结 75-76 第六章 结束语 76-78 6.1 工作总结 76 6.2 下一步工作 76-78 致谢 78-79 参考文献 79-82 作者在学期间取得的学术成果 82-83 附录A 攻读硕士期间参加的科研项目 83-84 附录B 工程文档 84
|
相似论文
- 日本小学音乐科教材分析研究,G623.71
- 基于VHDL的可编程逻辑器件虚拟实验平台的设计与实现,TP311.52
- 群组密钥协商协议编译器研究,TN918.2
- 基于多粒度依赖关系图的变更影响分析方法研究,TP311.53
- 永磁接触器设计及静动态特性分析,TM572.1
- 基于多样化对象所有权的软件可信性质研究,TP311.52
- 面向高性能DSP Matrix向量化编译器的设计与实现,TP314
- 方滑枕变形处理及补偿的研究,TG548
- PC200路缘石滑模机关键技术研究,U415.5
- 齿轮箱壳体的静力和振动阻尼研究,TH113
- 天线转台轴承齿轮系统有限元建模与分析,TH132.41
- 基于NIOSⅡ的PLC系统,TP273
- 机器人图形化编程系统的设计与实现,TP242
- 新型铝锭码垛机械手动静态性能分析与优化,TP241
- 嵌入式MSDCC异构多核编译器研究,TP314
- 基于GCC的ARCA3的编译器移植,TP368.1
- 基于A-S模型的企业所得税逃税影响因素及治理对策研究,F812.42
- G代码集成开发调试平台的设计与实现,TG659
- 双机架可逆冷轧机的静态特性和动态特性分析,TG333
- 面向空间目标轨道预测的定制处理器及其编译器的关键技术研究,V556
- 五自由度串联机器人开放式控制系统的研究,TP242
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com
|