北京大学:《高级软件工程》课程教学资源(PPT课件讲稿)第九讲 静态代码的可信性分析概述

高级软件工程 静态代码的可信性分析概述145 第九讲 静态代码的可信性分析概述
高级软件工程 静态代码的可信性分析概述 1/45 第九讲 静态代码的可信性分析概述

高级软件工程 静态代码的可信性分析概述2/45 从静态代码分析动态特性: 机能完整? 易生何病? 什么性格? 道德水准?
高级软件工程 静态代码的可信性分析概述 2/45 机能完整? 易生何病? 什么性格? 道德水准? 从静态代码分析动态特性:

高级软件工程 静态代码的可信性分析概述3/45 主要考虑如何发现代码缺陷! 需要首先知道:可能存在什么样的代码缺陷! 缺陷与约束 什么是对的(约束: Constraint) 什么是不对的(缺陷: Defect)
高级软件工程 静态代码的可信性分析概述 3/45 主要考虑如何发现代码缺陷! 需要首先知道: 可能存在什么样的代码缺陷! 缺陷 与 约束: 什么是对的(约束:Constraint) 什么是不对的(缺陷:Defect)

高级软件工程 静态代码的可信性分析概述4/45 不论是人工还是自动 都需要: 利用已有的缺陷知识查找某个特定程序 关于代码 你有什么样的先验知识? 如何形式化描述这些知识? 如何使用这些知识查找缺陷?
高级软件工程 静态代码的可信性分析概述 4/45 关于代码 你有什么样的先验知识? 如何形式化描述这些知识? 如何使用这些知识查找缺陷? 不论 是 人工 还是 自动 都需要: 利用 已有的缺陷知识查找 某个特定程序

高级软件工程 静态代码的可信性分析概述5/45 内容 静态代码缺陷査找的角色 静态代码缺陷基本类别 静态代码缺陷查找的主要方法 四、静态代码缺陷査找的常见工具 五、理论基础:不动点
高级软件工程 静态代码的可信性分析概述 5/45 内 容 一、静态代码缺陷查找的角色 二、静态代码缺陷基本类别 三、静态代码缺陷查找的主要方法 四、静态代码缺陷查找的常见工具 五、理论基础:不动点

高级软件工程 静态代码的可信性分析概述6/45 静态代码缺陷查找的角色[Rciw! V&Ⅴ 模型检测静态分析卡动态测试在线监测了 Product (Artifact) Developing process Analyzing (Designing Coding Compiling)( Deploying Maintainin
高级软件工程 静态代码的可信性分析概述 6/45 Product (Artifact) Analyzing Designing Coding Compiling Deploying Developing Process Maintaining V&V 模型检测 静态分析 动态测试 在线监测 一、静态代码缺陷查找的角色 Review!

高级软件工程 静态代码的可信性分析概述7/45 动态测试 ●离线运行程序 ●应用最广泛的缺陷查找技术 对功能性最有效 工作量大:微软(半数的测试人员? 自动程度难以提高 ●基本分类 黑盒 白盒 许多缺陷靠运行很难暴露:死琐等
高级软件工程 静态代码的可信性分析概述 7/45 动态测试 ⚫ 离线运行程序 ⚫ 应用最广泛的缺陷查找技术 – 对功能性最有效 – 工作量大:微软(半数的测试人员?) – 自动程度难以提高 ⚫ 基本分类 – 黑盒 – 白盒 许多缺陷靠运行很难暴露:死琐等

高级软件工程 静态代码的可信性分析概述8/45 静态缺陷查找 不运行程序(广义测试包含这类活动) ●静态分析可以涉及更多的路径组合 测试一次只能有一个执行轨迹 可以分析多种属性 死琐?安全漏洞?性能属性? ●源码?目标码?
高级软件工程 静态代码的可信性分析概述 8/45 静态缺陷查找 ⚫ 不运行程序(广义测试包含这类活动) ⚫ 静态分析可以涉及更多的路径组合 – 测试一次只能有一个执行轨迹 ⚫ 可以分析多种属性 – 死琐?安全漏洞?性能属性? ⚫ 源码?目标码?

高级软件工程 静态代码的可信性分析概述9/45 在线检测 ●当系统正在为用户提供服务时,一般不能 进行测试:输入受限 但可以进行检测,获取各种状态、事件 ●进行分析,并可能据此调整目标系统 ●尽量减少对系统的应用 ●与静态分析结合?
高级软件工程 静态代码的可信性分析概述 9/45 在线检测 ⚫ 当系统正在为用户提供服务时,一般不能 进行测试:输入受限 ⚫ 但可以进行检测,获取各种状态、事件 ⚫ 进行分析,并可能据此调整目标系统 ⚫ 尽量减少对系统的应用 ⚫ 与静态分析结合?

高级软件工程 静态代码的可信性分析概述10/45 静态代码缺陷类别 ●与具体应用“无关” 词法或者语法 共性特性(死锁、空指针、内存泄露、数组越界) 公共库用法(顺序、参数、接口实现,容错,安全 与具体应用“相关” 类型约束(调用的顺序、参数值,接口实现)) 类型定义(操作格式,不含其它信息(信息隐藏 需求相关(正确)
高级软件工程 静态代码的可信性分析概述 10/45 二、静态代码缺陷类别 ⚫ 与具体应用“无关” – 词法或者语法 – 共性特性(死锁、空指针、内存泄露、数组越界) – 公共库用法(顺序、参数、接口实现,容错,安全) ⚫ 与具体应用“相关” – 类型定义(操作格式,不含其它信息(信息隐藏)) – 类型约束(调用的顺序、参数值,接口实现) – 需求相关(正确)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 澳门大学:统计机器翻译领域适应性研究 Domain Adaptation for Statistical Machine Translation Master Defense.pptx
- 山东大学:《数据结构》课程教学资源(PPT课件讲稿)第5章 堆栈(STACKS)Restricted version of a linear list.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第2章 数据类型与常用库函数.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)设计模式 Design Pattern(3).ppt
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第二章 80x86计算机组织.ppt
- SVM原理与应用(PPT讲稿).pptx
- MSC Software Corporation:Dynamic System Modeling, Simulation, and Analysis Using MSC.EASY5(Advanced Class).ppt
- 《程序设计语言原理》课程教学资源(PPT课件讲稿)形式语义学 Formal Semantics.ppt
- 中国科学技术大学:《算法设计与分析》课程教学资源(PPT课件讲稿)第一部分 概率算法(黄刘生).ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第二章 电子计算机中信息的表示及其运算.ppt
- 虚拟存储(PPT课件讲稿)Virtual Memory.ppt
- Network Alignment(PPT讲稿)Treating Networks as Wireless Interference Channel.pptx
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程教学资源(PPT课件讲稿)第四章 分布式进程和处理机管理.ppt
- 东南大学:《操作系统概念 Operating System Concepts》课程教学资源(PPT课件讲稿)08 Main Memory(主讲:张柏礼).ppt
- 《高级语言程序设计》课程教学资源(试卷习题)试题三(无答案).doc
- 《数字图像处理》课程教学资源(PPT课件)第五章 代数运算.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)类和对象 Class and Object.ppt
- Detecting Evasion Attack at High Speed without Reassembly.ppt
- 《数字图像处理》课程教学资源(PPT课件)第七章 图像分割.ppt
- 中国科学技术大学:《信息论与编码技术》课程教学资源(PPT课件讲稿)第2章 离散信源及其信息测度.pptx
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第10章 指针.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)分布对象 Distributed Objects(1).ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 1 Computer System Overview.ppt
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第一章 导引与基本数据结构.ppt
- 《结构化程序设计》课程教学资源(PPT课件讲稿)第4章 VB控制结构.ppt
- 香港城市大学:PERFORMANCE ANALYSIS OF CIRCUIT SWITCHED NETWORKS(PPT讲稿).pptx
- 上海交通大学:《计算机组成原理 Computer Organization》课程教学资源(PPT课件讲稿)Chapter 4A The Processor, Part A.pptx
- 清华大学出版社:《计算机网络安全与应用技术》课程教学资源(PPT课件讲稿)第5章 Windows NT/2000的安全与保护措施.ppt
- 《人工智能》课程教学资源(PPT课件讲稿)第13章 智能优化计算简介.ppt
- 《计算机网络技术及应用》课程教学资源(PPT课件讲稿)第十一章 网络安全.ppt
- 《数字图像处理》课程教学资源(PPT课件讲稿)第八章 形态学处理.ppt
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第四篇 数据处理与数据分析.ppsx
- 《ARM Cortex-M3权威指南》课程教学资源(PPT课件讲稿)Cortex M3 存储系统访问.pptx
- 《人工智能》课程教学资源(PPT课件讲稿)Ch10 Auto-encoders(Auto and variational encoders v.9r6).pptx
- 西安电子科技大学:《操作系统 Operating Systems》课程教学资源(PPT课件讲稿)Chapter 05 输入输出 Input/Output.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第5章 文件文档工具.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)敏捷软件开发 Agile Software Development.ppt
- 《信息安全工程》课程教学资源(PPT课件讲稿)第3章 密码学基础.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)RISC-V指令集及简单实现.pptx
- 电子科技大学:《计算机操作系统》课程教学资源(PPT课件讲稿)第三章 存储管理 Memory Management.ppt