vlambda博客
学习文章列表

PPT下载 | 基于编译器的静态代码分析与软件开发效率、质量和性能

近日, 鉴释首席科学家李隆博士在InfoQ主办的DIVE全球基础软件创新大会编译器专场上,为大家带来了编译技术新应用的分享。


众所周知,编译技术因其在提升代码扫描的准确率,以及降低资源消耗方面有着显著的优势。此技术已被广泛应用于静态代码分析领域。

PPT下载 | 基于编译器的静态代码分析与软件开发效率、质量和性能

本次编译器专场的分享中,鉴释首席科学家——李隆博士分别从以下几个方面进行了详细的介绍:

  • 静态分析⼯具在当前软件开发流程中的应⽤  

  • 编译相关技术在静态分析⼯具中的应⽤

  • 编译相关技术在提升软件质量和性能上的更多应⽤ 

  • 静态代码分析的未来展望 


👉点击“阅读原文”即可导航至DIVE官网观看回放。


首先,李隆博士用一组数据来解释为什么使用静态代码分析。IBM在其有关系统科学研究院的相对缺陷修复成本的报告中曾指出*:修复在实施过程中发现的错误比修复在设计中发现的错误的成本高出6倍。测试增加15倍,部署后增加100倍以上。

(*IBM System Science Institute relative Cost of Fixing Defects)

PPT下载 | 基于编译器的静态代码分析与软件开发效率、质量和性能


下图所示,可以看到大部分的软件缺陷(浅灰色曲线)都是在成本相对较低(红色曲线)的时候产生。如果在开发早期使用静态分析工具,不仅能提高软件质量,还能极大节约成本,这就是为什么目前“左移测试”越来越被各大厂商重视的原因。

PPT下载 | 基于编译器的静态代码分析与软件开发效率、质量和性能

应用软件测量,Capers Jones


在整个生命周期测试阶段,在CI/CD中进行常见、罕见漏洞的检测、软件合规检测等。

PPT下载 | 基于编译器的静态代码分析与软件开发效率、质量和性能


演讲中,李隆博士还像大家解释了编译优化对静态分工具的影响。他附上一个简单的例子,指出 “错误发生在会被编译优化删除掉的死代码内”。还提到函数内联影响跨函数分析准确性,导致消耗的内存会直线上升。


除此之外,李隆博士还对静态分析工具现状总结了他的几点看法:

目前看来,在开发过程中更加强调增量扫描,对于软件开发公司来说是更好的选择。


最后,在演讲尾声,李隆博士还对静态分析工具做了展望,提到了近年来火热的AI技术,分享了他对于静态分析工具使用AI相关技术来分析漏洞的见解。以及未来如何在编译技术中将后端优化的各种深层次技术引入到静态分析工具中。通过利用现有成熟的编译技术来完善静态分析工具,将会是一个非常可行的方向。




你可能还感兴趣: