code-analysis相关内容

将静态分析工具相互集成?

人们如何整合各种静态分析工具,如PMD,Checkstyle和FindBugs,以便它们以统一的方式一起使用?特别是,我有兴趣生成一个统一的报告,其中包含来自所有工具的警告。此外,我希望能够使用合理一致的警告抑制来标记我的代码。 我的问题在这里并不是要解决工具“重叠”的地方,比如说,PMD和Checkstyle正在寻找相同的东西。这是另一个问题。 请参阅我的一些对答案中的问题的想法 一 ..
发布时间:2019-01-09 23:31:55 Java开发

Java中的简单动态调用图

我正在寻找一个简单的Java动态调用图记录器,您可以在几行代码中添加它。我知道有一个 Aspect J解决方案。另外,我帮助Zola开发 Glow for C / C ++ ,这样我就可以重写一个类似的工具,但我不想深入研究JVM内部。 现在任何开源解决方案都比AspectJ解决方案稳定且更好? 目的是作为伴侣使用单元测试代码的某些部分,以获得有关其行为的更多信息。 解决方案 ..
发布时间:2019-01-08 19:59:27 Java开发

检测重复代码的工具(Java)

我正处在一个项目中,以前的程序员一直在复制粘贴代码。这些代码实际上是相同的(或非常相似),它们可以重构为一个。 我花了无数个小时手动重构这些代码,但我认为必须有更好的方法。有些是非常简单的静态方法,可以被移到祖先类中(但是被以前的初级程序员复制粘贴)。 是否有代码分析工具可以检测到这一点并提供报告/建议?如果可能,我更喜欢免费/开源工具。 解决方案 我使用以下工具: PM ..
发布时间:2018-12-25 20:34:12 Java开发

用Java可视化代码流的工具?

我受到 C / C ++ 问题的启发流可视化工具。 Java servlet或应用程序有这样的东西吗? 解决方案 Eclipse / IntelliJ IDEA中的 Ctrl + Alt + H ? (albo目前在NB某处) 或IntelliJ IDEA中的“数据流自/来”? ..
发布时间:2018-12-25 20:30:12 Java开发

“为什么” PMD的规则背后

是否有一个很好的资源来描述PMD规则集背后的“原因”? PMD的网站有“什么” - 每个规则的作用 - 但它没有描述为什么PMD有这个规则,为什么忽视这个规则可以让你在现实世界中遇到麻烦。特别是,我有兴趣知道为什么PMD有AvoidInstantiatingObjectsInLoops和OnlyOneReturn规则(如果你需要创建一个对应于集合中每个对象的新对象,第一个似乎是必要的,第二个似乎在 ..
发布时间:2018-12-10 23:54:49 Java开发

c / c ++源代码浏览器比较,求意见

最近,我们的团队继承了庞大的代码库,大约1千兆字节的c / c ++源代码。核心部分(我们实际上可能会不时修改或更新)大约是650MB和57,000个文件。所以我得到了一个完美的测试用例,看看哪些源代码浏览器实际上和他们声称的一样好。以下是我的测试结果,我想看到其他意见。我知道这个主题已经在stackoverflow中多次提出,但我对他们的任何答案都不满意(或者我错过了一些,如果是这种情况请告诉我 ..
发布时间:2018-07-13 18:33:08 其他开发

检索Haskell项目中所有导入的列表

因此,我的最终目标是通过确保项目导入的所有实体存在于声称使用的版本中来评估cabal文件中依赖项的准确性。 一个好的开始是找到单个源文件使用的所有导入实体的列表,可选地提供关于它们来自哪里的信息。 我现在愿意忽略类实例的情况,因为检测它们的用法并不那么简单。 理想的答案是指向工具的指针这也正是如此,但我也会接受一个答案,指出我需要自己编写的资源(GHC是否收集这些信息?它是否可以 ..
发布时间:2018-06-05 11:11:33 其他开发

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

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

如何最好地将大应用程序分成模块?

构建我正在处理的应用程序需要很长时间。它是我工作过的最大的一个。我试图调整gradle设置,这有助于,但仍然是构建速度很慢。 由于应用程序的构建没有模块,它只是一大堆的包,现在我想知道如何“提取”其中的一些并将它们放入单独的模块中。 AFAIK这些模块不应该对应用程序模块有依赖关系,所以我想知道是否有一种工具或技术可以让我分析代码并帮助我找到合适的包来提取,因为它有很多代码。 您如何解 ..
发布时间:2018-05-17 19:06:08 移动开发

如何使用IntelliJ IDEA禁用Git支持的项目的预先提交代码分析

我在IntelliJ IDEA中有一个项目,我使用Git / GitHub作为源代码控制。每次我尝试提交更改时,IntelliJ IDEA都会运行冗长的代码分析并搜索TODO。当它发现“问题”时,它会提示我是否要检查或提交。 我不希望预先提交代码分析运行,并且我不想让IntelliJ IDEA向我询问结果。我似乎无法在常规IntelliJ IDEA项目/ IDE设置中找到任何设置来禁用此设置 ..
发布时间:2018-04-27 14:22:49 其他开发

在GCC中编译时使用`-Wextra`标志的缺点

我知道应该始终使用 -Wall 和 -Wextra 进行编译,因为它们会启用警告并帮助我们以了解我们的错误,如果有的话。 我读过 -Wextra 编译器标志不推荐因为它太冗长而带有很多误报。 我在阅读这本书时感到非常惊讶。所以我开始使用Google搜索,但是我没有得到任何答案,因为所有的搜索结果显示“什么是 -Wextra 标志?”。 所以,我的问题是 $ b 其中所有情况 ..
发布时间:2018-04-20 17:41:01 其他开发

在Python中强化副作用

是否有一种工具可以让您将函数/方法注释为“纯”,然后分析代码以测试所述函数/方法是否无副作用? 解决方案 在Python世界中,这个问题没有什么意义,因为对象对函数中发生的事情有如此多的发言权 例如,你如何判断下面的函数是纯的? def f(x): return x + 1 答案取决于 x 是什么: >>> class A(int): def _ ..
发布时间:2018-04-18 16:03:40 Python

在C#代码中找到未捕获的异常

我想知道是否有一个工具可以使用静态代码分析在C#中找到未捕获的异常。基本上我想选择一个methodA()并且想要一个由methodA()抛出的所有异常以及methodA()所调用的所有方法的列表。我试过 ReSharper + 代理约翰逊和 AtomineerUtils 都不能完成这个简单的任务。 / p> 这是我的示例代码: public class Rectangle { ..
发布时间:2017-09-28 23:49:26 C#/.NET

Misra标准的嵌入式软件

我要求大量代码符合MISRA标准。 第一个问题:有人可以给出一个估计,用于传递基于嵌入式系统的良好代码经验。我明白“写得很好”并不清楚,所以我要求原始估计。 第二个问题:任何可以自定义的工具的建议(即允许抑制特定的警告)并用于自动构建环境(即命令行界面) 任何其他有用的建议,可以帮助这个任务。 谢谢Ilya。 解决方案 我也强烈推荐PC-Lint。如果您正巧使用Vi ..
发布时间:2017-08-15 20:53:00 HTML/CSS

如何确定嵌入式系统中的最大堆栈使用量?

当我给Keil编译器“-callgraph”选项 时,它静态地计算出我的确切的“最大堆栈使用率”。 今天它给了我一个“最大堆栈使用率= 284字节+未知(无堆栈大小的功能)”消息,以及“没有堆栈信息的函数”列表。 Nigel Jones表示递归在嵌入式系统中是一个非常糟糕的想法 (”计算你的堆栈大小“ 2009), 所以我一直小心不要在这段代码中做任何相互递归的函数。 另外 ..
发布时间:2017-08-15 19:53:28 HTML/CSS