靜態(tài)分析工具大集合

摘自http://t.cn/Rfc4sr3

靜態(tài)程序分析(Static program analysis)是指在不運行計算機程序的條件下震束,進行程序分析的方法。有些程序分析需要在程序運行時才能進行返咱,這種程序分析稱為動態(tài)程序分析。大部分的靜態(tài)程序分析的對象是針對特定版本的源代碼策吠,也有些靜態(tài)程序分析的對象是目標代碼茄猫。靜態(tài)程序分析一詞多半是指配合靜態(tài)程序分析工具進行的分析,人工進行的分析一般稱為程序理解或代碼審查列牺。 — 維基百科

這是一個靜態(tài)分析工具大集合整陌,其中[OSS]代表開源軟件,[PROPRIETARY]代表付費軟件瞎领,歡迎各位補充泌辫。

C/C++

CMetrics[OSS] – 測算C文件的大小及復雜性

cqmetrics[OSS] – C代碼的質量度量工具

clang-tidy[OSS] – clang靜態(tài)分析

cppcheck[OSS] – C/C++代碼靜態(tài)分析

flawfinder[OSS] – 尋找可能存在的安全漏洞

flint++[OSS] – 跨平臺, 無依賴端口的flint, 由C++程序開發(fā),F(xiàn)acebook也在用

oclint[OSS] – C/C++代碼靜態(tài)分析

splint[OSS] – C/C++代碼靜態(tài)分析

tis-interpreter[OSS] – 由標準C寫的一款用于尋找敏感bug的解釋器

vera++[OSS] – Vera++是一個可用于驗證九默,分析以及變換C++源代碼的可編程工具

C

Code Analysis Rule Collection[OSS] – 包含一組特征, 代碼修復以及在Microsoft .NET編譯器平臺”Roslyn”進行了重構

code-cracker[OSS] – 一款適用于C#和VB的分析庫震放,且使用Roslyn進行重構, 代碼分析

CSharpEssentials[OSS] – C# Essentials是一個Roslyn特征分析程序集合, 代碼修復以及進行重構讓其更能適應C# 6語言的特性

Designite[PROPRIETARY] – Designite是一款設計質量評估工具,測算各種各樣的代碼質量度量以及趨勢分析

Gendarme[OSS] – Gendarme 檢測包含在ECMA CIL 格式 (Mono and .NET)中的項目以及函數(shù)庫荤西,尋找出代碼中會出現(xiàn)的一些常見問題(編譯器一般不會檢測的問題)

.NET Analyzers[OSS] – 一個專注于開發(fā)分析器的組織(特征, 代碼修復, 重構) ,使用.NET編譯平臺

SonarLint for Visual Studio[OSS] – SonarLint是Visual Studio 2015中的一個擴展伍俘,其支持向開發(fā)者動態(tài)反饋新bug以及將質量問題注入.NET代碼

Refactoring Essentials[OSS] – Visual Studio 2015擴展用于C#以及VB.NET重構, 提供有關代碼質量的建議

ReSharper[PROPRIETARY] – 擴展Visual Studio支持動態(tài)代碼檢測C#, VB.NET, ASP.NET, JavaScript, TypeScript以及其他技術

VSDiagnostics[OSS] – 一個基于Roslyn且集成了VS的靜態(tài)分析器集合

Wintellect.Analyzers[OSS] – Wintellect寫的.NET編譯平臺(“Roslyn”) 特征分析器以及代碼修復工具

容器

clair[OSS] – 用于容器的漏洞靜態(tài)分析

collector[OSS] – 容器內(nèi)運行任意腳本,然后收集可用信息

Haskell Dockerfile Linter[OSS] – 一款智能Dockerfile linter邪锌,可以幫助你構建Docker鏡像最佳實踐

CSS

CSS Stats[OSS] – 在樣式表中潛在有趣的統(tǒng)計數(shù)據(jù)

Parker[OSS] – 樣式表分析工具

scsslint[OSS] – SCSS文件小工具

Specificity Graph[OSS] – CSS特征性圖表生成器

Stylelint– [OSS] – SCSS/CSS文件小工具

Elixir

credo[OSS] – 一款專注于教學以及代碼相容性的靜態(tài)代碼分析工具

Go

dingo-hunter[OSS] – 用于在Go程序中找出deadlocks的靜態(tài)分析器

flen[OSS] – 在Go程序包中獲取函數(shù)長度信息

go/ast[OSS] – Package ast聲明了關于Go程序包用于表示語法樹的類型

gocyclo[OSS] – 在Go源代碼中測算cyclomatic函數(shù)復雜性

Go Meta Linter[OSS] – 同時Go lint工具且工具的輸出標準化

go vet[OSS] – 檢測Go源代碼并報告可疑的構造

ineffassign– 在Go代碼中檢測無效賦值

safesql[OSS] – Golang靜態(tài)分析工具,防止SQL注入

Groovy

CodeNarc[OSS] – 一款Groovy源代碼靜態(tài)分析工具, 授權檢驗和執(zhí)行大多數(shù)編碼編著以及最佳實踐癌瘾。

Haskell

HLint[OSS] – HLint是一款提高Haskell代碼質量的工具

HTML

HTMLHint[OSS] – HTML靜態(tài)代碼分析工具

HTML Inspector[OSS] – HTML Inspector是一款代碼質量工具觅丰,用以幫助你的團隊寫出更好的代碼

Java

checkstyle[OSS] – 檢測Java源代碼以堅持一個代碼標準或者一組驗證規(guī)則(最佳實踐)

ckjm[OSS] – 通過處理編譯好的Java文件的字節(jié)碼來計算Chidamber和Kemerer面向對象度量工具

Error-prone[OSS] – 隨著編譯時錯誤信息捕獲Java常見的錯誤

fb-contrib[OSS] – FindBugs的一個插件,支持額外的bug檢測

Findbugs[OSS] – FindBugs是一個從Java程序中找到bugs的工具妨退,它的查找模式可能存在誤差

find-sec-bugs[OSS] – IDE/Sonarcube插件用于Java web應用程序的安全審計

HuntBugs[OSS] – 基于Procyon編譯工具的字節(jié)碼靜態(tài)分析器妇萄,旨在取代FindBugs.

PMD[OSS] – Java源代碼分析器

JavaScript

aether[OSS] – 程序集, 分析, 標準化, 重構, 沙盒, 運行, 單步調試, 以及可視化

ClosureLinter[OSS] – 確保你項目的所有JavaScript代碼遵循Google Javascript樣式指南蜕企,同時他還可以自動修復許多常見錯誤

complexity-report[OSS] – 針對JavaScript項目的軟件復雜性分析

escomplex[OSS] – 針對JavaScript系的抽象語法樹軟件復雜性分析

eslint[OSS] – 在Javascript代碼中對模式進行識別及報告

Esprima[OSS] – ECMAScript解析標準,支持多用途分析

quality[OSS] – 零配置代碼和模塊化程序集

jshint[OSS] – 檢測JavaScript代碼中的錯誤及潛在問題冠句,并執(zhí)行你的團隊約定好的編碼方式轻掩。

JSLint[PROPRIETARY] – JavaScript代碼質量工具

plato[OSS] – JavaScript可視化源代碼復雜度

yardstick[OSS] – Javascript代碼度量工具

XO[OSS] – 執(zhí)行嚴格的代碼風格.

Lua

luacheck[OSS] – Lua代碼靜態(tài)分析工具

Makefile

portlint[OSS] – FreeBSD及DragonFlyBSD端口目錄驗證器

Packages

lintian[OSS] – Debian程序包靜態(tài)分析工具

Perl

Perl::Critic[OSS] – Perl源代碼最佳實踐

PHP

DesignPatternDetector[OSS] – 在PHP代碼中檢測設計模式

deptrac[OSS] – 在軟件層之間執(zhí)行依賴規(guī)則

exakat[OSS] – PHP自動化代碼審查引擎

GrumPHP[OSS] – 檢測每次提交的代碼

phan[OSS] – 來自etsy的現(xiàn)代化靜態(tài)分析器

php7cc[OSS] – PHP 7 兼容性檢查器

php7mar[OSS] – 幫助開發(fā)者快速將代碼移植到PHP 7

phpcpd[OSS] – 針對PHP代碼的復制/粘貼檢測工具.

PHP_CodeSniffer[OSS] – 檢測違反定義的編碼標準

phpdcd[OSS] – 針對PHP代碼的無作用代碼檢測工具

PhpDependencyAnalysis[OSS] – 為項目創(chuàng)建一個依賴關系圖標

Php Inspections (EA Extended)[OSS] – PHP靜態(tài)代碼分析工具

phpsa[OSS] – PHP靜態(tài)分析工具

PHPMD[OSS] – 在你的代碼中尋找可能出現(xiàn)的bug

PhpMetrics[OSS] – 預測代碼的復雜性度量

PHPQA[OSS] – 一款用于運行QA工具(phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics)的工具

PHP Refactoring Browser[OSS] – 重構助手

PHP-Token-Reflection[OSS] – 函數(shù)庫模擬PHP內(nèi)部反射

PHP-Parser[OSS] – PHP寫的一款PHP解析器

RIPS[OSS] – 一款用于PHP腳本漏洞的靜態(tài)源代碼分析工具

Tuli[OSS] – 靜態(tài)分析引擎

Python

bandit[OSS] – 在Python代碼中尋找常見安全問題的工具

jedi[OSS] – Python自動化/靜態(tài)分析函數(shù)庫

mccabe[OSS] – 檢測McCabe復雜性

mypy[OSS] – Python靜態(tài)類型分析工具,旨在結合動態(tài)類型及靜態(tài)類型的優(yōu)點

py-find-injection[OSS] – 從Python代碼中尋找SQL注入漏洞

pycodestyle[OSS] – (formerly pep8) Python風格檢查工具

pydocstyle[OSS] – Python docstring風格檢查工具

pyflakes[OSS] – 檢測Python源文件中的錯誤

pylint[OSS] – 尋找程序錯誤, 有助于執(zhí)行編碼標準以及嗅探代碼異味. 此外它還包括pyreverse (UML圖表生成器)以及symilar (一個類似的檢測工具). 以及可選的擴展

pyroma[OSS] – 評估Python項目懦底,并列出問題幫助提高代碼質量

vulture[OSS] – 尋找Python代碼中未使用的類,函數(shù)唇牧,變量

xenon[OSS] – 使用radon監(jiān)控代碼復雜度

R

lintr[PROPRIETARY] – R靜態(tài)代碼分析工具

Ruby

brakeman[OSS] – Ruby on Rails應用的一個靜態(tài)分析安全漏洞掃描工具

cane[OSS] – 代碼質量標準檢查

dawnscanner[OSS] – ruby寫的靜態(tài)分析安全掃描器,支持Sinatra, Padrino以及Ruby on Rails框架

flay[OSS] – Flay 分析代碼結構相似之處

flog[OSS] – Flog在一個易于閱讀的報告中點出大多數(shù)不合規(guī)則的代碼聚唐,評價分數(shù)越高丐重,代碼就越糟糕

laser[OSS] – Ruby代碼的風格小工具集和靜態(tài)分析工具

Mondrian[OSS] – 靜態(tài)分析及重構工具

pelusa[OSS] – 靜態(tài)分析Lint-type工具用以改善你的Ruby面向對象代碼

quality[OSS] – 使用社區(qū)工具在你的代碼中運行質量檢測

reek[OSS] – Ruby代碼異味檢測工具

rubocop[OSS] – Ruby靜態(tài)代碼分析工具, 基于Ruby社區(qū)風格指南

rubycritic[OSS] – Ruby代碼質量報告工具

ruby-lint[OSS] – Ruby靜態(tài)代碼分析工具

SandyMeter[OSS] – 用于檢測遵循Sandi Metz規(guī)則的Ruby代碼的靜態(tài)分析工具

Rust

clippy[OSS] – 一個代碼小工具集用于捕獲常見錯誤,以及提高Rust代碼質量

electrolysis[OSS] – 驗證Rust程序的工具

herbie[OSS] – 當使用一個不穩(wěn)定的浮點表達式時增加警告或者錯誤

linter-rust[OSS] – Atom擴展杆查,列出你的Rust文件扮惦。使用rustc和cargo

rustfix[OSS] – 讀取和應用由rustc提出的建議

Shell

shellcheck[OSS] – ShellCheck, 一個精通分析工具,為bash/sh shell腳本提出警告和建議

SQL

sqlint[OSS] – 簡單的SQL工具集

Swift

SwiftLint[OSS] – 執(zhí)行Swift編碼風格和約定的工具

Tailor[OSS] – 一個用Swift程序語言寫的靜態(tài)分析工具及源代碼工具集

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亲桦,一起剝皮案震驚了整個濱河市崖蜜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌烙肺,老刑警劉巖纳猪,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異桃笙,居然都是意外死亡氏堤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門搏明,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鼠锈,“玉大人,你說我怎么就攤上這事星著」喊剩” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵虚循,是天一觀的道長同欠。 經(jīng)常有香客問我,道長横缔,這世上最難降的妖魔是什么铺遂? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮茎刚,結果婚禮上襟锐,老公的妹妹穿的比我還像新娘。我一直安慰自己膛锭,他們只是感情好粮坞,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布蚊荣。 她就那樣靜靜地躺著,像睡著了一般莫杈。 火紅的嫁衣襯著肌膚如雪互例。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天姓迅,我揣著相機與錄音敲霍,去河邊找鬼。 笑死丁存,一個胖子當著我的面吹牛肩杈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播解寝,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼扩然,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了聋伦?” 一聲冷哼從身側響起夫偶,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎觉增,沒想到半個月后兵拢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡逾礁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年说铃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘹履。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡腻扇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出砾嫉,到底是詐尸還是另有隱情幼苛,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布焕刮,位于F島的核電站舶沿,受9級特大地震影響,放射性物質發(fā)生泄漏配并。R本人自食惡果不足惜括荡,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荐绝。 院中可真熱鬧一汽,春花似錦避消、人聲如沸低滩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恕沫。三九已至监憎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間婶溯,已是汗流浹背鲸阔。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留迄委,地道東北人褐筛。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像叙身,于是被迫代替她去往敵國和親渔扎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 簡介 本文是一個靜態(tài)代碼分析工具的清單信轿,但是為公司產(chǎn)品晃痴,需要付費使用。共有37個公司财忽,有些公司包含多個工具倘核。其中2...
    煙花詩人閱讀 3,598評論 0 0
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,130評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)即彪,斷路器紧唱,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 無論何時你回憶這些記錄,甚至是從今以后的一年里回顧這些記錄祖凫,你略微一瞥就能看出哪些想法和語言是作者的和哪些是你的琼蚯。...
    柳濤虹閱讀 71評論 0 1
  • 1.不因為他的家財萬貫 不因為他的學識豐富 只是因為聽見他的聲音 或只是見了一眼 心里的薔薇花都盛開了 之后所有的...
    燦妮白閱讀 243評論 0 0