static-analysis相关内容
是否有类似于emma的工具,报告哪个测试涵盖特定的实现? 解决方案 如果您想查看哪些测试涵盖哪行代码,您可以使用 Clover 向您显示: 一行被覆盖的次数 测试有问题的行 要查看Clover的预期,请点击此处截图:
..
以下是一些可以抛出NullPointerException的代码片段。 01: public void m1(@Nullable String text){ System.out.print(text.toLowerCase()); //
..
我试图理解Java字节码/源代码的静态分析。 这些条款经常出现,我无法在互联网上找到令人满意的定义: 上下文(中)敏感分析 调用上下文 有效呼叫网站 分数分析 任何人都可以用外行术语详细说明上述术语在Java语境中的含义。 在Google上搜索“上下文”“编程”会带来关于上下文敏感语法,语言理论等的内容,但不是我需要的定义(除非它们的含义相同)。 解决方案 调
..
我试图弄清楚如何获取Java pojo,并分析其方法以获取它可以调用的所有其他方法和函数。例如,这是输出的硬编码示例。我该怎么做这个一般?我需要以编程方式分析Java对象,以确定执行时可以调用的方法。示例: package com.example.analyze; 公共类Main { 私有静态类Foo { public void foo(int value,Bar ba
..
我有一个庞大的遗留系统需要维护。代码库使用遍布各处的线程,这些线程共享大量可变数据。我知道,听起来不错。无论如何,不回答“从头开始重写整个应用程序”或者我会投票给你:-)我试图在代码库上运行一些静态分析工具,但这些似乎都没有抓住这种情况发生了很多在我们的源代码中:多个线程正在读取和写入未标记为volatile或同步的变量。通常这发生在“runFlag”类型的变量上。这方面的一个例子是在Effe
..
是否有一些工具可以分析Java源文件,从中构建图表并以某种标准/可理解的格式提供图表数据? 它最终不需要GUI,我更喜欢命令行,所以我可以通过各种工具处理输出(用于分段,可视化......)。 / p> 解决方案 我不确定命令行工具,但我喜欢使用ObjectAid对类图进行逆向工程: http://www.objectaid.com/ 您可以轻松地将任何类与它的关系添加到
..
是否有针对Java的任何(静态分析/重构/ ...)工具专门针对 清洁代码开发(CCD) ? 我知道静态分析(PMD,Findbugs,Checkstyle),依赖注入,测试和代码覆盖的常用工具。但我正在寻找一种工具,可以提示我的代码是如何干净的(如此处所述)并且在鲍勃叔叔的清洁代码中),我怎样才能让它更干净,最好是适应我的 清除代码等级 。一个工具也可以告诉我如何随着时间的推移改进CCD。
..
我熟悉一些可用于Java的免费静态分析工具,例如FindBugs和PMD。我想知道的是Klocwork和Coverity等商业产品如何与这些产品相抗衡。它们的优点和缺点是什么? 解决方案 我们使用一套开源和商业静态分析工具。不同的工具会发现不同类型的错误,有些会针对较低的误报率进行调整,但可能会遗漏一些实际问题。 根据我的经验,Findbugs做了一个很好地找到真正的问题,特别是如果
..
有一个比较PMD和CheckStyle的问题。但是,我找不到PMD和FindBugs之间差异/相似性的细分。我认为一个关键的区别是PMD适用于源代码,而FindBugs适用于编译的字节码文件。但就能力而言,它应该是一个或两个选择还是相互补充? 解决方案 我正在使用都。我认为它们相互补充。 如你所说, PMD 适用于源代码,因此会发现以下问题:违反命名约定,缺少花括号,错误的空检查,长
..
是否有任何可用的开源工具支持通过参数类型和返回类型搜索Java方法? 举个例子,说我是寻找一种为int数组生成哈希码的方法。我搜索一个接受int []参数并返回int的方法: int [] - > int yielding java.util.Arrays #hashCode(int []) ... 或者我可能想要找到一个方法,它
..
我们将静态分析工具引入到我们的Java产品的构建系统中。我们正在使用Maven2,因此 Checkstyle 和 PMD 集成免费提供。然而,就强制执行基本样式规则而言,这两个工具之间的功能似乎存在很大的重叠。 利用这两者是否有好处?我不想维护2个工具,如果一个工作。如果我们选择一个,我们应该使用哪个以及为什么? 我们还计划使用FindBugs。我们应该看看其他静态分析工具吗?
..
您在Java项目中使用了哪些代码分析工具? 我对所有类型感兴趣 静态代码分析工具(FindBugs,PMD和其他任何工具) 代码覆盖工具(Cobertura,Emma和其他任何工具) 任何其他基于仪器的工具 其他任何东西,如果我遗漏了什么 如果适用,还说明您使用的构建工具以及这些工具与IDE和构建工具的集成程度。 如果某个工具仅以特定方式提供(作为IDE插件,或者说是
..
对Java世界模糊不清我正在谷歌搜索一个静态分析工具,该工具也足够聪明,可以解决它发现的问题。我在CodePro工具上运行但是,我再次成为Java社区的新手并且不了解供应商。 根据上述标准,您可以推荐什么工具? 解决方案 FindBugs,PMD和Checkstyle都是很好的选择,特别是如果你将它们集成到你的构建过程中。 在我上一家公司,我们也使用了 Fortify 检查潜在
..
我想验证2个JAR之间的二进制兼容性。 按照回答我使用 jboss tattletale 但它只能找到缺少类。 如何找到丢失的方法?是否有可能? 例如 “取决于”课程 Foo取决于Bar(和许多其他中产阶级员工一样) import org.overlyusedclassnames.Bar 公共类Foo { public void someMethod(){
..
可能重复: 我正在使用相同的约定实例变量和属性命名,如下面的sebnow所示回答: 目标C中的实例变量/方法参数命名 我复制粘贴他的示例代码: @interface Foo:NSObject { id _bar; } @property(非原子,保留)id栏; - (id)initWithBar:(id)aBar; @end @imple
..
如上所述此处。 如何在我的项目中搜索未关闭此类资源的地方,例如这种错误: private void readFile(File file)抛出IOException { InputStream in = new FileInputStream(file ); int nextByte = in.read(); while(nextByte!= -1){ //用这里的字节做
..
我们的代码中常见的错误是写 @Mock Object object; @InjectMocks主题; 而不是 @Mock私有Object对象; @InjectMocks私人主题; 这可以防止PMD / FindBugs / IntelliJ在字段未使用时发出警告,同时我们的代码审查也是“让这个字段变为私有”评论臃肿。 当具有特
..
我今天碰到了一个方法,但是没有在任何地方使用..但是经过测试。由于测试使用它, IntelliJ 没有将方法标记为'未使用'。 是否 IntelliJ 允许以下搜索条件“查找除测试之外未使用的方法,其中test定义为 @Test 注释“ 解决方案 有相关的功能请求: IDEA-56519 检查未使用的代码需要采取的选项考虑到由测试工具运行的方法 虽然配置注释已经涵盖了第一
..
是否有可能创建一个不能再承认新成员的类型类(可能通过使用模块边界)?我可以拒绝导出完整实例定义所必需的函数,但如果有人产生无效实例,那只会导致运行时错误。我可以让它成为编译时错误吗? 解决方案 我相信答案是合格的,取决于您尝试的是什么您可以避免从接口模块 1 中导出类型类名,而仍然导出类型类的名称功能。然后,没有人可以创建该类的实例,因为没有人可以命名它! 示例: foo,
..
注意不是“功能依赖”。是否有工具可以让我从源代码构建静态函数依赖关系图?有些东西指示我哪些功能取决于图形方式中的哪些功能。 解决方案 是的,当然有。如果您查看Hackage上的开发类别,那么您'会找到工具: 图表软件包依赖关系 - nb请求老cabal 图形模块依赖 图形函数调用 a> 绘制运行数据结构 特别是, SourceGraph 包含许多分析通行证,包括:
..