在开发具有安全性、可靠性和合规性的软件时,全面静态代码分析是一种有效的方法。在这里,我们将就静态分析而言,讨论全面静态代码分析的不同之处,阐述全面静态代码分析的重要性,以及如何进行全面静态代码分析。
什么是全面静态代码分析
全面静态代码分析,或只是全面分析,是指分析结果的完整性或“健全性”。静态代码分析工具据称能够提供可靠的分析结果,这意味着如果某个软件中存在特定的缺陷或漏洞,该分析工具将报告上述问题。
如果不确实是否存在问题,则提供某种形式的警告,这样就不会“漏掉”任何问题。
(注:这些问题在Helix QAC工具中被归类为可能存在的问题,如无必要,则可以不进行全面分析。)
全面静态代码分析不同于其他形式的静态分析,其他形式的静态分析结果可能基于在一定时间或资源范围内可能发生的情况。
鉴于程序的运行时行为建模需要某些近似值(例如,缺乏对程序输入或操作系统状态的了解),全面静态代码分析需要采用Over-approximations(