darmowe narzędzie firmy Microsoft do statycznej analizy kodu .Net.

wbudowane w VS Premium/Ultimate, dostępne w Windows SDK

analizuje kod pośredni, a nie kod źródłowy

wykrywa ponad 200 różnych defektów

możliwość definiowania własnych reguł

narzędzie konsolowe oraz GUI (w starszych wersjach)

wtyczka Resharper również przeprowadza analizę kodu automatycznie w trakcie edycji programu (ponad 1400 reguł!)

wytyczne .NET Framework Design Guidelines

konwencja nazewnicza

zwalnianie zasobów

konstrukcja bibliotek

lokalizacja (GlobalizationRules)

wydajność

bezpieczeństwo, np. SQL Injection

DataFlow (przepływ danych)

MSDN Lista ostrzeżeń

np.:Security Warnings

np. CA2100: Review SQL queries for security vulnerabilities

Build -> Run Code Analysis

Wybór zestawu reguł: Project -> Propoerties -> Common Properties -> Code Analysis Settings

Wyłączanie ostrzeżeń danego typu Actions -> Suppress Message -> In Source / In Project Suppression File

w pliku (In Source)

dla całego projektu (In Project Suppression File)

Atrybut SuppressMessage

[SuppressMessage("Microsoft.Design", "CA1039:ListsAreStrongTyped")] public class MyClass { }
[module: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "MyNamespace")]

Check-in Policies

Wymuszenie analizy przed zatwierdzeniem zmian: Team Project Settings -> Source Control -> Check-in Policy -> Add

Check-in Policies

Enforce check-in to only contain files that are part of current solution.

Enforce C/C++ Code Analysis (/analyze)

Enforce Code Analysis for Managed Code

Można wybrać wybrane grupy reguł

Enable Code Analysis on Build - można wymusić też analizę przy każdej kompilacji lokalnie lub na serwerze buildów (TFS)

Tworzenie zadań z wykrytych błedów

Code Analysis -> Actions -> Create Work Item

Error List -> Create Work Item

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop\

silniki wyszukiwania: FxCop\Engines

reguły: FxCop\Rules

Rule Sets pliki XML z regułami dla projektów

Opcje aplikacji konsolowej

Fxcop ASP.NET security rules dodatek do FxCop 10 z regułami ASP.NET

Statyczna analiza bezpieczeństwa kodu aplikacji — FxCop by Adrian “Vizzdoom” Michalczyk

How to use FxCop by Anil_Saran

FxCop MSDN

FxCop 10.0 download

FxCop Wikipedia