Repositori ini mencantumkan alat analisis statis untuk semua bahasa pemrograman, alat build, file konfigurasi, dan banyak lagi. Fokusnya adalah pada alat yang meningkatkan kualitas kode seperti linter dan formatter. Situs web resmi, analysis-tools.dev didasarkan pada repositori ini dan menambahkan peringkat, komentar pengguna, dan sumber daya tambahan seperti video untuk setiap alat.
Proyek ini tidak akan terlaksana tanpa dukungan penuh dari sponsor kami.
Jika Anda juga ingin mendukung proyek ini, kunjungi halaman sponsor Github kami.
Permintaan tarik sangat diterima!
Lihat juga proyek saudaranya, analisis dinamis yang mengagumkan.
abaplint — Linter untuk ABAP, ditulis dalam TypeScript.
abapOpenChecks — Meningkatkan SAP Code Inspector dengan pemeriksaan baru dan dapat disesuaikan.
Codepeer ©️ — Mendeteksi kesalahan run-time dan logika.
Polyspace untuk Ada ©️ — Menyediakan verifikasi kode yang membuktikan tidak adanya overflow, pembagian dengan nol, akses array di luar batas, dan kesalahan run-time tertentu lainnya dalam kode sumber.
SPARK ©️ — Analisis statis dan perangkat verifikasi formal untuk Ada.
Astrée ©️ — Astrée secara otomatis membuktikan tidak adanya kesalahan runtime dan perilaku bersamaan yang tidak valid dalam aplikasi C/C++. Ini bagus untuk komputasi floating-point, sangat cepat, dan sangat presisi. Alat analisa ini juga memeriksa aturan pengkodean MISRA/CERT/CWE/Adaptive Autosar dan mendukung kualifikasi ISO 26262, DO-178C level A, dan standar keselamatan lainnya. Plugin Jenkins dan Eclipse tersedia.
CBMC - Pemeriksa model terbatas untuk program C, pernyataan yang ditentukan pengguna, pernyataan standar, beberapa analisis metrik cakupan.
clang-tidy — Alat linter C++ berbasis dentang dengan kemampuan (terbatas) untuk memperbaiki masalah juga.
clazy - Penganalisis kode statis berorientasi Qt berdasarkan kerangka Clang. clazy adalah plugin kompiler yang memungkinkan dentang memahami semantik Qt. Anda mendapatkan lebih dari 50 peringatan kompiler terkait Qt, mulai dari alokasi memori yang tidak diperlukan hingga penyalahgunaan API, termasuk perbaikan untuk pemfaktoran ulang otomatis.
CMetrics — Mengukur ukuran dan kompleksitas file C.
CPAchecker — Alat untuk verifikasi perangkat lunak program C yang dapat dikonfigurasi. Nama CPAchecker dipilih untuk mencerminkan bahwa alat ini didasarkan pada konsep CPA dan digunakan untuk memeriksa program perangkat lunak.
cppcheck — Analisis statis kode C/C++.
CppDepend ©️ — Ukur, kueri, dan visualisasikan kode Anda dan hindari masalah tak terduga, utang teknis, dan kerumitan.
cpplint — Pemeriksa C++ otomatis yang mengikuti panduan gaya Google.
cqmetrics — Metrik kualitas untuk kode C.
CScout - Metrik kompleksitas dan kualitas untuk kode praprosesor C dan C.
ENRE-cpp — ENRE (ENTity Relationship Extractor) adalah alat untuk mengekstraksi dependensi atau hubungan entitas kode dari kode sumber. ENRE-cpp adalah Ekstraktor Hubungan ENtity untuk C/C++ berdasarkan @eclipse/CDT. (Sedang dikembangkan)
ESBMC — ESBMC adalah pemeriksa model open source, berlisensi permisif, dan terikat konteks berdasarkan teori modulo kepuasan untuk verifikasi program C/C++ single dan multi-thread.
pencari cacat
batu api++
Frama-C - Penganalisis statis yang dapat diperluas dan suara untuk kode C.
GCC — Kompiler GCC memiliki kemampuan analisis statis sejak versi 10. Opsi ini hanya tersedia jika GCC dikonfigurasi dengan dukungan penganalisis diaktifkan. Itu juga dapat menampilkan diagnostiknya ke file JSON dalam format SARIF (dari v13).
Goblint — Penganalisis statis untuk analisis program C multi-thread. Fokus utamanya adalah mendeteksi data race, namun juga melaporkan kesalahan runtime lainnya, seperti buffer overflows dan dereferences null-pointer.
Helix QAC ©️ — Analisis statis tingkat perusahaan untuk perangkat lunak tertanam. Mendukung standar pengkodean MISRA, CERT, dan AUTOSAR.
IKOS — Penganalisis statis suara untuk kode C/C++ berdasarkan LLVM.
Joern — Platform analisis kode sumber terbuka untuk C/C++ berdasarkan grafik properti kode
KLEE — Mesin eksekusi simbolik dinamis yang dibangun di atas infrastruktur kompiler LLVM. Ini dapat secara otomatis menghasilkan kasus uji untuk program sedemikian rupa sehingga kasus uji tersebut menjalankan program sebanyak mungkin.
LDRA ©️ — Rangkaian alat termasuk analisis statis (TBVISION) untuk berbagai standar termasuk MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ & Aturan Kustom.
PASANGAN
PC-lint ©️ — Analisis statis untuk C/C++. Berjalan secara native di Windows/Linux/MacOS. Menganalisis kode untuk hampir semua platform, mendukung C11/C18 dan C++17.
Phasar — Kerangka kerja analisis statis berbasis LLVM yang dilengkapi dengan analisis status noda dan tipe.
Polyspace Bug Finder ©️ — Mengidentifikasi kesalahan run-time, masalah konkurensi, kerentanan keamanan, dan cacat lainnya pada perangkat lunak tertanam C dan C++.
Pemeriksa Kode Polyspace ©️ — Menyediakan verifikasi kode yang membuktikan tidak adanya overflow, pembagian dengan nol, akses array di luar batas, dan kesalahan run-time tertentu lainnya dalam kode sumber C dan C++.
scan-build — Frontend untuk menggerakkan Clang Static Analyzer yang terpasang di Clang melalui build reguler.
belat — Pemeriksa program statis berbantuan anotasi.
SVF — Alat statis yang memungkinkan analisis ketergantungan antarprosedural yang terukur dan tepat untuk program C dan C++.
TrustInSoft Analyzer ©️ — Deteksi menyeluruh atas kesalahan pengkodean dan kerentanan keamanan terkait. Ini mencakup deteksi perilaku suara yang tidak terdefinisi (buffer overflow, akses array di luar batas, dereferensi penunjuk nol, penggunaan setelah bebas, pembagian dengan nol, akses memori yang tidak diinisialisasi, luapan bertanda, aritmatika penunjuk tidak valid, dll.) , verifikasi aliran data dan aliran kontrol serta verifikasi fungsional penuh dari spesifikasi formal. Semua versi C hingga C18 dan C++ hingga C++20 didukung. TrustInSoft Analyzer akan memperoleh kualifikasi ISO 26262 pada Q2'2023 (TCL3). Pemeriksa MISRA C juga disertakan.
benar++
.NET Analyzers — Organisasi untuk pengembangan penganalisis (diagnostik dan perbaikan kode) menggunakan .NET Compiler Platform.
ArchUnitNET — Pustaka pengujian arsitektur AC# untuk menentukan dan menegaskan aturan arsitektur di C# untuk pengujian otomatis.
code-cracker — Pustaka penganalisis untuk C# dan VB yang menggunakan Roslyn untuk menghasilkan pemfaktoran ulang, analisis kode, dan hal-hal menarik lainnya.
CSharpEssentials
Designite ©️ — Designite mendukung deteksi berbagai bau arsitektur, desain, dan implementasi, penghitungan berbagai metrik kualitas kode, dan analisis tren.
Gendarme — Gendarme memeriksa program dan perpustakaan yang berisi kode dalam format ECMA CIL (Mono dan .NET).
Menyimpulkan#
Meziantou.Analyzer — Penganalisis Roslyn untuk menerapkan beberapa praktik baik di C# dalam hal desain, penggunaan, keamanan, kinerja, dan gaya.
NDepend ©️ — Ukur, kueri, dan visualisasikan kode Anda dan hindari masalah tak terduga, utang teknis, dan kerumitan.
Puma Scan — Puma Scan menyediakan analisis kode aman secara real-time untuk kerentanan umum (XSS, SQLi, CSRF, LDAPi, kripto, deserialisasi, dll.) saat tim pengembangan menulis kode di Visual Studio.
Roslynator — Kumpulan 190+ penganalisis dan 190+ pemfaktoran ulang untuk C#, didukung oleh Roslyn.
SonarAnalyzer.CSharp — Penganalisis Roslyn ini memungkinkan Anda menghasilkan Kode Bersih yang aman, andal, dan dapat dipelihara dengan membantu Anda menemukan dan memperbaiki bug, kerentanan, dan bau kode di basis kode Anda.
VSDiagnostik
Wintellect.Analyzers - penganalisis diagnostik dan perbaikan kode .NET Compiler Platform ("Roslyn").
Astrée ©️ — Astrée secara otomatis membuktikan tidak adanya kesalahan runtime dan perilaku bersamaan yang tidak valid dalam aplikasi C/C++. Ini bagus untuk komputasi floating-point, sangat cepat, dan sangat presisi. Alat analisa ini juga memeriksa aturan pengkodean MISRA/CERT/CWE/Adaptive Autosar dan mendukung kualifikasi ISO 26262, DO-178C level A, dan standar keselamatan lainnya. Plugin Jenkins dan Eclipse tersedia.
CBMC - Pemeriksa model terbatas untuk program C, pernyataan yang ditentukan pengguna, pernyataan standar, beberapa analisis metrik cakupan.
clang-tidy — Alat linter C++ berbasis dentang dengan kemampuan (terbatas) untuk memperbaiki masalah juga.
clazy - Penganalisis kode statis berorientasi Qt berdasarkan kerangka Clang. clazy adalah plugin kompiler yang memungkinkan dentang memahami semantik Qt. Anda mendapatkan lebih dari 50 peringatan kompiler terkait Qt, mulai dari alokasi memori yang tidak diperlukan hingga penyalahgunaan API, termasuk perbaikan untuk pemfaktoran ulang otomatis.
CMetrics — Mengukur ukuran dan kompleksitas file C.
cppcheck — Analisis statis kode C/C++.
CppDepend ©️ — Ukur, kueri, dan visualisasikan kode Anda dan hindari masalah tak terduga, utang teknis, dan kerumitan.
cpplint — Pemeriksa C++ otomatis yang mengikuti panduan gaya Google.
cqmetrics — Metrik kualitas untuk kode C.
CScout - Metrik kompleksitas dan kualitas untuk kode praprosesor C dan C.
ENRE-cpp — ENRE (ENTity Relationship Extractor) adalah alat untuk mengekstraksi dependensi atau hubungan entitas kode dari kode sumber. ENRE-cpp adalah Ekstraktor Hubungan ENtity untuk C/C++ berdasarkan @eclipse/CDT. (Sedang dikembangkan)
ESBMC — ESBMC adalah pemeriksa model open source, berlisensi permisif, dan terikat konteks berdasarkan teori modulo kepuasan untuk verifikasi program C/C++ single dan multi-thread.
pencari cacat
batu api++
Frama-C - Penganalisis statis yang dapat diperluas dan suara untuk kode C.
Helix QAC ©️ — Analisis statis tingkat perusahaan untuk perangkat lunak tertanam. Mendukung standar pengkodean MISRA, CERT, dan AUTOSAR.
IKOS — Penganalisis statis suara untuk kode C/C++ berdasarkan LLVM.
Joern — Platform analisis kode sumber terbuka untuk C/C++ berdasarkan grafik properti kode
KLEE — Mesin eksekusi simbolik dinamis yang dibangun di atas infrastruktur kompiler LLVM. Ini dapat secara otomatis menghasilkan kasus uji untuk program sedemikian rupa sehingga kasus uji tersebut menjalankan program sebanyak mungkin.
LDRA ©️ — Rangkaian alat termasuk analisis statis (TBVISION) untuk berbagai standar termasuk MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ & Aturan Kustom.
PASANGAN
PC-lint ©️ — Analisis statis untuk C/C++. Berjalan secara native di Windows/Linux/MacOS. Menganalisis kode untuk hampir semua platform, mendukung C11/C18 dan C++17.
Phasar — Kerangka kerja analisis statis berbasis LLVM yang dilengkapi dengan analisis status noda dan tipe.
Polyspace Bug Finder ©️ — Mengidentifikasi kesalahan run-time, masalah konkurensi, kerentanan keamanan, dan cacat lainnya pada perangkat lunak tertanam C dan C++.
Pemeriksa Kode Polyspace ©️ — Menyediakan verifikasi kode yang membuktikan tidak adanya overflow, pembagian dengan nol, akses array di luar batas, dan kesalahan run-time tertentu lainnya dalam kode sumber C dan C++.
scan-build — Frontend untuk menggerakkan Clang Static Analyzer yang terpasang di Clang melalui build reguler.
belat — Pemeriksa program statis berbantuan anotasi.
SVF — Alat statis yang memungkinkan analisis ketergantungan antarprosedural yang terukur dan tepat untuk program C dan C++.
TrustInSoft Analyzer ©️ — Deteksi menyeluruh atas kesalahan pengkodean dan kerentanan keamanan terkait. Ini mencakup deteksi perilaku suara yang tidak terdefinisi (buffer overflow, akses array di luar batas, dereferensi penunjuk nol, penggunaan setelah bebas, pembagian dengan nol, akses memori yang tidak diinisialisasi, luapan bertanda, aritmatika penunjuk tidak valid, dll.) , verifikasi aliran data dan aliran kontrol serta verifikasi fungsional penuh dari spesifikasi formal. Semua versi C hingga C18 dan C++ hingga C++20 didukung. TrustInSoft Analyzer akan memperoleh kualifikasi ISO 26262 pada Q2'2023 (TCL3). Pemeriksa MISRA C juga disertakan.
benar++
ameba — Alat analisis kode statis untuk Crystal.
crystal — Kompiler Crystal memiliki fungsionalitas linting bawaan.
Metrik Kode Dart
Effective_dart — Aturan Linter sesuai dengan pedoman dalam Effective Dart
serat
Linter untuk dart — Gaya linter untuk Dart.
DelphiLint — Paket IDE Delphi yang menyediakan analisis dan linting kode sambil jalan, didukung oleh SonarDelphi.
Perbaiki Insight ©️ — Plugin IDE gratis untuk analisis kode statis. Edisi Pro menyertakan alat baris perintah untuk tujuan otomatisasi.
Pascal Analyzer ©️ — Alat analisis kode statis dengan banyak laporan. Versi Lite gratis tersedia dengan pelaporan terbatas.
Pascal Expert ©️ — Plugin IDE untuk analisis kode. Termasuk subset kemampuan pelaporan Pascal Analyzer dan tersedia untuk Delphi versi 2007 dan yang lebih baru.
SonarDelphi — Penganalisis statis Delphi untuk platform kualitas kode SonarQube.
kredo — Alat analisis kode statis dengan fokus pada konsistensi dan pengajaran kode.
dialyxir — Gabungkan tugas untuk menyederhanakan penggunaan Dialyzer dalam proyek Elixir.
jadi di bawah ini - Analisis statis yang berfokus pada keamanan untuk Phoenix Framework.
analisis elm
elm-review — Menganalisis seluruh proyek Elm, dengan fokus pada aturan yang dapat dibagikan dan khusus yang ditulis dalam Elm yang menambahkan jaminan yang tidak diberikan oleh kompiler Elm kepada Anda.
dialyzer — DIALYZER, Analis Perbedaan untuk program ERlang. Dialyzer adalah alat analisis statis yang mengidentifikasi perbedaan perangkat lunak, seperti kesalahan tipe tertentu, kode yang mati atau tidak dapat dijangkau karena kesalahan pemrograman, dan pengujian yang tidak perlu, dalam satu modul Erlang atau keseluruhan (kumpulan) aplikasi. Dialyzer memulai analisisnya dari bytecode BEAM yang dikompilasi debug atau dari kode sumber Erlang. File dan nomor baris dari suatu perbedaan dilaporkan bersama dengan indikasi tentang apa perbedaan tersebut. Dialyzer mendasarkan analisisnya pada konsep pengetikan yang berhasil, yang memungkinkan adanya peringatan suara (tidak ada kesalahan positif).
elvis - Pengulas Gaya Erlang.
Alat Keamanan Erlang Primitif (PEST) — Alat untuk melakukan pemindaian dasar kode sumber Erlang dan melaporkan pemanggilan fungsi apa pun yang mungkin menyebabkan kode sumber Erlang menjadi tidak aman.
fantomas — Pemformat kode sumber F#.
FSharpLint — Alat serat untuk F#.
ionide-analyzers — Kumpulan penganalisis F#, dibuat dengan FSharp.Analyzers.SDK.
fprettify — Pemformat otomatis untuk kode sumber fortran modern, ditulis dengan Python. Fprettify adalah alat yang menyediakan spasi putih, indentasi, dan penyelarasan pembatas yang konsisten dalam kode, termasuk kemampuan untuk mengubah huruf besar-kecil dan menangani arahan praprosesor, sambil menjaga riwayat revisi dan diuji untuk integrasi editor.
i-Code CNES untuk Fortran — Alat analisis kode statis sumber terbuka untuk Fortran 77, Fortran 90, dan Shell.
aligncheck — Temukan struct yang dikemas secara tidak efisien.
bodyclose — Memeriksa apakah isi respons HTTP ditutup.
kode mati — Menemukan kode yang tidak digunakan.
pemburu dingo
kereta luncur anjing — Menemukan tugas/deklarasi dengan terlalu banyak pengidentifikasi kosong.
ganda
errcheck — Periksa apakah nilai pengembalian kesalahan digunakan.
errwrap — Bungkus dan perbaiki kesalahan Go dengan direktif kata kerja %w yang baru. Alat ini menganalisis panggilan fmt.Errorf() dan melaporkan panggilan yang berisi perintah kata kerja yang berbeda dari perintah kata kerja %w baru yang diperkenalkan di Go v1.13. Ia juga mampu menulis ulang panggilan untuk menggunakan direktif kata kerja %w wrap yang baru.
flen — Dapatkan info tentang panjang fungsi dalam paket Go.
Buka Meta Lintergolangci-lint
untuk proyek baru.
go tool vet --shadow — Melaporkan variabel yang mungkin tidak sengaja dibayangi.
go vet — Memeriksa kode sumber Go dan melaporkan hal yang mencurigakan.
go-consistent — Penganalisis yang membantu Anda membuat program Go Anda lebih konsisten.
go-critic — Kode sumber linter Go yang mempertahankan pemeriksaan yang saat ini tidak diterapkan di linter lain.
go/ast — Paket ast mendeklarasikan tipe yang digunakan untuk merepresentasikan pohon sintaksis untuk paket Go.
kambing
gochecknoglobals
goconst — Menemukan string berulang yang dapat digantikan dengan konstanta.
gocyclo
gofmt -s — Memeriksa apakah kode telah diformat dengan benar dan tidak dapat disederhanakan lebih lanjut.
gofumpt — Menerapkan format yang lebih ketat daripada gofmt
, namun tetap kompatibel. Artinya, gofumpt
puas dengan sebagian format yang disukai gofmt
. Alat ini merupakan fork dari gofmt
pada Go 1.19, dan memerlukan Go 1.18 atau lebih baru. Ini dapat digunakan sebagai pengganti drop-in untuk memformat kode Go Anda, dan menjalankan gofmt setelah gofumpt tidak akan menghasilkan perubahan. gofumpt
tidak akan pernah menambahkan aturan yang tidak sesuai dengan format gofmt
. Jadi, kami memperluas gofmt
daripada bersaing dengannya.
goimports — Memeriksa impor paket yang hilang atau tidak direferensikan.
gokart — Analisis keamanan Golang dengan fokus meminimalkan kesalahan positif. Ia mampu menelusuri sumber variabel dan argumen fungsi untuk menentukan apakah sumber masukan aman.
GolangCI-Lint — Alternatif untuk Go Meta Linter
: GolangCI-Lint adalah agregator linter.
golint — Mencetak kesalahan gaya pengkodean dalam kode sumber Go.
goreporter — Menjalankan banyak linter secara bersamaan dan menormalkan outputnya menjadi sebuah laporan.
goroutine-inspect — Alat interaktif untuk menganalisis goroutine dump Golang.
gosec (gas) — Memeriksa kode sumber untuk masalah keamanan dengan memindai Go AST.
gotype — Analisis sintaksis dan semantik mirip dengan kompiler Go.
govulncheck — Govulncheck melaporkan kerentanan yang diketahui mempengaruhi kode Go. Ini menggunakan analisis statis kode sumber atau tabel simbol biner untuk mempersempit laporan hanya menjadi laporan yang dapat mempengaruhi aplikasi. Secara default, govulncheck membuat permintaan ke database kerentanan Go di https://vuln.go.dev. Permintaan ke database kerentanan hanya berisi jalur modul, bukan kode atau properti lain dari program Anda.
ineffassign — Mendeteksi tugas yang tidak efektif dalam kode Go.
antarmuka
aku akan
difitnah
salah eja — Menemukan kata-kata bahasa Inggris yang sering salah eja.
Nakedret — Menemukan hasil telanjang.
nargs — Menemukan argumen yang tidak digunakan dalam deklarasi fungsi.
prealloc — Menemukan deklarasi irisan yang berpotensi untuk dialokasikan sebelumnya.
Reviewdog — Alat untuk memposting komentar ulasan dari linter mana pun di layanan hosting kode apa pun.
menghidupkan kembali — Linter yang cepat, dapat dikonfigurasi, dapat diperluas, fleksibel, dan indah untuk Go. Penggantian golint secara drop-in.
safesql
shisho
staticcheck — Gunakan analisis statis yang berspesialisasi dalam menemukan bug, menyederhanakan kode, dan meningkatkan kinerja.
structcheck — Temukan bidang struct yang tidak digunakan.
structslop — Penganalisis statis untuk Go yang merekomendasikan penataan ulang bidang struct untuk memberikan efisiensi ruang/alokasi maksimum
test — Menampilkan lokasi kegagalan pengujian dari modul pengujian stdlib.
membatalkan konversi
unparam — Temukan parameter fungsi yang tidak digunakan.
varcheck — Temukan variabel dan konstanta global yang tidak digunakan.
wsl — Menerapkan garis kosong di tempat yang tepat.
brittany
HLint — HLint adalah alat untuk menyarankan kemungkinan perbaikan pada kode Haskell.
Liquid Haskell — Liquid Haskell adalah pemeriksa tipe penyempurnaan untuk program Haskell.
Stan — Stan adalah alat baris perintah untuk menganalisis proyek Haskell dan menghasilkan kerentanan yang ditemukan dengan cara yang berguna dengan kemungkinan solusi untuk masalah yang terdeteksi.
Weeder — Alat untuk mendeteksi ekspor mati atau impor paket dalam kode Haskell.
Kerangka Pemeriksa — Pemeriksaan tipe yang dapat dicolokkan untuk Java. Ini bukan sekedar pencari bug, tapi alat verifikasi yang memberikan jaminan kebenaran. Muncul dengan 27 sistem tipe yang dibuat sebelumnya, dan memungkinkan pengguna untuk menentukan sistem tipe mereka sendiri; manual mencantumkan lebih dari 30 sistem tipe kontribusi pengguna.
checkstyle — Memeriksa kode sumber Java untuk kepatuhan terhadap Standar Kode atau serangkaian aturan validasi (praktik terbaik).
ck — Menghitung metrik berorientasi objek Chidamber dan Kemerer dengan memproses file Java sumber.
ckjm — Menghitung metrik berorientasi objek Chidamber dan Kemerer dengan memproses bytecode file Java yang dikompilasi.
CogniCrypt — Memeriksa kode sumber dan byte Java untuk mengetahui penggunaan API kriptografi yang salah.
Kerangka Aliran Data — Kerangka aliran data berkekuatan industri untuk Java. Kerangka Dataflow digunakan dalam Kerangka Checker, Rawan Kesalahan Google, NullAway Uber, Nullsafe Meta, dan dalam konteks lainnya. Itu didistribusikan dengan Kerangka Checker.
DesigniteJava ©️ — DesigniteJava mendukung deteksi berbagai bau arsitektur, desain, dan implementasi serta komputasi berbagai metrik kualitas kode.
Diffblue ©️ — Diffblue adalah perusahaan perangkat lunak yang menyediakan solusi analisis dan pengujian kode bertenaga AI untuk tim pengembangan perangkat lunak. Teknologinya membantu pengembang mengotomatiskan pengujian, menemukan bug, dan mengurangi tenaga kerja manual dalam proses pengembangan perangkat lunak mereka. Produk utama perusahaan, Diffblue Cover, menggunakan AI untuk menghasilkan dan menjalankan pengujian unit untuk kode Java, membantu menangkap kesalahan dan meningkatkan kualitas kode.
Doop — Doop adalah kerangka deklaratif untuk analisis statis program Java/Android, yang berpusat pada algoritma analisis pointer. Doop menyediakan berbagai macam analisis dan juga perancah di sekitarnya untuk menjalankan analisis secara end-to-end (pembuatan fakta, pemrosesan, statistik, dll.).
ENRE-java — ENRE (ENTity Relationship Extractor) adalah alat untuk mengekstraksi dependensi atau hubungan entitas kode dari kode sumber. ENRE-java adalah ENtity Relationship Extractor untuk proyek Java berdasarkan @Eclipse JDT/parser.
Rawan Kesalahan — Tangkap kesalahan umum Java sebagai kesalahan waktu kompilasi.
fb-contrib — Sebuah plugin untuk FindBugs dengan pendeteksi bug tambahan.
banned-apis — Mendeteksi dan melarang pemanggilan metode/kelas/bidang tertentu (seperti membaca dari aliran teks tanpa rangkaian karakter). Kompatibel dengan Maven/Gradle/Semut.
google-java-format — Memformat ulang kode sumber Java agar sesuai dengan Google Java Style
PerburuanBug
IntelliJ IDEA ©️ — Dilengkapi dengan banyak inspeksi untuk Java dan Kotlin dan mencakup alat untuk pemfaktoran ulang, pemformatan, dan banyak lagi.
JArchitect ©️ — Ukur, kueri, dan visualisasikan kode Anda dan hindari masalah tak terduga, utang teknis, dan kerumitan.
JBMC — Pemeriksa model terbatas untuk Java (bytecode), memverifikasi pernyataan yang ditentukan pengguna, pernyataan standar, beberapa analisis metrik cakupan.
Mariana Trench — Alat analisis statis kami yang berfokus pada keamanan untuk aplikasi Android dan Java. Mariana Trench menganalisis bytecode Dalvik dan dibuat untuk berjalan cepat pada basis kode besar (10 juta baris kode). Ia dapat menemukan kerentanan saat kode berubah, sebelum ia masuk ke repositori Anda.
NullAway — Pemeriksa null-pointer berbasis tipe dengan overhead waktu build yang rendah; plugin Rawan Kesalahan.
Pemeriksaan Ketergantungan OWASP — Memeriksa ketergantungan terhadap kerentanan yang diketahui dan diungkapkan secara publik.
qulice — Menggabungkan beberapa alat analisis statis (yang telah dikonfigurasi sebelumnya) (checkstyle, PMD, Findbugs, ...).
RefactorFirst — Mengidentifikasi dan memprioritaskan Kelas Dewa dan kelas Sangat Berpasangan dalam basis kode Java, Anda harus melakukan refaktorisasi terlebih dahulu.
Soot — Kerangka kerja untuk menganalisis dan mentransformasikan aplikasi Java dan Android.
Spoon — Spoon adalah perpustakaan metaprogramming untuk menganalisis dan mengubah kode sumber Java (termasuk Java 9, 10, 11, 12, 13, 14). Ini mem-parsing file sumber untuk membangun AST yang dirancang dengan baik dengan API analisis dan transformasi yang kuat. Dapat diintegrasikan di Maven dan Gradle.
SpotBugs — SpotBugs adalah penerus FindBugs. Alat analisis statis untuk mencari bug dalam kode Java.
stabil — Menganalisis aplikasi Java Anda untuk mencari dependensi sumber terbuka dengan kerentanan yang diketahui, menggunakan analisis statis dan pengujian untuk menentukan konteks kode dan penggunaan untuk akurasi yang lebih baik.
Pelanggaran Lib — Pustaka Java untuk mem-parsing file laporan dari analisis kode statis. Digunakan oleh banyak plugin Jenkins, Maven dan Gradle.
aether
Closure Compiler — Alat kompiler untuk meningkatkan efisiensi, mengurangi ukuran, dan memberikan peringatan kode dalam file JavaScript.
PenutupanLinter
laporan kompleksitas
DeepScan ©️ — Penganalisis untuk JavaScript yang menargetkan kesalahan runtime dan masalah kualitas daripada konvensi pengkodean.
es6-plato
kompleks
Esprima
flow — Pemeriksa tipe statis untuk JavaScript.
hegel — Pemeriksa tipe statis untuk JavaScript dengan bias pada inferensi tipe dan sistem tipe kuat.
jshint — Mendeteksi kesalahan dan potensi masalah dalam kode JavaScript dan menerapkan konvensi pengkodean tim Anda.
JSLint — Alat Kualitas Kode JavaScript.
JSPrime
NodeJSScan — Pemindai kode keamanan statis untuk aplikasi Node.js yang didukung oleh libsast dan semgrep yang dibangun di atas alat njsscan cli. Ini menampilkan UI dengan berbagai dasbor tentang status keamanan aplikasi.
plato
Polymer-analyzer - Kerangka analisis statis untuk Komponen Web.
pensiun.js — Pemindai mendeteksi penggunaan pustaka JavaScript dengan kerentanan yang diketahui.
RSLint
standar — Modul npm yang memeriksa masalah Javascript Styleguide.
tern — Penganalisis kode JavaScript untuk dukungan bahasa lintas editor yang mendalam.
KetikL
xo — Pembungkus ESLint yang berpendirian namun dapat dikonfigurasi dengan banyak barang disertakan. Menerapkan kode yang ketat dan mudah dibaca.
ukuran
JET - Sistem inferensi tipe statis untuk mendeteksi bug dan ketidakstabilan tipe.
StaticLint — Analisis Kode Statis untuk Julia
deteksi — Analisis kode statis untuk kode Kotlin.
diktat — Standar pengkodean yang ketat untuk Kotlin dan linter yang mendeteksi dan memperbaiki bau kode secara otomatis.
ktfmt — Sebuah program yang memformat ulang kode sumber Kotlin agar sesuai dengan standar komunitas umum untuk konvensi kode Kotlin. Plugin ktfmt IntelliJ tersedia dari repositori plugin. Untuk menginstalnya, buka pengaturan IDE Anda dan pilih kategori Plugin. Klik tab Marketplace, cari plugin ktfmt, dan klik tombol Install.
ktlint — Linter Kotlin anti-bikeshedding dengan formatter bawaan.
luacheck — Alat untuk linting dan analisis statis kode Lua.
lualint — lualint melakukan analisis statis berbasis luac terhadap penggunaan variabel global dalam kode sumber Lua.
Analisis Lu
DrNim — DrNim menggabungkan antarmuka Nim dengan mesin bukti Z3 untuk memungkinkan verifikasi/validasi perangkat lunak yang ditulis dalam Nim.
nimfmt — Pemformat kode Nim / linter / pemeriksa gaya
Sys — Alat statis/simbolis untuk menemukan bug dalam kode (browser). Ia menggunakan LLVM AST untuk menemukan bug seperti akses memori yang tidak diinisialisasi.
VeriFast - Alat untuk verifikasi formal modular atas properti kebenaran program C dan Java single-thread dan multithread yang dianotasi dengan prakondisi dan pascakondisi yang ditulis dalam logika pemisahan. Untuk mengekspresikan spesifikasi yang kaya, programmer dapat mendefinisikan tipe data induktif, fungsi murni rekursif primitif atas tipe data ini, dan predikat logika pemisahan abstrak.
CakeFuzzer-Alat Pengujian Keamanan Aplikasi Web untuk aplikasi web berbasis CakhP. CakeFuzzer menggunakan serangkaian serangan yang telah ditentukan sebelumnya yang dimodifikasi secara acak sebelum dieksekusi. Memanfaatkan pemahamannya yang mendalam tentang kerangka kerja PHP kue, kue fuzzer meluncurkan serangan pada semua titik masuk aplikasi potensial.
Churn-PHP-Membantu menemukan kandidat yang baik untuk refactoring.
Composer-Dependency-Analyser-Deteksi cepat masalah ketergantungan komposer.
DEPHPEND - Alat Analisis Ketergantungan.
Detektor-detektor-Menemukan penggunaan kode yang sudah usang (Symfony).
DEPTRAC - Menegakkan aturan untuk dependensi antar lapisan perangkat lunak.
DesignPatternDetector - Deteksi pola desain dalam kode PHP.
EasyCodingStandard-Gabungkan php_codesniffer dan php-cs-fixer.
PENGETAHUAN - Alat analisis statis dan dinamis untuk aplikasi Laravel yang memberikan rekomendasi untuk meningkatkan kinerja, keamanan, dan keandalan kode aplikasi Laravel. Berisi 120 cek otomatis.
EXAKAT - Mesin peninjau kode otomatis untuk PHP.
Grumphp - Memeriksa kode pada setiap komit.
LARASTAN - Menambahkan analisis statis ke Laravel meningkatkan produktivitas pengembang dan kualitas kode. Ini adalah pembungkus di sekitar Phpstan.
Mondrian
Nitpick CI © ️ - Tinjauan Kode PHP Otomatis.
Parallel-Lint-Alat ini memeriksa sintaksis file PHP lebih cepat daripada cek serial dengan output yang lebih baik.
Parse - Pemindai keamanan statis.
PDEPEND - Menghitung metrik perangkat lunak seperti kompleksitas siklomatik untuk kode PHP.
Phan - Penganalisa statis modern dari Etsy.
Tester Arsitektur PHP - Alat pengujian arsitektur yang mudah digunakan untuk PHP.
Asumsi PHP - Memeriksa asumsi yang lemah.
PHP Coding Standard Fixer-Memperbaiki kode Anda sesuai dengan standar seperti PSR-1, PSR-2, dan standar Symfony.
PHP Insights - Pemeriksaan kualitas PHP instan dari konsol Anda. Analisis kualitas kode dan gaya pengkodean serta tinjauan umum arsitektur kode dan kompleksitasnya.
Inspeksi PHP (EA Extended) - Penganalisa kode statis untuk PHP.
PHP Refactoring Browser - Refactoring Helper.
Pemeriksa Versi Semantik PHP
PHP-Parser-Parser PHP yang ditulis dalam PHP.
PHP-Speller-Perpustakaan Periksa Ejaan PHP.
PHP-Token-reflection
php7cc
php7mar
PHP_CODESNIFFER - Mendeteksi pelanggaran dari serangkaian standar pengkodean yang ditentukan.
Phparkitect - Phparkitect membantu Anda menjaga basis kode PHP Anda tetap koheren dan solid, dengan mengizinkan untuk menambahkan beberapa pemeriksaan kendala arsitektur ke alur kerja Anda. Anda dapat mengungkapkan kendala yang ingin Anda tegaskan, dalam kode PHP yang sederhana dan dapat dibaca.
phpca
phpcpd
phpdcd
PHPDependencyanalysis
PHPDeprecationDetector - Analyzer kode PHP untuk mencari masalah dengan fungsionalitas yang sudah usang dalam versi interpreter yang lebih baru. Ia menemukan objek yang dihapus (fungsi, variabel, konstanta, dan disriksi ini), fungsionalitas fungsi yang sudah usang, dan penggunaan nama atau trik terlarang (misalnya pengidentifikasi yang dicadangkan dalam versi yang lebih baru).
phpdoc-to-typehint
PHPDOCUMENT - Menganalisis kode sumber PHP untuk menghasilkan dokumentasi.
PhPLOC - Alat untuk dengan cepat mengukur ukuran dan menganalisis struktur proyek PHP.
PHPMD - Menemukan kemungkinan bug dalam kode Anda.
PHPMetrics - Menghitung dan memvisualisasikan berbagai metrik kualitas kode.
phpmnd - membantu mendeteksi angka ajaib.
Phpqa
PHPQA - Jakzal - Banyak alat untuk analisis statis PHP dalam satu wadah.
PHPQA-JMOLIVAS-PHPQA All-in-One Analyzer CLI Tool.
phpsa
PHPSTAN - Alat Analisis Statis PHP - Temukan bug di kode Anda tanpa menjalankannya!
Progpilot - Alat analisis statis untuk tujuan keamanan.
Mazmur - Alat analisis statis untuk menemukan kesalahan jenis dalam aplikasi PHP.
Analyzer Kualitas Qafoo
Rektor - Peningkatan instan dan refactoring otomatis dari kode PHP 5.3+ apa pun. Ini meningkatkan kode Anda untuk PHP 7.4, 8.0 dan seterusnya. Rektor menjanjikan tingkat positif palsu yang rendah karena mencari pola AST (sintaks abstrak) yang didefinisikan secara sempit. Kasus penggunaan utama adalah menangani utang teknis dalam kode warisan Anda dan menghapus kode mati. Rektor memberikan seperangkat aturan khusus untuk Symfony, Doktrin, Phpunit, dan banyak lagi.
Refleksi - Perpustakaan Refleksi untuk melakukan analisis statis untuk proyek PHP
Symfony Insight © ️ - Mendeteksi risiko keamanan, temukan bug dan berikan metrik yang dapat ditindaklanjuti untuk proyek PHP.
Tuli - mesin analisis statis.
Twig-Lint-Twig-Lint adalah alat serat untuk file ranting Anda.
WAP - Alat untuk mendeteksi dan memperbaiki kerentanan validasi input dalam aplikasi web PHP (4.0 atau lebih tinggi) dan memprediksi positif palsu dengan menggabungkan analisis statis dan penambangan data.
Perl :: Analyzer-Perl-Analyzer adalah serangkaian program dan modul yang memungkinkan pengguna untuk menganalisis dan memvisualisasikan basis kode Perl dengan memberikan informasi tentang ruang nama dan hubungan, ketergantungan, warisan, dan metode yang diterapkan, diwariskan, dan didefinisikan ulang dalam paket, juga, juga paket yang diwariskan dalam paket, sebagai panggilan ke metode dari paket induk melalui Super.
Perl :: kritik-kritik kode sumber perl untuk praktik terbaik.
Perltidy - Perltidy adalah skrip Perl yang mengindir dan memformat skrip Perl untuk membuatnya lebih mudah dibaca. Pemformatan dapat dikontrol dengan parameter baris perintah. Pengaturan parameter default kira -kira mengikuti saran dalam panduan gaya Perl. Selain memformat ulang skrip, Perltidy dapat sangat membantu dalam melacak kesalahan dengan kawat gigi yang hilang atau ekstra, tanda kurung, dan kurung persegi karena sangat baik dalam melokalisasi kesalahan.
ZARN - Alat analisis keamanan statis ringan untuk aplikasi Perl modern
Autoflake - Autoflake menghapus impor yang tidak digunakan dan variabel yang tidak digunakan dari Kode Python.
AUTOPEP8 - Alat yang secara otomatis memformat kode Python agar sesuai dengan panduan gaya PEP 8. Ini menggunakan utilitas pycodestyle untuk menentukan bagian mana dari kode yang perlu diformat.
Bandit - Alat untuk menemukan masalah keamanan umum dalam kode Python.
BELLYBUTTON-Mesin berbaris yang mendukung aturan khusus proyek khusus.
Hitam - Formatter Kode Python tanpa kompromi.
Bowler - Kode aman refactoring untuk Python modern. Bowler adalah alat refactoring untuk memanipulasi ular sanca di tingkat pohon sintaksis. Ini memungkinkan modifikasi kode skala besar yang aman sambil menjamin bahwa kode yang dihasilkan mengkompilasi dan berjalan. Ini menyediakan antarmuka baris perintah sederhana dan API yang lancar dalam python untuk menghasilkan modifikasi kode kompleks dalam kode.
Ciocheckpep8
, pydocstyle
, flake8
, dan pylint
.
kohesi
Kesepakatan - Desain dengan kontrak untuk Python. Tulis kode bebas bug. Dengan menambahkan beberapa dekorator ke kode Anda, Anda mendapatkan tes gratis, analisis statis, verifikasi formal, dan banyak lagi.
DLINT - Alat untuk memastikan kode Python aman.
Dodgy - Dodgy adalah alat yang sangat mendasar untuk menjalankan basis kode Anda untuk mencari nilai yang terlihat "cerdik". Ini adalah serangkaian ekspresi reguler sederhana yang dirancang untuk mendeteksi hal -hal seperti checkin Diff SCM yang tidak disengaja, atau kata sandi atau kunci rahasia yang dikodekan ke dalam file.
Enre-py
FIXIT-Kerangka kerja untuk membuat aturan serat dan perbaikan otomatis yang sesuai untuk kode sumber.
Flake8 - Pembungkus di sekitar pyflakes
, pycodestyle
dan mccabe
.
Flakeheaven - Flakeheaven adalah linter ular piton yang dibangun di sekitar Flake8 untuk memungkinkan konfigurasi toml yang dapat diwariskan dan kompleks.
Griffe - Tanda tangan untuk seluruh program Python. Ekstrak struktur, bingkai, kerangka proyek Anda, untuk menghasilkan dokumentasi API atau temukan perubahan dalam API Anda.
Inspectortiger
Jedi - Perpustakaan Analisis Autocompletion/Statis untuk Python.
Linty Fresh - Parse kesalahan serat dan laporkan ke Github sebagai komentar pada permintaan tarik.
McCabe - Periksa kompleksitas McCabe.
multilintflake8
, isort
dan modernize
.
Mypy - Pemeriksa tipe statis yang bertujuan untuk menggabungkan manfaat pengetikan bebek dan pengetikan statis, sering digunakan dengan MonkeyType.
Prospector - Sebuah pembungkus di sekitar pylint
, pep8
, mccabe
dan lainnya.
Injeksi Py-Find
Pyanalyze - Alat untuk secara terprogram mendeteksi kesalahan umum dalam kode Python, seperti referensi ke variabel yang tidak ditentukan dan jenis kesalahan. Dapat diperluas untuk menambahkan aturan tambahan dan melakukan pemeriksaan khusus untuk fungsi tertentu.
PyCodequal © ️ - PyCodequal memberi Anda wawasan tentang kompleksitas dan risiko bug. Ini menambahkan ulasan otomatis ke permintaan tarik Anda.
Pycodestyle - (sebelumnya pep8
) Periksa kode Python terhadap beberapa konvensi gaya di Pep 8.
Pydocstyle
Pyflakes - Periksa file sumber Python untuk kesalahan.
Pylint - Mencari kesalahan pemrograman, membantu menegakkan standar pengkodean dan mengendus untuk beberapa kode bau. Selain itu termasuk pyreverse
(generator diagram UML) dan symilar
(pemeriksa kesamaan).
Pylyzers - Penganalisa kode statis / server bahasa untuk Python, ditulis dalam karat, berfokus pada pemeriksaan jenis dan output yang dapat dibaca.
PETRE-CHECK-Pemeriksa tipe yang cepat dan dapat diskalakan untuk basis kode python besar.
Pyright - Pemeriksa tipe statis untuk Python, dibuat untuk mengatasi celah dalam alat yang ada seperti Mypy.
Pyroma
PYSA-Alat yang didasarkan pada pemeriksaan pyre Facebook untuk mengidentifikasi masalah keamanan potensial dalam kode Python yang diidentifikasi dengan analisis ternoda.
Pyt - Python Taint
PyType - Analisis tipe statis untuk kode Python.
pyupgrade-alat (dan kait pra-komit) untuk secara otomatis meningkatkan sintaks untuk versi bahasa yang lebih baru.
Kode Kodefikasinya
Radon - Alat Python yang menghitung berbagai metrik dari kode sumber.
Refurb - Alat untuk memperbarui dan memodernisasi basis kode Python. Refurb sangat terinspirasi oleh Clippy, linter bawaan untuk karat.
Ruff - linter python cepat, ditulis dengan karat. 10-100x lebih cepat dari linter yang ada. Kompatibel dengan Python 3.10. Mendukung File Watcher.
Unimport - linter, formatter untuk menemukan dan menghapus pernyataan impor yang tidak digunakan.
Hering - Temukan kelas, fungsi, dan variabel yang tidak digunakan dalam kode Python.
Wemake-Python-styleguide-linting Python yang paling ketat dan paling banyak berpendapat.
cerdik