有什么工具可用于针对 C # 代码的静态分析?我知道 FxCop 和 StyleCop。还有其他人吗?我以前遇到过 NStatic,但是它似乎已经开发了很长时间了——从我所看到的一点来看,它看起来非常光滑,所以如果它能见到阳光就好了。
沿着同样的路线(这主要是我对静态分析的兴趣) ,用于测试多线程问题(死锁、竞态条件等)的代码的工具似乎也有点缺乏。模拟赛车刚刚出现了,所以我要看看。除此之外呢?
关于您使用过的工具的现实生活中的意见是值得赞赏的。
代码违规检测工具:
FxCop ,微软的优秀工具。检查是否符合.NET 框架指南。
编辑2010年10月: 不再作为独立下载。它现在包含在 Windows SDK中,安装后可以在 Program Files\Microsoft SDKs\Windows\ [v7.1] \Bin\FXCop\FxCopSetup.exe中找到
Program Files\Microsoft SDKs\Windows\ [v7.1] \Bin\FXCop\FxCopSetup.exe
编辑2018年2月 : 这个功能现在已经被集成到 Visual Studio 2012中,后来被集成为代码分析
ClockSharp ,基于代码源分析(到 C # 2.0)
Mono. Gendarme ,类似于 FxCop,但使用开源许可证(基于 单核细胞增多症,塞西尔)
Smokey ,类似于 FxCop 和 Gendarme,基于 单核细胞增多症,塞西尔。不再开发,主要开发人员与宪兵队现在的工作。
Coverity PreventTM for C # ,商业产品
商业产品
PVS-Studio ,商业产品
CAT.NET ,帮助识别安全漏洞的可视化工作室插件 2019年11月编辑: Link 已经死亡。
密码,对
规格 #
SonarQube ,FOSS & Commercial 选项支持编写更清洁和更安全的代码。
质量度量工具:
检查样式工具:
重复检测:
通用重构工具
我发现反射器的 代码度量和 依赖结构矩阵插件非常有用。
工具 不依赖被引用为 质量公制工具,但它几乎也是一个 代码违规检测工具
使用 NDepend,可以编写 LINQ 查询上的代码规则(我们称之为 CQLinq)。默认情况下,建议超过 200条 CQLinq 代码规则。CQLinq 的强度是 编写代码规则很简单,得到 马上的结果。提出设施来浏览匹配的代码元素。例如:
除此之外,NDepend 还有许多其他 静态分析特性,包括:
除了 madgnome 的优秀列表之外,我还要添加一个基于命令行的重复代码检测器(但是是免费的) :
Http://sourceforge.net/projects/duplo/
你看过 CAT.NET吗?
从宣传上看来的
NET 是一个二进制代码分析工具 有助于识别 某些普遍存在的漏洞 可以引起共同攻击 向量,例如跨网站脚本 (XSS)、 SQL 注入和 XPath 注射。
我使用了一个早期的测试版,它似乎找到了一些值得一看的东西。
Axivion Bauhaus Suite 是一个静态分析工具,可用于 C # (以及 C、 C + + 和 Java)。
它提供以下功能:
这些特性可以一次性运行,也可以作为持续集成过程的一部分运行。当系统与源代码控制系统集成时,可以根据每个项目或每个开发人员突出显示问题。
Klocwork 有一个用于 C # : http://www.klocwork.com的静态分析工具
Optimyth Software 刚刚在云 Www.checkinginthecloud.com中推出了一个静态分析服务。只要安全地上传代码,运行分析并得到结果。没有麻烦。
它支持包括 C # 在内的多种语言,更多信息可以在 Wwww.optimyth.com上找到