static-analysis相关内容

如何在 C++ 中禁用 CodeSonar 警告

标题说明了一切......我有一个项目需要清理 MISRA 2004,公司被告知 CodeSonar 是一个很好的静态分析工具. 在其他静态分析工具上,您可以添加一个魔术注释来禁用对下一行\代码块的分析,(PC-Lint 是 //lint -esym(42),CStat 使用 #pragma cstat_suppress="MISRAC++2008-6-4-1") 但 CodeSonar 似 ..
发布时间:2021-08-30 18:31:08 C/C++开发

如果未检查函数返回值,如何在 C++(17) 中强制编译错误?理想情况下通过类型系统

我们正在编写安全关键代码,我想要一种比 [[nodiscard]] 确保检查函数返回值被编译器捕获. [更新] 感谢评论中的所有讨论.让我澄清一下,这个问题可能看起来是人为的,或者不是“典型用例",或者不是其他人会怎么做.如果这样更容易忽略“你为什么不这样做呢?",请将此作为学术练习.问题正是如果没有将其分配给左值作为函数调用的返回结果,是否有可能创建一个编译失败的类型. 我知道 [ ..
发布时间:2021-08-30 18:31:05 C/C++开发

是否有任何静态分析工具可以检查规则 3(或规则 5 C++11)

我目前正在开发一个建立在沙子基础上的代码库. 据称经过测试的库中有许多违反“3 法则"的类.大多数声明了一个非平凡的析构函数,但缺少复制构造函数或赋值运算符. 是否有任何编译器标志 (gcc) 或静态分析工具会在类违反 3 规则时发出警告? 目前我们在 GCC 4.4 版中使用 Coverity. 解决方案 Coverity 有.我们使用 6.5 版.有一个检查器 MIS ..
发布时间:2021-08-30 18:31:02 C/C++开发

CodeSniffer嗅探用于为PHP代码生成依赖图?

目标:我有兴趣生成一个 DOT 格式 中的类依赖关系描述PHP程序. 想法:在 PHP 源代码中编写一个可以检测(并发出 DOT 记录)的 CodeSniffer“嗅探器"应该不难: class SomeClassName extends BasicClassName {//SomeClassName 指的是 BasicClassName...新的其他类名();//SomeClassNam ..
发布时间:2021-08-30 18:30:59 PHP

从 C++ 文件中删除无用的行

在我调试或重用某些代码时,很多时候文件开始获取不执行任何操作的行,尽管它们可能在某一时刻执行了某些操作. 诸如向量和填充之类的东西,然后不再使用,已定义但从未使用过的类/结构,以及已声明但从未使用过的函数. 我知道在很多情况下,其中一些东西并不是多余的,因为它们可能从其他文件中可见,但就我而言,没有其他文件,我的文件中只有无关代码. 虽然我明白从技术上讲,调用 push_back ..
发布时间:2021-08-30 18:30:56 C/C++开发

在 VB6/VBA 中是否真的需要对象清除/数组释放(优点/缺点?)

我从使用静态代码分析(尤其是 Aivosto 的项目分析器)中学到的很多关于 VB 的知识.它检查的一件事是您是否清除了所有对象和数组.我以前只是盲目地这样做,因为 PA 是这么说的.但是现在我对 VB 释放资源的方式有了更多的了解,在我看来,这些事情应该是自动发生的.这是 VB6 之前的遗留功能,还是您应该明确将对象设置为空并在数组上使用 Erase 的原因? 解决方案 据我所知,这个问 ..
发布时间:2021-08-30 18:30:53 其他开发

进口订单编码标准

PEP8 表明: 导入应按以下顺序分组: 标准库导入 相关的第三方进口 本地应用程序/库特定导入 您应该在每组导入之间放置一个空行. 有没有办法使用静态代码分析工具检查包中的任何地方是否违反了标准,例如 pylint、pyflakes、pychecker>, pep8? 违规示例: from my_package import my_module从 django ..
发布时间:2021-08-30 18:30:40 Python

VB.NET 静态代码分析

有谁知道一个好的 vb.net 代码静态代码分析器? 我已经看到很多关于 c# 的东西,我认为 VS 2008 内置了一些.但我们目前只使用 vs 2005... 解决方案 FxCop 就是这样做的. 特定于 VB.NET 的是 项目分析器. ..
发布时间:2021-08-30 18:30:37 其他开发

R 中具有给定频率的条形图

我需要在 R 中为以下数据制作条形图:174 个蓝色 m&ms、224 个红色、230 个黄色、215 个橙色、195 个绿色和 216 个棕色 m&ms,全部放在一个袋子里.我被要求做的是:“制作一个条形图,显示袋子中观察到的颜色的相对频率."但我不确定如何准确地做到这一点.谢谢 解决方案 使用 barplot() data ..
发布时间:2021-08-30 18:30:35 其他开发

跟踪未初始化的静态变量

我需要调试一个丑陋而庞大的数学 C 库,可能曾经由 f2c 生成.代码滥用了local 静态变量,不幸的是,它似乎在某处利用了这些自动初始化为 0 的事实.如果使用相同的输入调用其入口函数两次,则会给出不同的结果.如果我卸载库并重新加载它,它可以正常工作.它需要很快,所以我想摆脱加载/卸载. 我的问题是如何使用 valgrind 或任何其他工具来发现这些错误,而无需手动遍历整个代码. ..
发布时间:2021-08-30 18:30:32 其他开发

疏通函数错误-R包MuMln

我必须对数据集进行统计分析.我想创建所有可能的模型并使用挖泥功能测试它们,但它不起作用.事实上,当我输入: glm1 我收到此错误: 疏浚(glm1)中的错误:'global.model' 的 'na.action' 参数未设置且 options('na.action') 为 "na.omit" 有人可以帮我吗? 解决方案 使用 options(na.action = "na.fa ..
发布时间:2021-08-30 18:30:28 其他开发

如何为 Perl 制作静态分析调用图?

我正在开发一个中等复杂的 Perl 程序.作为其开发的一部分,它必须经过修改和测试.由于某些环境限制,经常运行这个程序并不是一个容易练习的选项. 我想要的是 Perl 的静态调用图生成器.它不必涵盖所有边缘情况(例如,在 eval 中将变量重新定义为函数,反之亦然). (是的,我知道 Devel::DprofPP 有一个运行时调用图生成工具,但不能保证运行时调用每个函数.我需要能够看看 ..
发布时间:2021-08-30 18:30:26 其他开发

Go语言的静态代码分析(linter)工具

是否有针对 Go 语言的静态分析工具——比如 lint、pylint 等?据我搜索,我没有找到任何相关的内容. 我可以作为我系的本科生高级项目来做这件事.我必须确保以前没有这样做过.任何帮助表示赞赏. 解决方案 Golint 本周新发布:https://github.com/golang/lint ..
发布时间:2021-08-30 18:30:23 其他开发

如何在没有 return 语句的情况下找到 Python 方法?

当对象的方法修改对象属性时,我真的很喜欢它返回 self 以便您可以链接方法调用.例如: boundingBox.grow(0.05).shift(x=1.3) 代替 boundingBox.grow(0.05)boundingBox.shift(x=1.3) 我想搜索我旧项目的代码来调整这种模式.如何找到没有 return 语句的方法? 理想情况下,我想让程序在文件夹上运行.该程序 ..
发布时间:2021-08-30 18:30:20 Python

在 Scala 中使用幻像类型标记原始类型

在 Scala 中,我可以使用幻像类型的概念(例如 此处) 来标记类型并在运行时删除此信息.我想知道是否可以用幻影类型标记原始类型而不将它们装箱. 一个例子可以是一个函数,它只让 Int 是素数时才通过.签名可能类似于以下内容: def filterPrime(i: Int): Option[Int with IsPrime] 函数返回值 Some(i) 如果 i 是质数或 None 否 ..
发布时间:2021-07-15 20:20:53 其他开发

如何检查整个 rails 项目的编译错误

我是 ruby​​ 和 rails 的新手.我习惯于在 IDE(Xcode、Visual Studio 等)中工作,在那里我可以执行项目范围/工作区范围的“构建/编译"操作. 假设我修改了 Rails 项目中的一些 ruby​​ 文件.我还没有编写测试来执行我的所有更改. 有没有办法确保我的所有 *.rb 文件在不直接在运行时运行的情况下编译?我真的只想执行“编译我所有的 ruby​​ ..
发布时间:2021-07-11 20:56:51 其他开发

Python 脚本是否应该以新行结尾?Pylint自相矛盾?

我是 Pylint 的新手,当我针对我的脚本运行它时,我得到以下输出: C: 50, 0: 尾随换行符(trailing-newlines) 这里,Pylint 是说最后一个换行是不好的. 我喜欢在我的脚本末尾有一个新行,所以我想我应该禁用这个警告.我做了一些谷歌网络搜索,发现了这个:http://pylint-messages.wikidot.com/messages:c030 ..
发布时间:2021-06-24 18:33:22 Python

每天从命令行获取 PHP lint/PhpStorm 检查错误

每天尝试从命令行运行某种形式的 PHP linting. 我已经尝试过 SonarLint - 在 PhpStorm 中很可爱,但遗憾的是他们显然已经停止支持命令行命令. 我尝试获取 PHPLint 和 php -l,但我不是 php 大师,并且正在努力处理作曲家文件. 最后,我查看了 PhpStorm 检查 - 我可以让它创建一个包含 99 种错误类型的目录,但随后我必须编写一 ..
发布时间:2021-06-17 18:38:05 PHP