使用静态分析技术找到“真正”的代码质量缺陷与安全漏洞.pdf

使用静态分析技术找到“真正”的代码质量缺陷与安全漏洞.pdf

使用静态分析技术找到“真正”的代码质量 缺陷与安全漏洞 韩葆 (Bob Han), Synopsys Software Integ rity HeartBleed Bug 软件研发测试经济学 绝大部分缺陷在修复成 本较低时被引入。 大部分缺陷在成本较高 时被发现和修复。 代码静态分析技术 代码静态分析 • 定义:在不执行计算机程序的条件下,对源代码进行分析,找出代码 缺陷 • 执行方式:一般配合静态程序分析工具进行 • 采用技术:数据流分析、机器学习、语义精简... • 可检测类型:死锁,空指针,资源泄露,缓冲区溢出,安全漏洞,竞 态条件... • 优点: • 能够检测所有的代码级别的可执行路径组合,快速,准确 • 直接面向源码,分析多种问题 • 在研发阶段开始找到并修复多种问题,节省大量时间/人力成本 • 注意:静态分析不是万能的,测试是持续的过程,非一劳永逸 现存问题 • 编译器警告: 保证类型安全 – 最初级的静态分析,检测规则简单 • 中间语言分析: 检测字节码 ( Byte Code )的缺陷,将其重新映射到真实代 码中 – 在转换与映射过程中易造成精度丢失 • 高误报率:目前静态分析产品

文档评论(0)

1亿VIP精品文档

相关文档