星期五, 六月 18, 2004

Java查BUG工具

Java环境下的查错工具findBugs
这里有文章介绍:
http://www-900.ibm.com/developerWorks/cn/java/j-findbug1/index.shtml
http://www-900.ibm.com/developerWorks/cn/java/j-findbug1/index.shtml

下载:
http://findbugs.sourceforge.net/

与 MS 的 FxCop 非常类似,FindBugs 使用 apache 的 BCEL 从 bytecode 级对 java 的 .class 文件进行基于规则的潜在问题分析,并能提供相当程度的修改建议。相比之下 FxCops 得利于 .NET 内建的强大 reflection 支持,并提供了数量更多的检测规则。但 FindBugs 对潜在问题的统计、分类和整体分析,使之使用上更为简单。值得称道的是 FindBugs 支持作为 ant 的自动任务执行,这样使其能够在自动每日构造中直接使用

与之类似的产品还有 Borland 前段时间收购的 Together 。其中提供了针对多种常见语言(如 C++ 和 Java 等)的 Audits 和 Metrics 功能。前者就类似上述代码潜在问题自动分析;后者则能够对代码设计上的一些问题从统计角度进行分析,如模块耦合度的量化等等。
此外MS 前段时间也收购了一家做静态代码安全性分析的公司,用于其自身代码安全性的自动验证。现有工程师可以培训,正在开发的代码可以停下来几个月整顿,但毕竟几千万行的历史遗留代码就不是靠人力能够解决的问题了,

如果有朝一日,这种静态分析工具能够将规则描述统一起来,并且辅以动态的分析手段,则应该能够获得更好的效果。

没有评论: