快速业务通道

Java理论与实践:平衡测试,第1部分:不要仅编写测试,还要编写bug检测器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
mGC"       speed="fast"       reports="SYSTEM_GC" />   <BugPattern abbrev="GC" type="SYSTEM_GC" category="PERFORMANCE"  /> </FindbugsPlugin> <

Java理论与实践:平衡测试,第1部分:不要仅编写测试,还要编写bug检测器(4)

时间:2010-12-22 IBM Brian Goetz

清单 6. 示例 bug 检测器的资源文件

<MessageCollection  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"           xsi:noNamespaceSchemaLocation="messagecollection.xsd">   <Plugin>    <ShortDescription>Brian''s plugin</ShortDescription>    <Details></Details>   </Plugin>   <Detector  class="com.briangoetz.findbugs.plugin.CallSystemGC">    <Details> <![CDATA[  Finds calls to System.gc(). ]]>    </Details>   </Detector>   <BugPattern type="SYSTEM_GC">    <ShortDescription>Method calls System.gc() </ShortDescription>    <LongDescription>Call to System.gc() method in {1} </LongDescription>    <Details> <![CDATA[ Library code should not call System.gc() ]]>    </Details>   </BugPattern>   <BugCode abbrev="GC" >Garbage collection</BugCode> </MessageCollection>

根据 JDK 1.4.2 类库构建和包装插件,并运行它,这会为我们带来意想不到 的效果:com.sun.imageio 中的几个类(包括 JPEGImageReader 和 JPEGImageWriter)将调用 System.gc()!此结果还有另一个好处,即静态分析 的灵活性:创建 bug 检测器后,它可以在任何地方查找 bug。

结束语

静态分析和自定义 bug 检测器是提高软件质量的非常有效的方法。通过为已 知 bug 模式创建检测器,我们不仅可以在特定项目的当前代码基址中搜索 bug 模式,还可以在当前或以后的任何项目中搜索 bug 模式。创建 bug 检测器所付 出的额外努力将来会为您带来质量方面的丰厚回报。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号