静态代码分析是在源代码上执行的一系列自动检查。
静态分析工具会扫描代码,查找常见的已知错误和漏洞,例如内存泄漏或缓冲区溢出。 这一分析还可以强制执行编码标准。
在优先考虑安全的情况下,专业的静态应用安全测试 (SAST) 工具可以检查已知的安全缺陷。 由于静态分析是在源代码上执行,而不执行程序,它既可以在 CI/CD 管道的最开始运行,也可以在提交更改之前直接从 IDE 运行。
与所有形式的自动化测试一样,静态代码分析可确保检查的一致性,并为最新更改提供快速反馈。 集成到 IDE 中的静态分析工具可提供即时的针对性反馈,让您可以及时解决问题。
然而,静态分析只能识别违反预编程规则的实例,不能仅通过阅读源代码找出所有缺陷。 也存在误报的风险,因此需要对结果进行解释。
从这个意义上说,静态代码分析是代码审查的有价值补充,因为它突出了已知的问题,并为对整体设计和方法的审查等更有趣的任务腾出了时间。
静态代码分析构成自动化检查系列的一部分,可保持代码质量,应与其他形式的动态分析(执行代码以检查已知问题)和自动化测试结合使用。