My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links

Introduction

Smokey is a open source command line tool used to analyze .NET or Mono assemblies for problems. It's similar to tools like FxCop and Gendarme. Currently Smokey runs on Mono 2.0 or above and on .NET 3.5 and has 233 rules. Descriptions of all of the rules provided by the currently released version can be found here.

Smokey can generate reports of problems found in html, text, or xml formats. Html reports can be generated with commands like smoke -profile=system -html -out:report.html mono-1.9/mcs/class/lib/default/System.Drawing.dll.

Related Tools

Smokey Add-in is an addon that integrates Smokey into MonoDevelop.

Gendarme is the Mono assembly checker. It has improved a great deal since I originally started Smokey and I am now helping with its development instead of Smokey.

FxCop is Microsoft's tool. It has a lot of rules and is a mature product. But it only runs on Windows, is not open source, and is missing some cool rules such as ConsistentEquality, CtorCallsVirtual, NullDeref, StaticSetter, and ValueHashCode.

MoonWalker is a model checker for Mono. It exhaustively simulates execution of assemblies and looks for problems like deadlocks and invalid assertions.

HeapBuddy and HeapShot are Mono tools which can be used to profile your application's memory usage to discover problems like objects living longer than they should.

The CLR Profiler can be used with .NET to investigate memory issues.

FindBugs is a Java tool. Unlike FxCop it focuses more on outright bugs than design violations.

mono-api-info is used internally by the Mono team to ensure that their public APIs do not change between releases.

Powered by Google Project Hosting