当前位置:  开发笔记 > 编程语言 > 正文

C#有哪些静态分析工具?

如何解决《C#有哪些静态分析工具?》经验,为你挑选了2个好方法。

哪些工具可用于针对C#代码进行静态分析?我知道FxCop和StyleCop.还有其他人吗?我之前遇到过NStatic,但是它一直处于开发阶段,看起来像是永远的 - 它看起来很漂亮,看起来很少见,所以如果它能看到光明的一天会很好.

沿着这些相同的路线(这主要是我对静态分析的兴趣),用于测试多线程问题(死锁,竞争条件等)代码的工具似乎也有点稀缺.刚出现了Typemock Racer,所以我会看着它.除此之外还有什么?

关于您使用的工具的现实意见表示赞赏.



1> Julien Hoara..:

代码违规检测工具:

Fxcop,微软的优秀工具.检查是否符合.net框架准则.

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

编辑2018年2月:此功能现已集成到Visual Studio 2012中,稍后作为代码分析

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

Mono.Gendarme,类似于Fxcop但具有开源许可证(基于Mono.Cecil)

Smokey,类似于Fxcop和Gendarme,基于Mono.Cecil.不再开发,主要开发人员现在与Gendarme团队合作.

Coverity Prevent™适用于C#,商业产品

PRQA QA·C#,商业产品

PVS-Studio,商业产品

CAT.NET,visual studio addin,有助于识别安全漏洞

CodeIt.Right

规格#

PEX

质量度量工具:

NDepend,很棒的视觉工具.对代码度量,规则,差异,耦合和依赖性研究很有用.

Nitriq,免费,可以轻松编写自己的指标/约束,良好的可视化.编辑2018年2月:下载链接现已死亡.

RSM Squared,基于代码源分析

C#指标,使用完整的C#解析

SourceMonitor,一种偶尔会获得更新的旧工具

代码度量标准,一个Reflector加载项

Vil,不支持.NET 2.0的旧工具.编辑2018年1月:链接现已死亡

检查样式工具:

StyleCop,Microsoft工具(从Visual Studio内部运行或集成到MSBuild项目中).也可用作Visual Studio 2015和C#6.0 的扩展

Agent Smith,ReSharper的代码样式验证插件

复制检测:

Simian,基于源代码.适用于大量语言.

CloneDR仅检测语言边界上的参数化克隆(还处理除C#以外的许多语言)

克隆侦探一个Visual Studio插件.(它在内部使用ConQAT)

Atomiq,基于源代码,丰富的语言,酷炫的"轮子"可视化

一般重构工具

ReSharper - 非常酷的C#代码分析和重构功能


请参阅有关FxCop的MSDN页面:http://msdn.microsoft.com/en-us/library/bb429476%28VS.80%29.aspx"FxCop是一个分析托管代码程序集的应用程序(面向.NET Framework的代码公共语言运行时)并报告有关程序集的信息,例如可能的设计,本地化,性能和安全性改进."

2> Patrick from..:

NDepend工具被引用为Quality Metric Tools,但它几乎也是Code违规检测工具.免责声明:我是该工具的开发人员之一

使用NDepend,可以在LINQ查询(我们称之为CQLinq)上编写代码规则.超过200条CQLinq编码规则是默认设置的.CQLinq的优势在于可以直接编写代码规则立即获得结果.建议设施浏览匹配的代码元素.例如:

CQLinq代码规则

除此之外,NDepend还提供了许多其他静态分析功能.这些包括:

智能技术债务估算

依赖图

依赖矩阵

代码差异功能

NDepend.API让你自己编写静态分析工具.使用NDepend.APi,我们甚至开发了一种检测代码重复的工具(此博客文章中的详细信息:查找.NET代码重复的原始算法).

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有