学位论文 > 优秀研究生学位论文题录展示

航天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

相似论文

  1. 日本小学音乐科教材分析研究,G623.71
  2. 基于VHDL的可编程逻辑器件虚拟实验平台的设计与实现,TP311.52
  3. 群组密钥协商协议编译器研究,TN918.2
  4. 基于多粒度依赖关系图的变更影响分析方法研究,TP311.53
  5. 永磁接触器设计及静动态特性分析,TM572.1
  6. 基于多样化对象所有权的软件可信性质研究,TP311.52
  7. 面向高性能DSP Matrix向量化编译器的设计与实现,TP314
  8. 方滑枕变形处理及补偿的研究,TG548
  9. PC200路缘石滑模机关键技术研究,U415.5
  10. 齿轮箱壳体的静力和振动阻尼研究,TH113
  11. 天线转台轴承齿轮系统有限元建模与分析,TH132.41
  12. 基于NIOSⅡ的PLC系统,TP273
  13. 机器人图形化编程系统的设计与实现,TP242
  14. 新型铝锭码垛机械手动静态性能分析与优化,TP241
  15. 嵌入式MSDCC异构多核编译器研究,TP314
  16. 基于GCC的ARCA3的编译器移植,TP368.1
  17. 基于A-S模型的企业所得税逃税影响因素及治理对策研究,F812.42
  18. G代码集成开发调试平台的设计与实现,TG659
  19. 双机架可逆冷轧机的静态特性和动态特性分析,TG333
  20. 面向空间目标轨道预测的定制处理器及其编译器的关键技术研究,V556
  21. 五自由度串联机器人开放式控制系统的研究,TP242

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com