更新時間:2021-10-28 11:26:24 來源:動力節(jié)點 瀏覽2566次
Java代碼檢查工具有很多,小編來給大家進行介紹:
這是一個很好的提高軟件質量的工具(Eclipse 插件)。它具有下一個關鍵特性:代碼分析、JUnit 測試生成、JUnit 測試編輯器、類似代碼分析、指標、代碼覆蓋率和依賴關系分析。
它掃描 Java 源代碼并查找潛在問題:可能的錯誤、死代碼、次優(yōu)代??碼、過度復雜的表達式和重復代碼。
它查找 Java 程序中的錯誤。它可以檢測各種常見的編碼錯誤,包括線程同步問題、API 方法的濫用等。
它是一個免費的 Java 工具,用于計算測試訪問的代碼百分比。它可用于識別 Java 程序的哪些部分缺乏測試覆蓋率。它基于jcoverage。
是一個基于字節(jié)碼插裝的快速Java代碼覆蓋工具。它與現(xiàn)有工具的不同之處在于,它支持對大型企業(yè)軟件項目進行覆蓋分析,同時強調快速的個人開發(fā)。
它是一種幫助程序員編寫符合編碼標準的 Java 代碼的開發(fā)工具。
JBoss Tattletale 是一種工具,可以幫助您大致了解您正在從事的項目或您依賴的產(chǎn)品。該工具將遞歸掃描 JAR 文件的目錄并生成鏈接和格式化的 HTML 報告。
UCDetector(Unecessary Code Detector)是一個開源的eclipse插件工具,用于查找不必要的(死的)java代碼。它還嘗試使代碼成為最終的、受保護的或私有的。UCDetector 還發(fā)現(xiàn)類之間的循環(huán)依賴。
Sonar 是Java 應用程序的持續(xù)質量控制工具。它在生活中的基本目的是加入您現(xiàn)有的持續(xù)集成工具,將您的所有開發(fā)項目置于質量控制之下。
XRadar 是一種開放的可擴展代碼報告工具,可生成系統(tǒng)當前狀態(tài)和隨時間發(fā)展的 HTML/SVG 報告。使用 DependencyFinder、JDepend、PMD、PMD-CPD、JavaNCSS、Cobertura、Checkstyle、XSource、JUnit、Java2HTML、ant 和 maven。
QALab 整合來自 Checkstyle、PMD、FindBugs 和 Simian 的數(shù)據(jù),并將其顯示在一個整合的視圖中。QALab 會跟蹤隨時間發(fā)生的變化,從而讓您可以查看隨時間變化的趨勢。您可以根據(jù)天氣情況判斷違規(guī)次數(shù)的增加或減少——基于每個文件,或針對整個項目。它還繪制了這些數(shù)據(jù)的圖表。QALab 插入到 maven 或 ant。
Clirr 是一種工具,用于檢查 Java 庫與舊版本的二進制和源代碼兼容性。基本上你給它兩組 jar 文件,然后 Clirr 轉儲出公共 api 中的更改列表。如果檢測到不兼容的 api 更改,可以將 Clirr Ant 任務配置為中斷構建。在持續(xù)集成過程中,Clirr 可以自動防止意外引入二進制或源代碼兼容性問題。
JDiff 是一個 Javadoc doclet,當比較兩個 API 時,它會生成包含以任何方式刪除、添加或更改的所有包、類、構造函數(shù)、方法和字段的 HTML 報告,包括它們的文檔。這對于準確描述產(chǎn)品的兩個版本之間發(fā)生的變化非常有用。僅比較每個版本的 API(應用程序編程接口)。它不會比較源代碼在執(zhí)行時所做的事情。
它通過進行數(shù)據(jù)流分析和構建鎖圖來檢查您的 Java 代碼并發(fā)現(xiàn)錯誤、不一致和同步問題。
JDepend 遍歷 Java 類文件目錄并為每個 Java 包生成設計質量指標。JDepend 允許您在可擴展性、可重用性和可維護性方面自動衡量設計的質量,以有效管理和控制包依賴性。
cloc 計算許多編程語言中源代碼的空行、注釋行和物理行。
Dependometer 對軟件系統(tǒng)內的物理依賴性進行靜態(tài)分析。Dependometer 根據(jù)將系統(tǒng)構建為類、包、子系統(tǒng)、垂直切片和層的邏輯架構來驗證依賴關系,并檢測這些結構元素之間的循環(huán)。此外,它計算不同抽象層上的許多質量指標,并報告任何違反配置閾值的情況。
Hammurapi 是一個開源代碼檢查工具。它的發(fā)布附帶了 100 多個檢查員,他們檢查代碼的不同方面:符合 EJB 規(guī)范、線程問題、編碼標準等等。
JavaNCSS 是一個簡單的命令行實用程序,它測量 Java 編程語言的兩個標準源代碼指標。為每個類和/或每個功能全局收集度量。
DCD 在您的 Java 應用程序中查找死代碼。
Classycle 的 Analyzer 分析 Java 應用程序或庫中的靜態(tài)類和包依賴關系。它對于查找類或包之間的循環(huán)依賴關系特別有用。Classycle 類似于 JDepend,后者也進行依賴項分析,但僅在包級別進行。
程序 ckjm通過處理編譯的 Java 文件的字節(jié)碼來計算 Chidamber 和 Kemerer 面向對象的度量。該程序為每個類計算 Chidamber 和 Kemerer 提出的以下六個指標。
Jameleon 是一個自動化測試框架,技術和非技術用戶都可以輕松使用。Jameleon 背后的一個主要概念是創(chuàng)建一組代表應用程序不同屏幕的關鍵字或標簽。自動化每個特定屏幕所需的所有邏輯都可以在 Java 中定義并映射到這些關鍵字。然后可以使用不同的數(shù)據(jù)集組織關鍵字以形成測試腳本,而無需深入了解應用程序的工作原理。然后使用測試腳本來自動化測試并生成手動測試用例文檔。
DoctorJ 在以下功能領域分析 Java 代碼:文檔驗證、統(tǒng)計生成和語法分析。
Macker 是面向 Java 開發(fā)人員的構建時架構規(guī)則檢查實用程序。它旨在為程序員總是為他們的項目夢想的架構理想建模,然后打破——它有助于保持代碼干凈和一致。您可以定制一個規(guī)則文件以適應特定項目的結構,或者為您的代碼編寫一些通用的“良好實踐”規(guī)則。Macker 不會試圖把其他人的規(guī)則塞進你的喉嚨;它很靈活,編寫規(guī)則文件是每個獨特項目開發(fā)過程的一部分。
Squale 是一個質量測量平臺,它允許分析多語言軟件應用程序,以便對其質量進行清晰而全面的描述:高層管理人員的高級因素和開發(fā)團隊的實用指標。
免費軟件程序 SourceMonitor 可讓您查看軟件源代碼內部,以了解您擁有多少代碼并確定模塊的相對復雜性。例如,您可以使用 SourceMonitor 來識別最有可能包含缺陷并因此需要正式審查的代碼。
Panopticcode 項目提供了一套開源工具,用于收集、關聯(lián)和顯示代碼指標。
為Eclipse 平臺提供指標計算和依賴分析器插件。用平均偏差和標準偏差測量各種指標,并檢測包和類型依賴項中的循環(huán)并繪制它們。
QJ-Pro 是一款面向軟件開發(fā)人員的綜合軟件檢查工具。開發(fā)人員可以在編寫程序時自動檢查他們的 Java 源代碼并提高他們的 Java 編程技能。QJ-Pro 提供了描述性 Java 模式,解釋了容易出錯的代碼結構并為其提供了解決方案。
Byecycle 是一個自動排列的Eclipse 依賴分析插件。它的目標是當你看到糟糕的代碼時讓你感到惡心,當你看到好的代碼時讓你感到高興。
Coqua 測量了 5 個不同的 Java 代碼質量指標,為管理人員提供了概述和歷史記錄,并為開發(fā)人員提供了深入代碼的詳細視圖。可以為每個團隊定義指標。非常適合大中型和/或海上項目。
從大多數(shù) Java 編譯器生成的 Java 類文件中提取依賴項和 OO 指標。
Jalopy 是一種易于配置的源代碼格式化程序,它可以檢測和修復可能出現(xiàn)在 Java 代碼中的許多代碼約定缺陷。Jalopy 與其說是代碼檢查器,不如說是代碼修復器。Jalopy 插件適用于大多數(shù) IDE,并且在大多數(shù)情況下,它們與 IDE 無縫銜接。
JarAnalyzer 是一個 .jar 文件的依賴管理工具。JarAnalyzer 將分析給定目錄中的所有 .jar 文件并確定每個文件之間的依賴關系。輸出格式包括 xml(包含將其轉換為 html 的樣式表)和 GraphViz DOT(允許您生成顯示 .jar 文件之間關系的可視組件圖)。xml 輸出包括重要的設計指標,例如傳入和傳出耦合、抽象性、不穩(wěn)定性和距離。還有一個 Ant 任務可用,它允許您將 JarAnalyzer 作為構建腳本的一部分。
Condenser 是一種用于查找和刪除重復 Java 代碼的工具。與只定位重復代碼的工具不同,Condenser 的目標是在安全的地方自動刪除重復代碼。
Relief 為 Java 項目提供了新的面貌。依靠我們通過檢查它們的形狀、大小或在空間中的相對位置來處理真實對象的能力,它提供了關于 java 包、類型和字段及其關系的“物理”視圖,使它們更容易處理。讓我們快速討論我們如何解釋物理屬性以及它如何幫助我們掌握項目特征。
JCSC 是一個強大的工具,可以根據(jù)高度可定義的編碼標準和潛在的不良代碼檢查源代碼。該標準涵蓋了類、接口、字段、參數(shù)等的命名約定。還可以定義類型(類/接口)的結構布局。就像放置字段的位置一樣,在方法之前或之后以及以什么順序。順序可以通過可見性或類型(實例、類、常量)來定義。這同樣適用于方法。這些規(guī)則中的每一個都是高度可定制的。通過定義在代碼中放置空格的位置以及何時使用大括號來增強可讀性。正確的JavaDoc 的存在可以被強制執(zhí)行和不同級別。除此之外,它還發(fā)現(xiàn)了代碼中的弱點——潛在的錯誤——比如空的 catch/finally 塊、沒有默認值的 switch、拋出“異常”類型、緩慢的代碼。
Spoon 是一個完全支持 Java 5 的 Java 程序處理器。它提供了一個完整的、細粒度的 Java 元模型,可以訪問任何程序元素(類、方法、字段、語句、表達式……)以進行讀取和修改。Spoon 可用于驗證目的,通過使用純 Java 模板引擎來確保您的程序遵守某些編程約定或準則,或用于程序轉換。
Lint4j('Lint for Java')是一個靜態(tài)Java源代碼和字節(jié)碼分析器,它檢測鎖定和線程問題、性能和可擴展性問題,并通過執(zhí)行類型、數(shù)據(jù)流和鎖圖來檢查Java序列化等復雜契約分析。
Crap4j 是 CRAP(變更風險分析和預測)軟件指標的 Java 實現(xiàn) - 一個溫和的指標名稱,可幫助保護您免受真正令人反感的代碼的侵害。
Java PathFinder (JPF) 是一個驗證可執(zhí)行Java 字節(jié)碼程序的系統(tǒng)。在其基本形式中,它是一個 Java 虛擬機 (JVM),用作顯式狀態(tài)軟件模型檢查器,系統(tǒng)地探索程序的所有潛在執(zhí)行路徑,以查找違反屬性的行為,例如死鎖或未處理的異常。與傳統(tǒng)調試器不同,JPF 報告導致缺陷的整個執(zhí)行路徑。JPF 特別適合在多線程程序中查找難以測試的并發(fā)缺陷
Soot 可用作優(yōu)化或檢查類文件的獨立工具,也可用作開發(fā) Java 字節(jié)碼優(yōu)化或轉換的框架。
Java 版本 2 的擴展靜態(tài)檢查器 (ESC/Java2) 是一種Java編程工具,它試圖通過對程序代碼及其形式注釋的靜態(tài)分析來查找?guī)в?JML 注釋的 Java 程序中常見的運行時錯誤。用戶可以通過使用稱為 pragma 的特殊格式注釋注釋他們的程序來控制 ESC/Java2 執(zhí)行的檢查數(shù)量和類型。