源代码静态检测

静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷。 当然,如果有多年的编写经验,就会知道这些承诺并不是一定能兑现。 尽管如此,好的静态分析工具仍然是工具箱中的无价之宝。

1.1、使用静态代码分析工具的好处

有了静态分析工具,就可以在不实际运行程序的情况下对软件进行分析。 不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用Visitor模式。 人总是喜欢整齐划一的东西,比如看多人舞蹈,如果所有的舞者各自跳各自的,那么就显得非常凌乱,让人目不暇接,这样的舞蹈没有人喜欢看。 相反跳的就像一个人在跳,让人看的很振奋,可以提高积极性。

1.2、使用静态代码分析工具存在的问题

代码质量工具的一个问题是它们容易为开发人员提供大量但并非真正问题的问题——伪问题(false positives)。 出现伪问题时,开发人员要学会忽略工具的输出或者放弃它。 微软的高级安全经理Michael Howard说,静态分析工具虽然有用,但是也不能代替人的智能。

1.3、常用静态代码分析工具