Alat apa yang tersedia untuk analisis statis terhadap kode C #? Saya tahu tentang FxCop dan StyleCop. Apakah ada yang lain? Saya pernah bertemu NStatic sebelumnya tetapi sudah dalam pengembangan untuk apa yang tampak seperti selamanya - itu tampak sangat apik dari sedikit yang saya lihat, jadi akan lebih baik jika akan melihat cahaya hari.
Sejalan dengan hal yang sama (ini terutama minat saya untuk analisis statis), alat untuk menguji kode untuk masalah multithreading (kebuntuan, kondisi balapan, dll.) Juga tampak agak langka. Pembalap Typemock baru saja muncul jadi saya akan melihat itu. Ada yang lebih dari ini?
Pendapat kehidupan nyata tentang alat yang Anda gunakan dihargai.
c#
code-analysis
static-analysis
Paul Mrozowski
sumber
sumber
Jawaban:
Alat deteksi pelanggaran kode:
Fxcop , alat luar biasa dari Microsoft. Periksa kepatuhan terhadap pedoman kerangka kerja .net.
Edit Oktober 2010: Tidak lagi tersedia sebagai unduhan mandiri. Sekarang termasuk dalam Windows SDK dan setelah instalasi dapat ditemukan di Program Files \ Microsoft SDKs Windows \ [v7.1] \ Bin \ FXCop \ FxCopSetup.exe
Edit Februari 2018 : Fungsi ini sekarang telah diintegrasikan ke dalam Visual Studio 2012 dan kemudian sebagai Analisis Kode
Clocksharp , berdasarkan analisis sumber kode (ke C # 2.0)
Mono.Gendarme , mirip dengan Fxcop tetapi dengan lisensi opensource (berdasarkan Mono.Cecil )
Smokey , mirip dengan Fxcop dan Gendarme, berdasarkan Mono.Cecil . Tidak lagi dalam pengembangan, pengembang utama bekerja dengan tim Gendarme sekarang.
Coverity Prevent ™ untuk C # , produk komersial
PRQA QA · C # , produk komersial
PVS-Studio , produk komersial
CAT.NET , visual studio addin yang membantu mengidentifikasi kelemahan keamanan Edit November 2019: Tautan sudah mati.
CodeIt.Right
Spesifikasi #
Pex
Opsi SonarQube , FOSS & Komersial untuk mendukung penulisan kode yang lebih bersih dan aman.
Alat Metrik Kualitas:
Memeriksa Alat Gaya:
Deteksi Duplikasi:
Alat Refactoring umum
sumber
Alat NDepend dikutip sebagai Alat Metrik Kualitas tetapi cukup banyak juga alat deteksi pelanggaran Kode . Penafian: Saya adalah salah satu pengembang alat ini
Dengan NDepend, seseorang dapat menulis Code Rule over LINQ Queries (apa yang kita sebut CQLinq) . Lebih dari 200 aturan kode CQLinq diusulkan secara default. Kekuatan CQLinq adalah mudah untuk menulis aturan kode , dan langsung mendapatkan hasil. Fasilitas diusulkan untuk menelusuri elemen kode yang cocok. Sebagai contoh:
Selain itu, NDepend dilengkapi dengan banyak fitur analisis statis seperti lainnya. Ini termasuk:
sumber
sumber
Pernahkah Anda melihat CAT.NET ?
Dari uraian -
Saya menggunakan beta awal dan tampaknya muncul beberapa hal yang pantas untuk dilihat.
sumber
Selain dari daftar unggulan oleh madgnome, saya akan menambahkan pendeteksi kode duplikat yang didasarkan pada baris perintah (tetapi gratis):
http://sourceforge.net/projects/duplo/
sumber
Klocwork memiliki alat analisis statis untuk C #: http://www.klocwork.com
sumber
Saya menemukan add-in Matriks Struktur Metrik dan Ketergantungan Struktur untuk Reflektor sangat berguna.
sumber
Software Optimyth baru saja meluncurkan layanan analisis statis di cloud www.checkinginthecloud.com . Cukup unggah kode Anda dengan aman, jalankan analisis dan dapatkan hasilnya. Tidak ada kerepotan.
Ini mendukung beberapa bahasa termasuk C # info lebih lanjut dapat ditemukan di wwww.optimyth.com
sumber
Axivion Bauhaus Suite adalah alat analisis statis yang bekerja dengan C # (serta C, C ++ dan Java).
Ini memberikan kemampuan berikut:
Fitur-fitur ini dapat dijalankan secara satu kali atau sebagai bagian dari proses Integrasi Berkelanjutan. Masalah dapat disorot pada basis per proyek atau per basis pengembang ketika sistem terintegrasi dengan sistem kontrol kode sumber.
sumber