Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪些静态分析工具可用于C#?_C#_Code Analysis_Static Analysis - Fatal编程技术网

哪些静态分析工具可用于C#?

哪些静态分析工具可用于C#?,c#,code-analysis,static-analysis,C#,Code Analysis,Static Analysis,有哪些工具可用于针对C#代码的静态分析?我知道FxCop和StyleCop。还有其他的吗?我以前见过NStatic,但它似乎一直在开发中——从我对它的了解来看,它看起来非常光滑,所以如果它能看到曙光那就太好了 按照同样的思路(这主要是我对静态分析的兴趣),针对多线程问题(死锁、竞争条件等)测试代码的工具似乎也有点稀缺。Typemock Racer刚刚出现,我会看看。还有别的吗 感谢您对所用工具的真实意见。 是一个开源的基于规则的静态分析器(类似于FXCop,但发现了许多不同的问题) 是一个很好的

有哪些工具可用于针对C#代码的静态分析?我知道FxCop和StyleCop。还有其他的吗?我以前见过NStatic,但它似乎一直在开发中——从我对它的了解来看,它看起来非常光滑,所以如果它能看到曙光那就太好了

按照同样的思路(这主要是我对静态分析的兴趣),针对多线程问题(死锁、竞争条件等)测试代码的工具似乎也有点稀缺。Typemock Racer刚刚出现,我会看看。还有别的吗

感谢您对所用工具的真实意见。

  • 是一个开源的基于规则的静态分析器(类似于FXCop,但发现了许多不同的问题)
  • 是一个很好的VisualStudio插件,可以查找重复的代码
  • 同样说到Mono,我发现使用Mono编译器进行编译的行为(如果您的代码足够独立于平台,那么您可能会努力实现这一目标)会发现大量未引用的变量和Visual Studio完全忽略的其他警告(即使警告级别设置为4)

代码冲突检测工具:

  • ,微软的优秀工具。检查是否符合.net framework准则

    编辑2010年10月:不再作为独立下载提供。它现在包含在中,安装后可以在程序文件\Microsoft SDK\Windows\[v7.1]\Bin\FXCop\FxCopSetup.exe中找到

    编辑2018年2月:此功能现已集成到Visual Studio 2012及更高版本中

  • ,基于代码源代码分析(到C#2.0)

  • ,类似于Fxcop,但拥有开源许可证(基于)

  • ,类似于Fxcop和宪兵,基于。不再进行开发,主要开发人员现在与宪兵队合作

  • ,商品

  • ,商品

  • ,商品

  • ,visual studio插件,帮助识别安全漏洞编辑2019年11月:链接已失效

  • ,FOSS和商业选项,以支持编写更干净、更安全的代码

质量度量工具:

  • ,伟大的视觉工具。用于代码度量、规则、差异、耦合和依赖性研究
  • ,免费,可以轻松编写您自己的指标/约束,很好的可视化效果编辑2018年2月:下载链接现已失效编辑2019年6月17日:链接未死。
  • ,基于代码源代码分析
  • ,使用C的完整解析#
  • ,这是一个旧工具,偶尔会得到更新
  • ,一个外接程序
  • ,不支持.NET 2.0的旧工具编辑2018年1月:链接现已关闭
检查样式工具:

  • ,Microsoft工具(从Visual Studio内部运行或集成到MSBuild项目中)。也可用于Visual Studio 2015和C#6.0
  • ,用于ReSharper的代码样式验证插件
重复检测:

  • ,基于源代码。可以使用多种语言
  • ,仅在语言边界上检测参数化克隆(还处理C#以外的许多语言)
  • VisualStudio插件。(内部使用)
  • ,基于源代码,丰富的语言,酷炫的“轮子”可视化
通用重构工具

  • -非常酷的C#代码分析和重构功能
我发现Reflector的和插件非常有用。

该工具被引用为质量度量工具,但它几乎也是一个代码违规检测工具。免责声明:我是该工具的开发者之一

有了独立软件,你就可以写作了。默认情况下建议的数量超过。CQLinq的优势在于它可以直接编写代码规则,并立即得到结果。建议使用工具浏览匹配的代码元素。例如:

除此之外,NDepend还附带了许多其他静态分析功能。这些措施包括:

  • 这让您可以编写自己的静态分析工具。使用NDepend.APi,我们甚至开发了一个检测代码重复的工具(详细信息请参见本文)

除了madgnome的优秀列表之外,我还想添加一个基于命令行的重复代码检测器(但免费):

你看到了吗

从宣传栏-

NET是一种二进制代码分析工具 这有助于识别 某些普遍存在的弱点 这会引起普通攻击 向量,如跨站点脚本 (XSS)、SQL注入和XPath 注射

我使用了早期的beta版,它似乎有一些值得我们去关注的东西。

是一个静态分析工具,用C++语言(以及C、C++和java)工作。 它提供以下功能:

  • 软件架构可视化(包括依赖项)
  • 实施架构规则,例如分层、子系统、调用规则
  • 克隆检测-突出显示复制和粘贴(以及修改的代码)
  • 死码检测
  • 周期检测
  • 软件度量
  • 代码样式检查

这些功能可以一次性运行,也可以作为持续集成过程的一部分运行。当系统与源代码控制系统集成时,可以在每个项目或每个开发人员的基础上突出显示问题。

Klocwork有一个用于C#的静态分析工具:

Optimyth软件刚刚在云中启动了一个静态分析服务。只需安全地上传你的代码