静态程序分析是指在不执行计算机程序的条件下,进行程序分析的方法。有些程序分析需要在程序执行时才能进行,这种程序分析称为动态程序分析。大部分的静态程序分析的对象是针对特定版本的源代码,也有些静态程序分析的对象是目标代码。静态程序分析一词多半是指配合静态程序分析工具进行的分析,人工进行的分析一般称为程式理解或代码审查。
6
FindBugs是由Bill Pugh和David Hovemeyer创建的开源程序,用来查找Java代码中的程序错误。它使用静态代码分析来识别Java程序中上百种不同类型的潜在错误。潜在错误可分为四个等级:恐怖的、吓人的、令人困扰的和值得关注的,这是根据其可能产生的影响或严重程度,而对开发者的提示。FindBugs操作的是Java字节码,而非源代码。软件作为一个独立的图形用户界面应用程序分发。
Eclipse、NetBeans、IntelliJ IDEA、Gradle、Hudson和Jenkins有可用的FindBugs插件。
JSHint是一个静态代码分析工具,用于检查JavaScript源代码是否符合编码规则。JSHint由Anton Kovalyov于2011年作为JSLint项目的一个分支而创建。 Anton和部分程序员认为JSLint过于“自以为是”,自定义选项过少。 JSHint的维护者 同时维护了一个网页引用版本和一个命令行界面版本。