
.NET静态分析与Parasoft dotTEST
静态分析为.NET领域提供了一系列广泛的功能。它可以执行基于模式的规则,不管这些规则是否基于已经验证的标准,还是自定义的模式,从而帮助你识别特定应用程序中的缺陷。尽管如此,有些缺陷还是无法用这种分析技术检测出来。而dotTEST的流程分析功能会做到这一点。

静态分析为.NET领域提供了一系列广泛的功能。它可以执行基于模式的规则,不管这些规则是否基于已经验证的标准,还是自定义的模式,从而帮助你识别特定应用程序中的缺陷。尽管如此,有些缺陷还是无法用这种分析技术检测出来。而dotTEST的流程分析功能会做到这一点。
早先的报道认为Roslyn项目只是更好的运行时能够访问的编译器以及REPL样式的解释器,但是现在看来它的目的远不止如此。微软公开了整个编译器产品线,期望开发者能够在各个层次上创建出更多类型的工具。
从目前的开发进度来看,Code Contracts距离产品阶段还遥遥无期。尽管仍旧坚守着最初的承诺,但只要运行该程序不久就会发现众多的问题,这一切使得当前的Code Contracts还无法投入到真正的使用当中。
Bullet插件的作者flyerhzm根据ihower在Kungfu Rails大会上的Rails最佳实践的分享内容,制作了一个能够自动检查违背最佳实践代码的Gem,名为rails_best_practices。
我们可从CodePlex站点下载Spec#的源代码了,但要在微软研究共享许可协议(非商业用途)下使用。一个名为Boogie的代码验证工具也正式发布,该工具基于微软公共许可并符合开源标准。
当前,Ruby 1.9.1并没有提供所需的功能,可以让ParseTree的运行时特性正常工作。这意味着有些依赖于这个特性的程序库不再可用,比如Merb的 action arguments或者heckle等等。让我们来看看ParseTree的现状,并探究一下ruby_parser是否是一个可能的替代者。
ruby_parser、ParseTree及其派生的UnifiedRuby提供了对Ruby源代码AST的访问,让我们来关注四个纯Ruby实现的静态分析工具:Roodi、Rufus、Reek和Flay。
Ryan Davis发布了ParseTree 3.0,而相关的程序库Ruby2Ruby和Flog也进行了升级。Sexp_processor,一个通过编写访问者来分析ParseTree的s-表达式的程序库,目前已经拆分成一个独立的gem。另外:ruby_parser 2.0,一个用Ruby写成的Ruby解析器,在发布的新版本中也做出了多项改进。