嵌入式软件堆栈溢出的静态测试方法研究

嵌入式软件堆栈溢出的静态测试方法研究

论文摘要

随着计算机技术的飞速发展,嵌入式系统不仅在人们日常生活中应用越来越广泛,同时在一些高端领域如航空、军事相关的控制领域发挥着日益关键的作用,相关领域对嵌入式软件的安全性、稳定性要求也不断提高。C语言作为嵌入式软件中采用最广的编程语言,却存在着很多安全隐患,对C语言编写的嵌入式软件的安全性测试已经成为十分重要的一环。本文针对嵌入式软件白盒测试中的一个方面——静态分析,研究了目前国内外的方向及常用的几款自动化测试工具,结合C语言中的安全隐患,特别是堆栈溢出隐患,提出一套基于汇编代码的静态自动化测试方案,并设计实现了一款堆栈溢出静态测试软件。该软件功能专一,效率较高,且源代码可见,在堆栈溢出测试中可以替代人工劳动,能够提高静态测试效率,在高安全性高可靠性领域的嵌入式软件评测中具有一定的实践应用价值。

论文目录

  • 致谢
  • 摘要
  • ABSTRACT
  • 1 引言
  • 1.1 研究背景与意义
  • 1.1.1 嵌入式系统的定义与应用
  • 1.1.2 嵌入式软件的开发与测试环境
  • 1.1.3 嵌入式软件测试的意义
  • 1.2 研究目标
  • 1.3 拟解决的关键问题
  • 1.4 论文其余部分的组织结构
  • 2 嵌入式软件测试方法及工具
  • 2.1 嵌入式软件测试方法
  • 2.1.1 白盒测试原理
  • 2.1.2 黑盒测试原理
  • 2.1.3 白盒测试与黑盒测试的比较
  • 2.2 白盒测试的流程分析
  • 2.2.1 静态分析
  • 2.2.2 动态分析
  • 2.2.3 静态分析与动态分析的比较
  • 2.3 国内外嵌入式软件静态测试工具
  • 2.3.1 代码质量分析工具
  • 2.3.2 代码缺陷分析工具
  • 2.3.3 内存分析与错误检测工具
  • 2.3.4 堆栈溢出静态分析工具
  • 2.4 本章小结
  • 3 C语言代码中常见的问题与预防措施
  • 3.1 C语言代码中常见的问题
  • 3.1.1 内存泄露
  • 3.1.2 缓冲区溢出
  • 3.1.3 指针引用出错
  • 3.1.4 数组越界
  • 3.1.5 堆栈溢出
  • 3.2 对于C语言代码安全隐患的预防措施
  • 3.2.1 开发过程中遵循C语言编程规范
  • 3.2.2 严格控制函数调用层次与递归调用
  • 3.2.3 测试阶段对源代码进行详细分析
  • 3.3 本章小结
  • 4 堆栈溢出静态测试方案的设计
  • 4.1 堆栈溢出的研究
  • 4.1.1 堆栈在内存中的位置与功能简介
  • 4.1.2 堆栈生长过程分析
  • 4.1.3 堆栈溢出情景分析
  • 4.2 堆栈测试方案关键技术与设计目标
  • 4.2.1 堆栈溢出测试的关键技术
  • 4.2.2 堆栈溢出静态测试方案的设计目标
  • 4.3 函数堆栈使用情况分析
  • 4.3.1 源代码与汇编代码
  • 4.3.2 汇编代码的进一步分析
  • 4.3.3 函数堆栈统计算法
  • 4.4 函数调用关系分析
  • 4.4.1 函数调用关系算法
  • 4.4.2 函数调用关系算法的实现
  • 4.5 堆栈溢出静态测试方案
  • 4.6 本章小结
  • 5 堆栈溢出静态测试软件的开发与测试
  • 5.1 堆栈溢出静态测试软件的开发
  • 5.2 堆栈溢出静态测试软件的功能测试
  • 5.3 堆栈溢出静态测试软件的性能测试
  • 5.4 本章小结
  • 6 结论
  • 参考文献
  • 作者简历
  • 学位论文数据集
  • 相关论文文献

    • [1].国产平台的机载嵌入式软件仿真验证技术[J]. 单片机与嵌入式系统应用 2020(02)
    • [2].一种航空机载嵌入式软件安全性评价方法研究[J]. 计算机测量与控制 2020(03)
    • [3].嵌入式软件平台在电力自动化装置中的应用研究[J]. 计算机产品与流通 2020(05)
    • [4].嵌入式软件技术的现状与发展方向[J]. 南方农机 2020(10)
    • [5].一种嵌入式软件组件更新方法的研究与实现[J]. 无线互联科技 2020(10)
    • [6].嵌入式软件技术的现状探讨[J]. 电子元器件与信息技术 2020(06)
    • [7].产教融合背景下计算机嵌入式软件安全技术发展思考——评《嵌入式软件安全保证技术》[J]. 安全与环境学报 2020(05)
    • [8].汽车车身控制器嵌入式软件平台化实现探索[J]. 电子元器件与信息技术 2020(08)
    • [9].嵌入式软件中的错误追踪机制[J]. 电子技术与软件工程 2019(02)
    • [10].面向安全性分析的嵌入式软件测试方法研究[J]. 电子世界 2019(01)
    • [11].嵌入式软件保护技术的探讨[J]. 中外企业家 2019(11)
    • [12].嵌入式软件技术现状及发展前景[J]. 中国新通信 2017(20)
    • [13].浅析嵌入式软件技术的现状与发展动向[J]. 通讯世界 2018(01)
    • [14].嵌入式软件技术的现状与发展[J]. 电子技术与软件工程 2018(11)
    • [15].可重构嵌入式软件缺陷优化预测仿真研究[J]. 计算机仿真 2018(08)
    • [16].关于物联网消费者和商户应该知道的5件事——澳学者提请关注嵌入式软件[J]. 物联网技术 2017(07)
    • [17].嵌入式软件可信性的设计和验证方法[J]. 西部皮革 2017(06)
    • [18].嵌入式软件覆盖测试[J]. 数字技术与应用 2017(08)
    • [19].嵌入式软件技术的现状与发展动向[J]. 信息系统工程 2016(01)
    • [20].一种星载嵌入式软件安全性测试方法[J]. 测控技术 2016(04)
    • [21].应用型本科嵌入式软件课程理论教学体系研究与探索[J]. 计算机教育 2015(16)
    • [22].浅析嵌入式软件调试器的设计与实现[J]. 电子技术与软件工程 2015(13)
    • [23].嵌入式软件工程师:用代码编织智慧人生[J]. 招生考试通讯(高考版) 2018(10)
    • [24].嵌入式软件的应用与发展探究[J]. 科学家 2017(01)
    • [25].嵌入式软件收入核算问题研究[J]. 商 2013(23)
    • [26].嵌入式软件全数字仿真测试平台[J]. 军民两用技术与产品 2019(11)
    • [27].嵌入式软件在计算机软件开发过程中的运用分析[J]. 电脑知识与技术 2020(04)
    • [28].微型嵌入式软件静态缺陷预测系统优化设计[J]. 现代电子技术 2020(10)
    • [29].嵌入式软件目标平台硬件与行为可视化建模技术[J]. 计算机产品与流通 2020(05)
    • [30].嵌入式软件外部质量评价方法设计[J]. 测试技术学报 2019(01)

    标签:;  ;  ;  ;  ;  

    嵌入式软件堆栈溢出的静态测试方法研究
    下载Doc文档

    猜你喜欢