快速程序流分析方法的研究与应用

快速程序流分析方法的研究与应用

论文摘要

衡量系统实时性的最重要的参数是任务的最坏情况执行时间(Worst Case ExceutionTime,WCET)。WCET分析的目的在于得到任务执行时间的上界约束,这需要综合考虑系统的软硬件特征。由于WCET的动态测量方法不能保证估计结果是安全的,所以现在一般学者都致力于静态分析方法的研究。随着软件规模及其复杂性的不断增长,使得快速地获得WCET估计值更加困难。在WCET程序流分析中,本文依据C的语言特点,给出了从抽象语法树到程序控制流图的构造,由程序控制流图到静态单赋值形式的转变。依据静态单赋值形式的控制流图得出数据依赖和数据依赖关系,然后就可以构造程序依赖图。对程序依赖图的扩展得到系统依赖图,利用图的可达性算法来对程序进行切片。本文还给出了一种不是基于依赖图的简单程序切片算法,该算法适合对程序中所有条件语句计算切片。经过程序切片后,采用抽象解释来自动导出程序流中循环迭代界限、不可行路径等约束信息,避免了手工标注。依据上述给出的程序流分析方法,本文给出了程序流分析工具的设计架构。实验结果表明,利用静态单赋值、程序切片、抽象解释理论进行WCET分析中的程序流信息分析,能够快速且有效地给出程序流事实。本文在图论、编译优化技术、程序切片技术的基础上,探讨了WCET流分析工具的整体实现策略,是对WCET流分析方法研究的一种尝试。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 课题研究背景及意义
  • 1.2 国内外研究现状和存在的问题
  • 1.3 本文研究内容与结构
  • 2 实时软件WCET分析
  • 2.1 实时系统和嵌入式系统
  • 2.2 WCET分析的基本概念
  • 2.3 获取 WCET的方法
  • 2.3.1 动态度量
  • 2.3.2 静态分析
  • 2.3.3 混合分析
  • 2.4 程序流事实
  • 2.4.1 手工标注和自动分析
  • 2.4.2 程序流事实表示
  • 3 基于静态单赋值的程序流分析
  • 3.1 静态单赋值的基本概念
  • 3.2 静态单赋值形式转化过程
  • 3.2.1 构造控制流图
  • 3.2.2 构造必经节点树
  • 3.2.3 计算必经节点边界
  • 3.2.4 插入(?)函数和变量重命名
  • 3.3 静态单赋值形式还原
  • 3.4 指针分析
  • 4 基于程序切片的程序流分析
  • 4.1 程序切片定义
  • 4.2 程序切片分类
  • 4.2.1 前向切片和后向切片
  • 4.2.2 过程内切片和过程间切片
  • 4.2.3 静态切片和动态切片
  • 4.3 过程内切片
  • 4.3.1 数据依赖图
  • 4.3.2 控制依赖图
  • 4.3.3 程序依赖图
  • 4.3.4 图可达性算法
  • 4.3.5 例子分析
  • 4.4 过程间切片
  • 4.5 简单切片算法
  • 4.5.1 符号定义
  • 4.5.2 算法
  • 4.5.3 算法应用
  • 4.6 程序切片在WCET分析中的应用
  • 4.7 静态单赋值在流不敏感程序切片中的应用
  • 4.8 本章小结
  • 5 流分析工具原型及实验
  • 5.1 WCET-SPIA的功能要求及结构
  • 5.2 实验
  • 5.2.1 程序执行时间的度量
  • 5.2.2 程序切片实验
  • 5.2.3 程序流分析速度
  • 5.2.4 WCET估计精度
  • 结论
  • 参考文献
  • 攻读硕士学位期间发表学术论文情况
  • 致谢
  • 相关论文文献

    • [1].一种面向二进制的控制流图混合恢复方法[J]. 计算机应用研究 2018(07)
    • [2].上下文敏感的控制流完整性保护的改进方法[J]. 计算机科学 2017(11)
    • [3].一种基于上下文的精简控制流图方法的研究[J]. 价值工程 2014(29)
    • [4].程序控制流图自动生成的算法[J]. 计算机与数字工程 2010(02)
    • [5].基于混合分析的二进制程序控制流图构建方法[J]. 浙江大学学报(工学版) 2019(05)
    • [6].一种基于标签的程序控制流错误检测方法[J]. 计算机技术与发展 2018(05)
    • [7].基于基本块标识方法的控制流图生成器设计[J]. 计算机应用与软件 2010(05)
    • [8].一种基于扩展类控制流图的类测试技术[J]. 微电子学与计算机 2016(01)
    • [9].一种基于约束分析精简控制流图方法[J]. 计算机与现代化 2013(10)
    • [10].基于改进GN算法的程序控制流图划分方法[J]. 清华大学学报(自然科学版) 2019(01)
    • [11].基于Soot控制流图的函数调用路径分析[J]. 数据通信 2012(04)
    • [12].中断驱动的嵌入式系统数据竞争检测工具[J]. 计算机科学与探索 2015(08)
    • [13].基于控制流图的代码自动测试方法研究[J]. 无线互联科技 2013(09)
    • [14].一种基于控制流的污点分析方法[J]. 绵阳师范学院学报 2018(08)
    • [15].一种基于控制流图特征的Linux平台恶意代码检测方法[J]. 现代计算机(专业版) 2018(08)
    • [16].Java自动化基本路径测试技术研究[J]. 计算机测量与控制 2018(04)
    • [17].基于控制流图支配树的测试数据灰度编码生成[J]. 计算机应用研究 2017(03)
    • [18].基于动静结合的Android恶意代码行为相似性检测[J]. 计算机应用研究 2018(05)
    • [19].控制流图上支配关系计算方法的分析与实现[J]. 计算机科学 2009(03)
    • [20].C++反编译中控制流图优化方法研究[J]. 电子设计工程 2011(21)
    • [21].Android应用程序的隐式控制流图构建[J]. 电子技术 2016(08)
    • [22].一种编译优化测试用例自动生成方法的设计与实现[J]. 小型微型计算机系统 2009(01)
    • [23].基于C程序的控制流图生成器的设计和实现[J]. 电脑编程技巧与维护 2013(04)
    • [24].一种使用静态分析的汇编代码缺陷检测方法[J]. 哈尔滨工业大学学报 2013(02)
    • [25].Mod-dejavoo算法中有害边问题的研究[J]. 计算机工程 2011(10)
    • [26].一种层次化的安全补丁比较技术[J]. 小型微型计算机系统 2008(11)
    • [27].基于路径覆盖准则的AOP路径生成方法研究[J]. 计算机工程与设计 2012(11)
    • [28].基于路径分析的死循环检测[J]. 计算机学报 2009(09)
    • [29].基于表驱动的纯软件签名错误检测算法[J]. 计算机工程 2018(04)
    • [30].PHP程序污点型漏洞静态检测方法[J]. 计算机工程与应用 2018(01)

    标签:;  ;  ;  ;  

    快速程序流分析方法的研究与应用
    下载Doc文档

    猜你喜欢