有哪些工具可用于静态分析C#代码?我知道FxCop和StyleCop。有其他人吗?我以前曾经在NStatic上跑过,但它在开发中看起来像是永远的 - 从我看到的很少的东西看,它看起来非常漂亮,所以如果它能看到白天的光芒,它会很好。沿着这些相同的路线(这主要是我对静态分析的兴趣),用于测试多线程问题(死锁,竞态条件等)的代码的工具似乎也有点不足。 Typemock赛车手刚刚弹出,所以我会看着那个。除此之外的任何事情?什么静态分析工具可用于C#?
关于您使用过的工具的真实意见,我们非常感谢。
有哪些工具可用于静态分析C#代码?我知道FxCop和StyleCop。有其他人吗?我以前曾经在NStatic上跑过,但它在开发中看起来像是永远的 - 从我看到的很少的东西看,它看起来非常漂亮,所以如果它能看到白天的光芒,它会很好。沿着这些相同的路线(这主要是我对静态分析的兴趣),用于测试多线程问题(死锁,竞态条件等)的代码的工具似乎也有点不足。 Typemock赛车手刚刚弹出,所以我会看着那个。除此之外的任何事情?什么静态分析工具可用于C#?
关于您使用过的工具的真实意见,我们非常感谢。
码违规检测工具:
Fxcop,通过微软优秀的工具。检查是否符合.net框架指南。
编辑2010年10月:不再可作为独立下载。它现在包含在Windows SDK,安装后可以在程序Files \ Microsoft的SDK \的Windows \中找到[V7.1] \斌\ FxCop的\ FxCopSetup.exe
编辑2018年2月:此功能目前已被集成到Visual Studio 2012和以后作为Code Analysis
质量度量工具:
检查风格工具:
重复检测:
一般重构工具
请参阅关于FxCop的MSDN页面:http://msdn.microsoft.com/en-us/library/bb429476%28VS.80%29.aspx“FxCop是一个应用程序,它分析托管代码程序集(以.NET为目标的代码框架公共语言运行库)并报告有关程序集的信息,例如可能的设计,本地化,性能和安全性改进。“ – 2009-07-01 18:24:41
FxCop链接已从Microsoft网站中删除。这里是FxCop 10.0“下载”:http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=917023f6-d5b7-41bb-bbc0-411a7d66cf3c – ulrichb 2010-06-23 10:37:44
这是猿猴:http://www.harukizaemon .com/simian/index.html? (你有断链接)。而且它似乎只是.NET 1.1。 – Theraot 2012-05-15 13:24:44
我找到了Code Metrics和Dependency Structure Matrix Reflector的加载项非常有用。
工具NDepend引述质量度量工具,但它是一个很值得也码违规检测工具。 声明:我是该工具的开发人员之一
使用NDepend,可以编写Code Rule over LINQ Queries (what we call CQLinq)。默认情况下建议超过200 CQLinq code rules。 CQLinq的实力在于很简单,编写代码规则,并立即得到的结果。建议设施浏览匹配的代码元素。例如:
在那旁边,NDepend的附带了许多其他像功能的静态分析。这些措施包括:
除了通过madgnome优秀的名单,我想补充一点,是基于关闭命令行(但是是免费的)中的重复代码检测器:
你见过CAT.NET?
从Blurb的 -
CAT.NET是一个二进制代码分析工具 ,帮助识别 某些现行漏洞 常见的变异,可引起常见的攻击 载体,如跨站脚本 (XSS),SQL注入和XPath 注入。
我使用了一个早期测试版,它似乎确实出现了一些值得关注的东西。
Axivion Bauhaus Suite是一种静态分析工具,可与C#(以及C,C++和Java)一起使用。
它提供了以下功能:
这些功能可以一次性运行或作为持续集成过程的一部分运行。当系统与源代码控制系统集成在一起时,可以在每个项目基础上或每个开发者基础上强调问题。
Klocwork的有C#的静态分析工具:http://www.klocwork.com
Optimyth软件刚刚在云www.checkinginthecloud.com推出了静态分析服务。只需安全地上传代码即可运行分析并获得结果。没有麻烦。
它支持多种语言,包括C#更多的信息,可以在wwww.optimyth.com
@IraBaxter发现我已经开始[关于元这个问题的讨论(http://meta.stackexchange.com/questions/229248/一如果你愿意的话,我会邀请你表达你为什么不应该删除这个问题的论点。 – 2014-04-12 07:59:45