使用 IBM 静态工具优化 Java 代码,第 1 部分: 工具入门
2010-01-11 00:00:00 来源:WEB开发网再次,这个工具使用了符号执行(symbolic execution)技术指出导致错误发生的条件,并在输出结果中打印出整个出错路径供程序员分析。例如清单 4:
清单 4. 输出结果示例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 2: loop entry condition is true
"Example.java", line 5: the if-condition is true
"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
配置并运行
BEAM 目前多用于 Linux/AIX 平台上对 C 和 C++ 语言的检查分析,而在最常用的 Windows 平台上使用其对 Java 进行静态分析的人不多,因此经验不足,文档匮乏。本文接下来就介绍如何在 Windows 平台上运行这个工具对 Java 代码进行分析。
与大多数工具一样,BEAM 可以以多种方式运行 —— 命令行、使用 Ant 或作为 Eclipse 插件程序。本文将只介绍使用 Ant 运行。
安装 BEAM
更多精彩
赞助商链接