FindBugs 可以检测c++工程吗
发布网友
发布时间:2022-04-08 19:22
我来回答
共2个回答
热心网友
时间:2022-04-08 20:51
FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式(请参阅 参考资料)。图 1 显示了分析一个匿名项目的结果(为防止可怕的犯罪,这里不给出它的名字):
在FindBugs的GUI中,需要先选择待扫描的.class文件(FindBugs其实就是对编译后的class进行扫描,藉以发现一些隐藏的bug。)。如果你拥有这些.class档对应的源文件,可把这些.java文件再选上,这样便可以从稍后得出的报告中快捷的定位到出问题的代码上面。此外,还可以选上工程所使用的library,这样似乎可以帮助FindBugs做一些高阶的检查,藉以发现一些更深层的bug。
选定了以上各项后,便可以开始检测了。检测的过程可能会花好几分钟,具体视工程的规模而定。检测完毕可生成一份详细的报告,藉由这份报告,可以发现许多代码中间潜在的bug。比较典型的,如引用了空指针(null pointer dereference), 特定的资源(db connection)未关闭,等等。如果用人工检查的方式,这些bug可能很难才会被发现,或许永远也无法发现,直到运行时发作…当除掉了这些典型的(classic) bug后,可以确信的是,我们的系统稳定度将会上一个新的台阶。
重要的是要认识到这种成本/效益分析只有在不生成大量误检时才有效。换句话说,如果在每次编译时,不能简单地确定是否引入了新的缺陷,那么这个工具的价值就会被抵消。分析越自动化越好。如果修复缺陷意味着必须吃力地分析检测出的大量不相干的缺陷,那么您就不会经常使用它,或者至少不会很好地使用它。
确定不关心哪些问题并从编译中排除它们。也可以挑出 确实关注的一小部分检测器并只运行它们。另一种选择是从个别的类中排除一组检测器,但是其他的类不排除。FindBugs 提供了使用过滤器的极大灵活性,这可帮助生成对团队有意义的结果,由此我们进入下一节。
热心网友
时间:2022-04-08 22:09
FindBugs不可以检查C++工程
findbugs和pclint有什么区别
findbug与pclint都是针对软件漏洞进行代码检测的工具软件。findbug针对的是Java代码,pclint针对的是C代码或者C++。Findbugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,Findbugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量...
Xray无损检测
英华检测|工业CT设备销售|工业ct和X射线检测服务丨4008959688 英华检测(上海)有限公司,专业从事工业CT/X射线设备销售及配套工业CT/X射线检测服务。目前在上海、东莞、北京、西安分别设有办公室,总部位于上海。公司计划将在全国其他区域设立实验...
主流静态代码检测工具(SAST)
FindBugs:这是一个基于静态分析的Java代码缺陷检测工具,能够检测出代码中的潜在问题、错误和不良实践,并给出相应的修复建议。FindBugs的规则库非常丰富,并且支持自定义规则。WuKong:这是一款国产静态代码检测工具,支持多种语言,如Java、C++、C#、Python、PHP等。它可以检测编码规则、缺陷及安全漏洞并给...
在myeclipse下安装findbugs插件的方法?
配置环境,在安装目录dropins下新建一个findBugs.link文件,里面写上 path=C:\\Program Files\\Genuitec\\MyEclipse 8.5\\myPlugin\\findBugs 保存,重启MyEclipse。在工程上,点击右键,上面有个选项Find Bugs.
请问web开发工具都有哪些?
一个快速的本地开发环境,可以推出取决于操作系统或您正在使用的计算机。有各种各样的免费软件,软件Apache,MySQL和其他打包在一起。这是在本地计算机上最快的一种测试方式,为了方便使用,有些程序还出了便携式版本。本地开发环境包括MAMP,LARAGAN,XAMPP和Vagrant等。4.前端框架 前端框架基本上是一些...