词条 | beam |
释义 | beam发音时态发音 [英] [bi:m] [美] [bim] 过去式:beamed 过去分词:beamed 现在分词:beaming 名词复数:beams 基本释义【n.】 1. 梁, 横梁 2. 束, 柱 3. 1 光线;(电波的)波束;(粒子的)束 3.2 平衡木 3.3 笑容;眉开眼笑 【vi.】 1. 发出光与热 2. 面露喜色 【vt.】 1. 播送 【vt. & vi.】 1 笑容满面;眉开眼笑 2 发射电波;播送 3 放出束状的光(或热) Altair HyperWorks 10.0Altair HyperWorks 10.0某些零件中链接点的意思 beam 与 linuxBEAM这只是工具全称“Checking Tool for Bugs Errors and Mistakes”的文字缩写,而不是工具的名称。 IBM Checking Tool for Bugs Errors and Mistakes 是由 IBM 开发的静态代码分析工具,它可用于分析并查找 C、C++ 和 Java 代码中的一些不容易发现的潜在错误,从而提高代码质量。由于这个工具目前多用于 Linux/AIX 平台上对 C 和 C++ 语言的检查分析,而使用其在最常用的 Windows 平台上对 Java 进行静态分析的人不多,因此经验不足,文档匮乏。本文的主要目的是介绍如何在 Windows 上成功运行 BEAM,检查 Java 代码中的潜在错误,从而提高代码的安全性和稳定性。 什么是 BEAM? IBM Checking Tool for Bugs Errors and Mistakes(本文后面将采用其文字缩写 BEAM)是 IBM 开发的一个静态分析工具,可以用于分析并查找出 C, C++ 和 Java 代码中的一些不容易发现的潜在错误,从而达到提高代码质量的目的。同动态分析工具和其它静态分析工具相比,它拥有一些可贵的特性。 同动态分析工具的比较 首先,BEAM 可以直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,所以相对容易。比如,运行它不需要为代码编写任何测试用例,而动态分析仅在单元测试时就需要大量测试用例,而且这些测试用例只能测试单个代码片段,重用性很低,基本上每个类都需要不同的测试用例,因此只有编写足够多的单元测试用例才能测试大型的软件产品,耗时且代价高昂。 其次,这个工具可以查找出单元测试和专业代码审查所可能错过的代码缺陷和安全弱点,比如内存泄漏,非法的数据库访问和非法内存访问等等,据统计,BEAM 可以在平均每 1000 行已经经过测试的代码中找出一个错误。 再次,在开发早期就可以运行其对代码进行检查,从而在产品开发早期发现缺陷,有助于降低开发成本。同时,它还有助于开发人员在产品开发早期发现自己编码风格的缺点,及早做出改进,防止工程后期重复发生相同类型的错误。 同其它静态分析工具的比较同其它静态分析工具一样,BEAM 也是对代码进行语法扫描,通过算法对代码进行检查分析,并和一些 bug 模式进行比较,最终标明问题区域,输出分析结果。但是相对于其他静态分析工具,它有一些独到的优点。 首先,它模仿 javac 的使用,语法和 javac 相似,支持许多 javac 的常用命令参数,而且具有相同的语义,比如 -classpath,-source,-d 等等;不仅如此,它还模仿 javac 接受相同的源文件,只不过不是编译,而是分析检查这些源文件。这样习惯于 javac 的开发人员就可以很轻松的学会使用。 其次,许多静态分析工具报错的准确性较低,很多被这些工具标记为错误的代码事实上是正确的,这样会增加程序员工作量,并有可能掩盖真正的错误。而 BEAM 使用了额外的定理证明(theorem proving)技术来判断一个潜在的错误是否是真正的错误,从而减轻了程序员判断错误真伪所需的工作量。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。