使用 IBM 静态工具优化 Java 代码,第 1 部分: 工具入门
2010-01-11 00:00:00 来源:WEB开发网分析输出结果
BEAM-messages 中的这个工具的输出结果,一般如清单 16 所示:
清单 16. 输出结果BEAM_VERSION=3.4.0
BEAM_ROOT=D:\Work\class\beam
BEAM_DIRECTORY_WRITE_INNOCENTS=D:\Work\class\beam\beam_data\innocent1
BEAM_DIRECTORY_WRITE_ERRORS=D:\Work\class\beam\beam_data\errors1
-- ERROR2 /*operating on NULL*/ >>>ERROR2_foo_55479ec82b606
"Example.java", line 11: invalid operation involving NULL pointer
ONE POSSIBLE PATH LEADING TO THE ERROR:
"Example.java",line 8: the if-condition is true(used as evidence that error is possible)
"Example.java", line 11: using operation `[]' to dereference NULL pointer `p'
VALUES AT THE END OF THE PATH:
p = 0
输出结果中首先列出了这个工具的版本和输出结果根目录等相关配置信息,“--”之后是缺陷类型名,缺陷类型有 ERROR,MISTAKE 和 WARNING,严重程度依次递减。紧接着是代码出错的行数和解释,并附有详细的出错路径和在这个出错路径结束时变量最终的取值。
BEAM 报出假错误的概率很低,但是也会有偶尔出错的时候,如果发现这个工具报的缺陷是“无辜”的,则可以将缺陷类型名后的注释粘贴在源代码中其所报错的那一行后(如将清单 16 中 ERROR2 后的注释 /*operating on NULL*/ 粘贴在报错的第 11 行后),以后再运行时将不会再对此行代码的这个错误进行报错。
结束语
本文介绍了如何在 Windows 平台上运行静态分析工具 BEAM 来检查 Java 代码的缺陷,读者通过本文介绍的详细步骤,可以自行在 Windows 上运行 BEAM ,找出代码隐患,达到提高 Java 代码质量的目的。
更多精彩
赞助商链接