static-analysis相关内容

在Java中,“调用上下文”的含义是什么。 (和其他一些术语)?

我试图理解Java字节码/源代码的静态分析。 这些条款经常出现,我无法在互联网上找到令人满意的定义: 上下文(中)敏感分析 调用上下文 有效呼叫网站 分数分析 任何人都可以用外行术语详细说明上述术语在Java语境中的含义。 在Google上搜索“上下文”“编程”会带来关于上下文敏感语法,语言理论等的内容,但不是我需要的定义(除非它们的含义相同)。 解决方案 调 ..
发布时间:2018-12-29 21:02:28 Java开发

找出一种方法是否可以调用另一种方法

我试图弄清楚如何获取Java pojo,并分析其方法以获取它可以调用的所有其他方法和函数。例如,这是输出的硬编码示例。我该怎么做这个一般?我需要以编程方式分析Java对象,以确定执行时可以调用的方法。示例: package com.example.analyze; 公共类Main { 私有静态类Foo { public void foo(int value,Bar ba ..
发布时间:2018-12-28 15:12:37 Java开发

用于在Java中查找Shared Mutable数据错误的工具

我有一个庞大的遗留系统需要维护。代码库使用遍布各处的线程,这些线程共享大量可变数据。我知道,听起来不错。无论如何,不​​回答“从头开始重写整个应用程序”或者我会投票给你:-)我试图在代码库上运行一些静态分析工具,但这些似乎都没有抓住这种情况发生了很多在我们的源代码中:多个线程正在读取和写入未标记为volatile或同步的变量。通常这发生在“runFlag”类型的变量上。这方面的一个例子是在Effe ..
发布时间:2018-12-26 12:59:04 Java开发

用于生成类依赖关系的图形数据的工具

是否有一些工具可以分析Java源文件,从中构建图表并以某种标准/可理解的格式提供图表数据? 它最终不需要GUI,我更喜欢命令行,所以我可以通过各种工具处理输出(用于分段,可视化......)。 / p> 解决方案 我不确定命令行工具,但我喜欢使用ObjectAid对类图进行逆向工程: http://www.objectaid.com/ 您可以轻松地将任何类与它的关系添加到 ..
发布时间:2018-12-25 20:56:23 Java开发

Java工具,以改善我的清洁代码开发

是否有针对Java的任何(静态分析/重构/ ...)工具专门针对 清洁代码开发(CCD) ? 我知道静态分析(PMD,Findbugs,Checkstyle),依赖注入,测试和代码覆盖的常用工具。但我正在寻找一种工具,可以提示我的代码是如何干净的(如此处所述)并且在鲍勃叔叔的清洁代码中),我怎样才能让它更干净,最好是适应我的 清除代码等级 。一个工具也可以告诉我如何随着时间的推移改进CCD。 ..
发布时间:2018-12-10 21:34:23 Java开发

商业Java静态分析工具与免费工具相比如何?

我熟悉一些可用于Java的免费静态分析工具,例如FindBugs和PMD。我想知道的是Klocwork和Coverity等商业产品如何与这些产品相抗衡。它们的优点和缺点是什么? 解决方案 我们使用一套开源和商业静态分析工具。不同的工具会发现不同类型的错误,有些会针对较低的误报率进行调整,但可能会遗漏一些实际问题。 根据我的经验,Findbugs做了一个很好地找到真正的问题,特别是如果 ..
发布时间:2018-12-10 11:50:05 Java开发

PMD和FindBugs有什么区别?

有一个比较PMD和CheckStyle的问题。但是,我找不到PMD和FindBugs之间差异/相似性的细分。我认为一个关键的区别是PMD适用于源代码,而FindBugs适用于编译的字节码文件。但就能力而言,它应该是一个或两个选择还是相互补充? 解决方案 我正在使用都。我认为它们相互补充。 如你所说, PMD 适用于源代码,因此会发现以下问题:违反命名约定,缺少花括号,错误的空检查,长 ..
发布时间:2018-12-10 11:26:38 Java开发

Checkstyle与PMD

我们将静态分析工具引入到我们的Java产品的构建系统中。我们正在使用Maven2,因此 Checkstyle 和 PMD 集成免费提供。然而,就强制执行基本样式规则而言,这两个工具之间的功能似乎存在很大的重叠。 利用这两者是否有好处?我不想维护2个工具,如果一个工作。如果我们选择一个,我们应该使用哪个以及为什么? 我们还计划使用FindBugs。我们应该看看其他静态分析工具吗? ..
发布时间:2018-12-05 21:54:36 Java开发

您为Java项目使用了哪些代码分析工具?

您在Java项目中使用了哪些代码分析工具? 我对所有类型感兴趣 静态代码分析工具(FindBugs,PMD和其他任何工具) 代码覆盖工具(Cobertura,Emma和其他任何工具) 任何其他基于仪器的工具 其他任何东西,如果我遗漏了什么 如果适用,还说明您使用的构建工具以及这些工具与IDE和构建工具的集成程度。 如果某个工具仅以特定方式提供(作为IDE插件,或者说是 ..
发布时间:2018-12-04 13:48:01 Java开发

针对Java的静态分析工具推荐?

对Java世界模糊不清我正在谷歌搜索一个静态分析工具,该工具也足够聪明,可以解决它发现的问题。我在CodePro工具上运行但是,我再次成为Java社区的新手并且不了解供应商。 根据上述标准,您可以推荐什么工具? 解决方案 FindBugs,PMD和Checkstyle都是很好的选择,特别是如果你将它们集成到你的构建过程中。 在我上一家公司,我们也使用了 Fortify 检查潜在 ..
发布时间:2018-11-28 00:21:04 Java开发

如何静态地在JAR中识别缺失的方法(二进制兼容性)

我想验证2个JAR之间的二进制兼容性。 按照回答我使用 jboss tattletale 但它只能找到缺少类。 如何找到丢失的方法?是否有可能? 例如 “取决于”课程 Foo取决于Bar(和许多其他中产阶级员工一样) import org.overlyusedclassnames.Bar 公共类Foo { public void someMethod(){ ..
发布时间:2018-11-19 13:09:52 Java开发

在Objective-C 2.0中使用下划线并使用@synthetize重命名的实例变量通过Xcode 4的“Analyze”工具导致优化警告

可能重复: 我正在使用相同的约定实例变量和属性命名,如下面的sebnow所示回答: 目标C中的实例变量/方法参数命名 我复制粘贴他的示例代码: @interface Foo:NSObject { id _bar; } @property(非原子,保留)id栏; - (id)initWithBar:(id)aBar; @end @imple ..

在IntelliJ中查找未使用的方法(不包括测试)

我今天碰到了一个方法,但是没有在任何地方使用..但是经过测试。由于测试使用它, IntelliJ 没有将方法标记为'未使用'。 是否 IntelliJ 允许以下搜索条件“查找除测试之外未使用的方法,其中test定义为 @Test 注释“ 解决方案 有相关的功能请求: IDEA-56519 检查未使用的代码需要采取的选项考虑到由测试工具运行的方法 虽然配置注释已经涵盖了第一 ..
发布时间:2018-08-08 16:42:54 其他开发

封闭类型的类

是否有可能创建一个不能再承认新成员的类型类(可能通过使用模块边界)?我可以拒绝导出完整实例定义所必需的函数,但如果有人产生无效实例,那只会导致运行时错误。我可以让它成为编译时错误吗? 解决方案 我相信答案是合格的,取决于您尝试的是什么您可以避免从接口模块 1 中导出类型类名,而仍然导出类型类的名称功能。然后,没有人可以创建该类的实例,因为没有人可以命名它! 示例: foo, ..
发布时间:2018-06-04 17:00:12 其他开发

用于生成Haskell函数依赖关系(控制流)图的工具?

注意不是“功能依赖”。是否有工具可以让我从源代码构建静态函数依赖关系图?有些东西指示我哪些功能取决于图形方式中的哪些功能。 解决方案 是的,当然有。如果您查看Hackage上的开发类别,那么您'会找到工具: 图表软件包依赖关系 - nb请求老cabal 图形模块依赖 图形函数调用 a> 绘制运行数据结构 特别是, SourceGraph 包含许多分析通行证,包括: ..
发布时间:2018-06-04 15:06:03 其他开发