新書推薦:
《
宋代冠服图志(详尽展示宋代各类冠服 精美插图 考据严谨 细节丰富)
》
售價:HK$
87.4
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
77.3
《
加加美高浩的手部绘画技法 II
》
售價:HK$
89.4
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
87.4
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
188.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
132.2
《
《日本文学史序说》讲演录
》
售價:HK$
72.8
|
內容簡介: |
程序分析技术是编译器、软件开发以及软件质量保障的基础。《程序分析技术》共6章,主要内容包括程序分析基础、程序的中间表示、数据流分析、程序切片与程序插桩、软件缺陷检测、智能化程序分析技术等,涵盖了程序分析基础理论和技术,还贯穿若干案例,讲解工业界的程序分析实践。
|
目錄:
|
目录前言1 程序分析基础 11.1 程序分析概述 11.1.1 什么是程序分析? 11.1.2 为何需要程序分析技术? 11.1.3 程序分析技术的分类 21.2 静态程序分析 31.2.1 静态程序分析的程序属性 31.2.2 静态程序分析的一般流程和方法 51.3 动态程序分析 81.3.1 动态程序分析的程序属性 81.3.2 动态程序分析的一般流程和方法 91.4 静态和动态程序分析的特性对比 111.4.1 程序不变量的含义 121.4.2 程序不变量实例分析 121.4.3 基于动态程序分析的可能程序不变量检测 131.4.4 基于静态程序分析的程序不变量推导 141.4.5 完备分析、完全分析和可终止 171.4.6 静态和动态程序分析技术的比较 181.5 程序分析技术的应用 201.5.1 编译器优化 201.5.2 软件质量保障工具 211.5.3 集成开发环境 231.6 小结 242 程序的中间表示 262.1 token序列 262.2 语法树 272.3 控制流图 292.4 调用图 332.5 程序依赖图和系统依赖图 332.5.1 程序依赖图 332.5.2 系统依赖图 352.6 静态单赋值 362.7 指向图 372.8 静态程序分析策略 382.8.1 可能分析和必然分析 382.8.2 程序分析的范围 392.8.3 敏感程度 392.9 程序中间表示生成工具 432.9.1 编译器前端 432.9.2 控制流和数据流分析工具 462.9.3 静态二进制代码分析工具 472.10 程序的中间表示在克隆代码检测中的应用 472.10.1 克隆代码的含义和类型 482.10.2 克隆代码的产生原因和危害 482.10.3 克隆代码检测方法分类 492.10.4 典型的克隆代码检测方法 512.10.5 克隆代码检测技术的应用 572.11 小结 573 数据流分析 593.1 数据流分析中的抽象 593.2 数据流分析的单调框架 613.2.1 前向和反向、可能和必然分析 613.2.2 迭代法求解数据流 623.3 **的数据流分析 643.3.1 到达定值分析 643.3.2 活跃变量分析 713.3.3 可用表达式分析 753.3.4 非常繁忙表达式分析 793.4 过程间数据流分析 823.5 小结 834 程序切片与程序插桩 844.1 程序切片的基本概念 844.1.1 语句之间相互影响的分析 844.1.2 程序切片的定义 864.2 程序切片的分类 874.2.1 前向切片和反向切片 874.2.2 过程内切片和过程间切片 884.2.3 静态切片和动态切片 884.3 程序切片算法 904.3.1 基于数据流等式的程序切片算法 904.3.2 基于图可达性的过程内切片算法 904.3.3 基于图可达性的过程间切片算法 924.3.4 动态反向切片算法 964.4 程序插桩的基本概念 994.5 程序插桩方法 1014.5.1 基于抽象语法树的程序插桩方法 1014.5.2 基于二进制代码的程序插桩方法 1034.6 程序切片的应用 1064.7 小结 1095 软件缺陷检测 1105.1 软件缺陷的定义和分类 1105.1.1 软件缺陷的定义 1105.1.2 软件缺陷的分类 1115.2 软件缺陷检测技术 1155.2.1 静态缺陷检测技术 1165.2.2 基于模式的缺陷检测方法 1175.2.3 动态缺陷检测技术 1225.2.4 基于运行时监测的缺陷检测方法 1235.2.5 安全开发生命周期 1255.3 静态缺陷检测工具 1265.3.1 基于词法分析的缺陷检测工具 1275.3.2 基于语法分析的缺陷检测工具 1275.3.3 基于数据流分析的缺陷检测工具 1285.3.4 基于静态污点分析的缺陷检测工具 1285.3.5 基于模型检查的缺陷检测工具 1295.3.6 基于静态符号执行的缺陷检测工具 1305.3.7 基于抽象解释的缺陷检测工具 1305.3.8 基于定理证明的缺陷检测工具 1315.3.9 商业的基于静态程序分析的缺陷检测工具 1315.4 动态缺陷检测工具 1335.4.1 基于运行时监测的缺陷检测工具 1335.4.2 基于模糊测试的缺陷检测工具 1345.4.3 基于动态符号执行的缺陷检测工具 1355.4.4 基于动态污点分析的缺陷检测工具 1365.4.5 渗透测试工具 1375.4.6 商业的基于动态程序分析的缺陷检测工具 1375.5 小结 1386 智能化程序分析技术 1406.1 基于搜索的程序分析技术 1406.1.1 基于遗传编程的程序自动化修复 1416.1.2 基于搜索的软件测试 1446.1.3 基于搜索的程序分析技术的难点问题 1446.2 数据驱动的程序分析技术 1446.2.1 基于深度学习的程序自动化修复 1456.2.2 基于深度学习的克隆代码检测 1486.2.3 深度学习技术应用于程序分析领域的难点问题 1506.3 小结 151参考文献 152
|
|