快速业务通道

使用 IBM 静态工具优化 Java 代码,第 1 部分: 工具入门 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
对路径。

beam:build.xml 中定义的任务名。

在命令行上输入命令后,就会得到类似清单 15 所示的运行结果。

清单 15. 运行结果

Buildfile: build.xml prepare: beam:    [beam] BEAM: Analyzing  `D:\Work\java\com\ibm\config\CliVersionHandler.java''    [beam] BEAM: Analyzing  `D:\Work\java\com\ibm\config\CliHandler.java''    [beam] BEAM: Analyzing  `D:\Work\java\com\ibm\config\EssMetaClassHandler.java''    [beam] BEAM: Analyzing  `D:\Work\java\com\ibm\config\CliResourceID.java''    [beam] BEAM: Analyzing  `D:\Work\java\com\ibm\config\CliIOPortHandler.java''    [beam] BEAM: Analyzing  `D:\Work\java\com\ibm\config\CliRankHandler.java'' BUILD SUCCESSFUL Total time: 1 minutes 11 seconds 

使用 IBM 静态工具优化 Java 代码,第 1 部分: 工具入门(8)

时间:2011-05-07 IBM 丁钦浩

成功运行完后,即可以在其输出结果路径 beam.classes 中发现生成了 build.xml 中定 义的 BEAM-messages,它记录着这个工具报出的所有代码缺陷(ERROR,MISTAKE 和 WARNING),通过分析并相应修改这些错误,从而达到提高代码质量的目的。

分析输出结果

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 代码质量的目的。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号