이 저장소에는 모든 프로그래밍 언어, 빌드 도구, 구성 파일 등에 대한 정적 분석 도구가 나열되어 있습니다. 린터, 포맷터 등 코드 품질을 향상시키는 도구에 중점을 두고 있습니다. 공식 웹사이트인 analyze-tools.dev는 이 저장소를 기반으로 하며 각 도구에 대한 순위, 사용자 의견 및 비디오와 같은 추가 리소스를 추가합니다.
이 프로젝트는 후원자들의 아낌없는 지원이 없었다면 불가능했을 것입니다.
이 프로젝트를 지원하고 싶다면 Github 스폰서 페이지로 이동하세요.
풀 리퀘스트는 매우 환영합니다!
또한 자매 프로젝트인 awesome-dynamic-analyse도 확인해 보세요.
abaplint — TypeScript로 작성된 ABAP용 Linter입니다.
abapOpenChecks — 새로운 사용자 정의 가능한 검사로 SAP Code Inspector를 향상합니다.
Codepeer ©️ — 런타임 및 논리 오류를 감지합니다.
Ada용 Polyspace ©️ — 소스 코드에 오버플로, 0으로 나누기, 범위를 벗어난 배열 액세스 및 기타 특정 런타임 오류가 없음을 증명하는 코드 검증을 제공합니다.
SPARK ©️ — Ada를 위한 정적 분석 및 공식 검증 도구 세트입니다.
Astrée ©️ — Astrée는 C/C++ 애플리케이션에서 런타임 오류와 유효하지 않은 동시 동작이 없음을 자동으로 증명합니다. 부동 소수점 계산에 적합하며 매우 빠르고 매우 정확합니다. 또한 이 분석기는 MISRA/CERT/CWE/Adaptive Autosar 코딩 규칙을 확인하고 ISO 26262, DO-178C 레벨 A 및 기타 안전 표준에 대한 자격을 지원합니다. Jenkins 및 Eclipse 플러그인을 사용할 수 있습니다.
CBMC — C 프로그램, 사용자 정의 어설션, 표준 어설션, 여러 적용 범위 측정 분석을 위한 제한된 모델 검사기입니다.
clang-tidy — 문제를 해결할 수 있는 (제한된) 기능을 갖춘 Clang 기반 C++ 린터 도구입니다.
clazy — Clang 프레임워크를 기반으로 하는 Qt 지향 정적 코드 분석기입니다. clazy는 clang이 Qt 의미를 이해할 수 있게 해주는 컴파일러 플러그인입니다. 불필요한 메모리 할당부터 자동 리팩터링을 위한 수정을 포함하여 API 오용에 이르기까지 50개 이상의 Qt 관련 컴파일러 경고가 표시됩니다.
CMetrics — C 파일의 크기와 복잡성을 측정합니다.
CPAchecker — C 프로그램의 구성 가능한 소프트웨어 검증을 위한 도구입니다. CPAchecker라는 이름은 이 도구가 CPA 개념을 기반으로 하며 소프트웨어 프로그램을 검사하는 데 사용된다는 점을 반영하기 위해 선택되었습니다.
cppcheck — C/C++ 코드의 정적 분석.
CppDepend ©️ — 코드를 측정, 쿼리 및 시각화하고 예상치 못한 문제, 기술적 부채 및 복잡성을 방지합니다.
cpplint — Google의 스타일 가이드를 따르는 자동화된 C++ 검사기입니다.
cqmetrics — C 코드에 대한 품질 측정항목입니다.
CScout — C 및 C 전처리기 코드의 복잡성 및 품질 측정항목입니다.
ENRE-cpp — ENRE(ENTity Relationship Extractor)는 소스 코드에서 코드 엔터티 종속성 또는 관계를 추출하기 위한 도구입니다. ENRE-cpp는 @eclipse/CDT를 기반으로 하는 C/C++용 ENtity 관계 추출기입니다. (개발중)
ESBMC — ESBMC는 단일 및 다중 스레드 C/C++ 프로그램 검증을 위한 만족 모듈로 이론을 기반으로 하는 오픈 소스, 허용 라이센스가 부여된 컨텍스트 제한 모델 검사기입니다.
결함 발견자
부싯돌++
Frama-C — C 코드를 위한 건전하고 확장 가능한 정적 분석기입니다.
GCC — GCC 컴파일러에는 버전 10부터 정적 분석 기능이 있습니다. 이 옵션은 GCC가 분석기 지원이 활성화된 상태로 구성된 경우에만 사용할 수 있습니다. 또한 진단 내용을 SARIF 형식(v13부터)의 JSON 파일로 출력할 수도 있습니다.
Goblint — 멀티스레드 C 프로그램 분석을 위한 정적 분석기입니다. 주요 초점은 데이터 경합을 감지하는 것이지만 버퍼 오버플로 및 널 포인터 역참조와 같은 다른 런타임 오류도 보고합니다.
Helix QAC ©️ — 임베디드 소프트웨어에 대한 엔터프라이즈급 정적 분석. MISRA, CERT 및 AUTOSAR 코딩 표준을 지원합니다.
IKOS — LLVM 기반의 C/C++ 코드용 사운드 정적 분석기입니다.
Joern — 코드 속성 그래프를 기반으로 하는 C/C++용 오픈 소스 코드 분석 플랫폼
KLEE — LLVM 컴파일러 인프라 위에 구축된 동적 기호 실행 엔진입니다. 테스트 케이스가 가능한 한 많은 프로그램을 실행하도록 프로그램에 대한 테스트 케이스를 자동 생성할 수 있습니다.
LDRA ©️ — MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ 및 사용자 정의 규칙을 포함한 다양한 표준에 대한 정적 분석(TBVISION)이 포함된 도구 모음입니다.
친구
PC-lint ©️ — C/C++에 대한 정적 분석. Windows/Linux/MacOS에서 기본적으로 실행됩니다. C11/C18 및 C++17을 지원하는 거의 모든 플랫폼의 코드를 분석합니다.
Phasar — 오염 및 유형 상태 분석과 함께 제공되는 LLVM 기반 정적 분석 프레임워크입니다.
Polyspace Bug Finder ©️ — C 및 C++ 임베디드 소프트웨어의 런타임 오류, 동시성 문제, 보안 취약성 및 기타 결함을 식별합니다.
Polyspace Code Prover ©️ — C 및 C++ 소스 코드에 오버플로, 0으로 나누기, 범위를 벗어난 배열 액세스 및 기타 특정 런타임 오류가 없음을 증명하는 코드 검증을 제공합니다.
scan-build — 일반 빌드를 통해 Clang에 내장된 Clang 정적 분석기를 구동하는 프런트엔드입니다.
splint — 주석 지원 정적 프로그램 검사기.
SVF — C 및 C++ 프로그램에 대한 확장 가능하고 정확한 프로시저 간 종속성 분석을 가능하게 하는 정적 도구입니다.
TrustInSoft 분석기 ©️ — 코딩 오류 및 관련 보안 취약점을 철저하게 감지합니다. 여기에는 건전한 정의되지 않은 동작 감지(버퍼 오버플로, 범위를 벗어난 배열 액세스, 널 포인터 역참조, 해제 후 사용, 0으로 나누기, 초기화되지 않은 메모리 액세스, 부호 있는 오버플로, 유효하지 않은 포인터 연산 등)가 포함됩니다. , 데이터 흐름 및 제어 흐름 검증은 물론 공식 사양의 전체 기능 검증도 가능합니다. C18까지의 모든 C 버전과 C++20까지의 C++ 버전이 지원됩니다. TrustInSoft 분석기는 2023년 2분기(TCL3)에 ISO 26262 인증을 획득할 예정입니다. MISRA C 체커도 번들로 제공됩니다.
베라++
.NET 분석기 — .NET 컴파일러 플랫폼을 사용하여 분석기(진단 및 코드 수정) 개발을 위한 조직입니다.
ArchUnitNET — 자동화된 테스트를 위해 C#에서 아키텍처 규칙을 지정하고 주장하는 AC# 아키텍처 테스트 라이브러리입니다.
code-cracker — Roslyn을 사용하여 리팩토링, 코드 분석 및 기타 세부 기능을 생성하는 C# 및 VB용 분석기 라이브러리입니다.
CSharpEssentials
Designite ©️ — Designite는 다양한 아키텍처, 디자인 및 구현 냄새 감지, 다양한 코드 품질 지표 계산 및 추세 분석을 지원합니다.
Gendarme — Gendarme은 ECMA CIL 형식(Mono 및 .NET)의 코드가 포함된 프로그램과 라이브러리를 검사합니다.
미루다#
Meziantou.Analyzer — 디자인, 사용법, 보안, 성능 및 스타일 측면에서 C#의 몇 가지 모범 사례를 적용하는 Roslyn 분석기입니다.
NDepend ©️ — 코드를 측정, 쿼리 및 시각화하고 예상치 못한 문제, 기술적 부채 및 복잡성을 방지합니다.
Puma Scan — Puma Scan은 개발 팀이 Visual Studio에서 코드를 작성할 때 일반적인 취약점(XSS, SQLi, CSRF, LDAPi, 암호화, 역직렬화 등)에 대한 실시간 보안 코드 분석을 제공합니다.
Roslynator — Roslyn에서 제공하는 190개 이상의 C#용 분석기와 190개 이상의 리팩토링 모음입니다.
SonarAnalyzer.CSharp — 이 Roslyn 분석기를 사용하면 코드베이스에서 버그, 취약점 및 코드 냄새를 찾아 수정하는 데 도움을 주어 안전하고 안정적이며 유지 관리가 가능한 클린 코드를 생성할 수 있습니다.
VS진단
Wintellect.Analyzers — .NET Compiler Platform("Roslyn") 진단 분석기 및 코드 수정.
Astrée ©️ — Astrée는 C/C++ 애플리케이션에서 런타임 오류와 유효하지 않은 동시 동작이 없음을 자동으로 증명합니다. 부동 소수점 계산에 적합하며 매우 빠르고 매우 정확합니다. 또한 이 분석기는 MISRA/CERT/CWE/Adaptive Autosar 코딩 규칙을 확인하고 ISO 26262, DO-178C 레벨 A 및 기타 안전 표준에 대한 자격을 지원합니다. Jenkins 및 Eclipse 플러그인을 사용할 수 있습니다.
CBMC — C 프로그램, 사용자 정의 어설션, 표준 어설션, 여러 적용 범위 측정 분석을 위한 제한된 모델 검사기입니다.
clang-tidy — 문제를 해결할 수 있는 (제한된) 기능을 갖춘 Clang 기반 C++ 린터 도구입니다.
clazy — Clang 프레임워크를 기반으로 하는 Qt 지향 정적 코드 분석기입니다. clazy는 clang이 Qt 의미를 이해할 수 있게 해주는 컴파일러 플러그인입니다. 불필요한 메모리 할당부터 자동 리팩터링을 위한 수정을 포함하여 API 오용에 이르기까지 50개 이상의 Qt 관련 컴파일러 경고가 표시됩니다.
CMetrics — C 파일의 크기와 복잡성을 측정합니다.
cppcheck — C/C++ 코드의 정적 분석.
CppDepend ©️ — 코드를 측정, 쿼리 및 시각화하고 예상치 못한 문제, 기술적 부채 및 복잡성을 방지합니다.
cpplint — Google의 스타일 가이드를 따르는 자동화된 C++ 검사기입니다.
cqmetrics — C 코드에 대한 품질 측정항목입니다.
CScout — C 및 C 전처리기 코드의 복잡성 및 품질 측정항목입니다.
ENRE-cpp — ENRE(ENTity Relationship Extractor)는 소스 코드에서 코드 엔터티 종속성 또는 관계를 추출하기 위한 도구입니다. ENRE-cpp는 @eclipse/CDT를 기반으로 하는 C/C++용 ENtity 관계 추출기입니다. (개발중)
ESBMC — ESBMC는 단일 및 다중 스레드 C/C++ 프로그램 검증을 위한 만족 모듈로 이론을 기반으로 하는 오픈 소스, 허용 라이센스가 부여된 컨텍스트 제한 모델 검사기입니다.
결함 발견자
부싯돌++
Frama-C — C 코드를 위한 건전하고 확장 가능한 정적 분석기입니다.
Helix QAC ©️ — 임베디드 소프트웨어에 대한 엔터프라이즈급 정적 분석. MISRA, CERT 및 AUTOSAR 코딩 표준을 지원합니다.
IKOS — LLVM 기반의 C/C++ 코드용 사운드 정적 분석기입니다.
Joern — 코드 속성 그래프를 기반으로 하는 C/C++용 오픈 소스 코드 분석 플랫폼
KLEE — LLVM 컴파일러 인프라 위에 구축된 동적 기호 실행 엔진입니다. 테스트 케이스가 가능한 한 많은 프로그램을 실행하도록 프로그램에 대한 테스트 케이스를 자동 생성할 수 있습니다.
LDRA ©️ — MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ 및 사용자 정의 규칙을 포함한 다양한 표준에 대한 정적 분석(TBVISION)이 포함된 도구 모음입니다.
친구
PC-lint ©️ — C/C++에 대한 정적 분석. Windows/Linux/MacOS에서 기본적으로 실행됩니다. C11/C18 및 C++17을 지원하는 거의 모든 플랫폼의 코드를 분석합니다.
Phasar — 오염 및 유형 상태 분석과 함께 제공되는 LLVM 기반 정적 분석 프레임워크입니다.
Polyspace Bug Finder ©️ — C 및 C++ 임베디드 소프트웨어의 런타임 오류, 동시성 문제, 보안 취약성 및 기타 결함을 식별합니다.
Polyspace Code Prover ©️ — C 및 C++ 소스 코드에 오버플로, 0으로 나누기, 범위를 벗어난 배열 액세스 및 기타 특정 런타임 오류가 없음을 증명하는 코드 검증을 제공합니다.
scan-build — 일반 빌드를 통해 Clang에 내장된 Clang 정적 분석기를 구동하는 프런트엔드입니다.
splint — 주석 지원 정적 프로그램 검사기.
SVF — C 및 C++ 프로그램에 대한 확장 가능하고 정확한 프로시저 간 종속성 분석을 가능하게 하는 정적 도구입니다.
TrustInSoft 분석기 ©️ — 코딩 오류 및 관련 보안 취약점을 철저하게 감지합니다. 여기에는 건전한 정의되지 않은 동작 감지(버퍼 오버플로, 범위를 벗어난 배열 액세스, 널 포인터 역참조, 해제 후 사용, 0으로 나누기, 초기화되지 않은 메모리 액세스, 부호 있는 오버플로, 유효하지 않은 포인터 연산 등)가 포함됩니다. , 데이터 흐름 및 제어 흐름 검증은 물론 공식 사양의 전체 기능 검증도 가능합니다. C18까지의 모든 C 버전과 C++20까지의 C++ 버전이 지원됩니다. TrustInSoft 분석기는 2023년 2분기(TCL3)에 ISO 26262 인증을 획득할 예정입니다. MISRA C 체커도 번들로 제공됩니다.
베라++
ameba — Crystal용 정적 코드 분석 도구입니다.
crystal — Crystal 컴파일러에는 Linting 기능이 내장되어 있습니다.
다트 코드 지표
Effective_dart — Effective Dart의 지침에 해당하는 Linter 규칙
보풀
dart용 Linter — Dart용 스타일 린터입니다.
DelphiLint — SonarDelphi가 제공하는 즉각적인 코드 분석 및 Linting을 제공하는 Delphi IDE 패키지입니다.
Fix Insight ©️ — 정적 코드 분석을 위한 무료 IDE 플러그인입니다. Pro 버전에는 자동화 목적을 위한 명령줄 도구가 포함되어 있습니다.
Pascal Analyser ©️ — 수많은 보고서가 포함된 정적 코드 분석 도구입니다. 보고가 제한된 무료 Lite 버전을 사용할 수 있습니다.
Pascal Expert ©️ — 코드 분석을 위한 IDE 플러그인. Pascal 분석기 보고 기능의 하위 집합이 포함되어 있으며 Delphi 버전 2007 이상에서 사용할 수 있습니다.
SonarDelphi — SonarQube 코드 품질 플랫폼을 위한 Delphi 정적 분석기입니다.
credo — 코드 일관성 및 교육에 중점을 둔 정적 코드 분석 도구입니다.
Dialyxir — Elixir 프로젝트에서 Dialyzer 사용을 단순화하기 위해 작업을 혼합합니다.
sobelow — Phoenix Framework에 대한 보안 중심 정적 분석.
느릅나무 분석
elm-review — Elm 컴파일러가 제공하지 않는 추가 보장을 제공하는 Elm으로 작성된 공유 가능 및 사용자 지정 규칙에 중점을 두고 전체 Elm 프로젝트를 분석합니다.
투석기(dialyzer) — ERlang 프로그램을 위한 DIscrepancy AnaLYZer인 DIALYZER. Dialyzer는 단일 Erlang 모듈 또는 전체(세트) 애플리케이션에서 확실한 유형 오류, 프로그래밍 오류로 인해 작동하지 않거나 도달할 수 없는 코드, 불필요한 테스트와 같은 소프트웨어 불일치를 식별하는 정적 분석 도구입니다. Dialyzer는 디버그 컴파일된 BEAM 바이트코드 또는 Erlang 소스 코드에서 분석을 시작합니다. 불일치의 파일 및 줄 번호는 불일치 내용에 대한 표시와 함께 보고됩니다. Dialyzer는 소리 경고(오탐 없음)를 허용하는 성공 입력 개념을 기반으로 분석을 수행합니다.
elvis — 얼랭 스타일 리뷰어.
PEST(Primitive Erlang Security Tool) — Erlang 소스 코드의 기본 검사를 수행하고 Erlang 소스 코드를 불안정하게 만들 수 있는 모든 함수 호출을 보고하는 도구입니다.
fantomas — F# 소스 코드 포맷터.
FSharpLint — F#용 린트 도구입니다.
ionide-analyzers — FSharp.Analyzers.SDK로 구축된 F# 분석기 컬렉션입니다.
fpretify — Python으로 작성된 최신 포트란 소스 코드에 대한 자동 포맷터입니다. Fprettify는 대소문자 변경 및 전처리기 지시문 처리 기능을 포함하여 코드에서 일관된 공백, 들여쓰기 및 구분 기호 정렬을 제공하는 동시에 개정 기록을 보존하고 편집기 통합 테스트를 수행하는 도구입니다.
Fortran용 i-Code CNES — Fortran 77, Fortran 90 및 Shell용 오픈 소스 정적 코드 분석 도구입니다.
aligncheck — 비효율적으로 패킹된 구조체를 찾습니다.
bodyclose — HTTP 응답 본문이 닫혀 있는지 확인합니다.
deadcode — 사용되지 않는 코드를 찾습니다.
딩고 사냥꾼
dogsled — 빈 식별자가 너무 많은 할당/선언을 찾습니다.
이중
errcheck — 오류 반환 값이 사용되는지 확인합니다.
errwrap — 새로운 %w 동사 지시어로 Go 오류를 래핑하고 수정합니다. 이 도구는 fmt.Errorf() 호출을 분석하고 Go v1.13에 도입된 새로운 %w 동사 지시문과 다른 동사 지시문이 포함된 호출을 보고합니다. 또한 새로운 %w 랩 동사 지시문을 사용하도록 호출을 다시 작성할 수도 있습니다.
flen — Go 패키지의 함수 길이에 대한 정보를 얻습니다.
메타 린터로 이동golangci-lint
사용하세요.
go tool vet --shadow — 의도치 않게 숨겨진 변수를 보고합니다.
go vet — Go 소스 코드를 검사하고 의심스러운 내용을 보고합니다.
go-consilient — Go 프로그램의 일관성을 높이는 데 도움이 되는 분석기입니다.
go-critic — 현재 다른 린터에서 구현되지 않은 검사를 유지 관리하는 Go 소스 코드 린터입니다.
go/ast — 패키지 ast는 Go 패키지의 구문 트리를 나타내는 데 사용되는 유형을 선언합니다.
염소
gochecknoglobals
goconst — 상수로 대체될 수 있는 반복 문자열을 찾습니다.
고사이클로
gofmt -s — 코드 형식이 적절하고 더 이상 단순화할 수 없는지 확인합니다.
gofumpt — 이전 버전과 호환되는 동시에 gofmt
보다 더 엄격한 형식을 적용합니다. 즉, gofumpt
gofmt
만족하는 형식의 하위 집합에 만족합니다. 이 도구는 Go 1.19부터 gofmt
의 포크이며 Go 1.18 이상이 필요합니다. Go 코드 형식을 지정하기 위한 드롭인 대체품으로 사용할 수 있으며 gofumpt 후에 gofmt를 실행하면 변경 사항이 발생하지 않습니다. gofumpt
gofmt
형식과 일치하지 않는 규칙을 추가하지 않습니다. 그래서 우리는 gofmt와 경쟁하기보다는 gofmt
확장합니다.
goimports — 누락되었거나 참조되지 않은 패키지 가져오기를 확인합니다.
gokart — 오탐 최소화에 중점을 둔 Golang 보안 분석입니다. 입력 소스가 안전한지 확인하기 위해 변수 및 함수 인수의 소스를 추적할 수 있습니다.
GolangCI-Lint — Go Meta Linter
의 대안: GolangCI-Lint는 린터 수집기입니다.
golint — Go 소스 코드의 코딩 스타일 실수를 인쇄합니다.
goreporter — 동시에 많은 린터를 실행하고 출력을 보고서로 정규화합니다.
goroutine-inspect — Golang 고루틴 덤프를 분석하는 대화형 도구입니다.
gosec(가스) — Go AST를 스캔하여 소스 코드에서 보안 문제를 검사합니다.
gotype — Go 컴파일러와 유사한 구문 및 의미 분석.
govulncheck — Govulncheck는 Go 코드에 영향을 미치는 알려진 취약점을 보고합니다. 소스 코드 또는 바이너리 기호 테이블의 정적 분석을 사용하여 애플리케이션에 영향을 미칠 수 있는 보고서만 표시하도록 범위를 좁힙니다. 기본적으로 govulncheck는 https://vuln.go.dev의 Go 취약성 데이터베이스에 요청합니다. 취약성 데이터베이스에 대한 요청에는 프로그램의 코드나 기타 속성이 아닌 모듈 경로만 포함됩니다.
ineffsign — Go 코드에서 비효과적인 할당을 감지합니다.
인터페이스
llll
비방하다
misspell — 일반적으로 철자가 틀린 영어 단어를 찾습니다.
nakedret — 네이키드 리턴을 찾습니다.
nargs — 함수 선언에서 사용되지 않는 인수를 찾습니다.
prealloc — 잠재적으로 사전 할당될 수 있는 슬라이스 선언을 찾습니다.
Reviewdog — 모든 코드 호스팅 서비스의 모든 린터에서 리뷰 주석을 게시하기 위한 도구입니다.
viv — Go를 위한 빠르고 구성 가능하며 확장 가능하고 유연하며 아름다운 린터입니다. 골린트의 드롭인 교체.
세이프SQL
시쇼
staticcheck — 버그 찾기, 코드 단순화 및 성능 향상을 전문으로 하는 정적 분석을 시작합니다.
structcheck — 사용되지 않는 구조체 필드를 찾습니다.
structslop — 최대 공간/할당 효율성을 제공하기 위해 구조체 필드 재배치를 권장하는 Go용 정적 분석기
test — stdlib 테스트 모듈에서 테스트 실패 위치를 표시합니다.
개종하지 않음
unparam — 사용되지 않는 함수 매개변수를 찾습니다.
varcheck — 사용하지 않는 전역 변수와 상수를 찾습니다.
wsl — 올바른 위치에 빈 줄을 적용합니다.
브리타니
HLint — HLint는 Haskell 코드의 가능한 개선 사항을 제안하는 도구입니다.
Liquid Haskell — Liquid Haskell은 Haskell 프로그램을 위한 개선 유형 검사기입니다.
Stan — Stan은 Haskell 프로젝트를 분석하고 발견된 취약점을 발견된 문제에 대한 가능한 솔루션과 함께 유용한 방식으로 출력하는 명령줄 도구입니다.
Weeder — 하스켈 코드에서 죽은 내보내기나 패키지 가져오기를 감지하는 도구입니다.
Checker Framework — Java용 플러그형 유형 검사입니다. 이는 단순한 버그 찾기가 아니라 정확성을 보장하는 검증 도구입니다. 27개의 사전 구축된 유형 시스템이 함께 제공되며 이를 통해 사용자는 자신만의 유형 시스템을 정의할 수 있습니다. 매뉴얼에는 30개 이상의 사용자 기여 유형 시스템이 나열되어 있습니다.
checkstyle — 코드 표준 또는 유효성 검사 규칙 집합(모범 사례)을 준수하는지 Java 소스 코드를 확인합니다.
ck — 소스 Java 파일을 처리하여 Chidamber 및 Kemerer 객체 지향 측정항목을 계산합니다.
ckjm — 컴파일된 Java 파일의 바이트코드를 처리하여 Chidamber 및 Kemerer 객체 지향 측정항목을 계산합니다.
CogniCrypt — Java 소스 및 바이트 코드에서 암호화 API가 잘못 사용되었는지 확인합니다.
데이터 흐름 프레임워크 — 업계 최고의 Java용 데이터 흐름 프레임워크입니다. Dataflow Framework는 Checker Framework, Google의 Error Prone, Uber의 NullAway, Meta의 Nullsafe 및 기타 컨텍스트에서 사용됩니다. Checker Framework와 함께 배포됩니다.
DesigniteJava ©️ — DesigniteJava는 다양한 코드 품질 지표 계산과 함께 다양한 아키텍처, 디자인 및 구현 냄새 감지를 지원합니다.
Diffblue ©️ — Diffblue는 소프트웨어 개발 팀을 위한 AI 기반 코드 분석 및 테스트 솔루션을 제공하는 소프트웨어 회사입니다. 이 기술은 개발자가 소프트웨어 개발 프로세스에서 테스트를 자동화하고, 버그를 찾고, 수작업을 줄이는 데 도움이 됩니다. 회사의 주요 제품인 Diffblue Cover는 AI를 사용하여 Java 코드에 대한 단위 테스트를 생성 및 실행하여 오류를 포착하고 코드 품질을 향상시키는 데 도움을 줍니다.
Doop — Doop은 포인터 분석 알고리즘을 중심으로 하는 Java/Android 프로그램의 정적 분석을 위한 선언적 프레임워크입니다. Doop은 엔드투엔드(사실 생성, 처리, 통계 등) 분석을 실행하기 위한 다양한 분석과 주변 스캐폴딩도 제공합니다.
ENRE-java — ENRE(ENTity Relationship Extractor)는 소스 코드에서 코드 엔터티 종속성 또는 관계를 추출하기 위한 도구입니다. ENRE-java는 @Eclipse JDT/parser를 기반으로 하는 Java 프로젝트용 ENtity 관계 추출기입니다.
오류 발생 가능성 — 일반적인 Java 실수를 컴파일 시간 오류로 잡아냅니다.
fb-contrib — 추가 버그 탐지기가 포함된 FindBugs용 플러그인입니다.
allowed-apis — 특정 메서드/클래스/필드의 호출을 감지하고 금지합니다(예: 문자 집합 없이 텍스트 스트림에서 읽는 것). Maven/Gradle/Ant와 호환됩니다.
google-java-format — Google Java 스타일을 준수하도록 Java 소스 코드의 형식을 변경합니다.
헌트버그
IntelliJ IDEA ©️ — Java 및 Kotlin에 대한 다양한 검사가 번들로 제공되며 리팩터링, 형식 지정 등을 위한 도구가 포함되어 있습니다.
JArchitect ©️ — 코드를 측정, 쿼리 및 시각화하여 예상치 못한 문제, 기술적 부채 및 복잡성을 방지합니다.
JBMC — Java용 제한된 모델 검사기(바이트코드)는 사용자 정의 주장, 표준 주장, 여러 적용 범위 메트릭 분석을 확인합니다.
Mariana Trench — 보안에 중점을 둔 Android 및 Java 애플리케이션용 정적 분석 도구입니다. Mariana Trench는 Dalvik 바이트코드를 분석하고 대규모 코드베이스(수천만 줄의 코드)에서 빠르게 실행되도록 구축되었습니다. 코드가 변경되면 저장소에 도달하기 전에 취약점을 찾을 수 있습니다.
NullAway — 빌드 시간 오버헤드가 낮은 유형 기반 널 포인터 검사기입니다. 오류가 발생하기 쉬운 플러그인.
OWASP 종속성 검사 — 알려지고 공개된 취약점에 대한 종속성을 검사합니다.
qulice — 몇 가지(사전 구성된) 정적 분석 도구(checkstyle, PMD, Findbugs 등)를 결합합니다.
RefactorFirst — 먼저 리팩터링해야 하는 Java 코드베이스에서 God 클래스 및 고도로 결합된 클래스를 식별하고 우선순위를 지정합니다.
Soot — Java 및 Android 애플리케이션을 분석하고 변환하기 위한 프레임워크입니다.
Spoon — Spoon은 Java 소스 코드(Java 9, 10, 11, 12, 13, 14 포함)를 분석하고 변환하는 메타프로그래밍 라이브러리입니다. 강력한 분석 및 변환 API를 사용하여 소스 파일을 구문 분석하여 잘 설계된 AST를 구축합니다. Maven 및 Gradle에 통합될 수 있습니다.
SpotBugs — SpotBugs는 FindBugs의 후속 제품입니다. Java 코드에서 버그를 찾기 위한 정적 분석 도구입니다.
꾸준함 — 정적 분석과 테스트를 모두 사용하여 알려진 취약점이 있는 오픈 소스 종속성에 대해 Java 애플리케이션을 분석하여 코드 컨텍스트와 사용법을 더욱 정확하게 결정합니다.
Violations Lib — 정적 코드 분석에서 보고서 파일을 구문 분석하기 위한 Java 라이브러리입니다. 다양한 Jenkins, Maven 및 Gradle 플러그인에서 사용됩니다.
에테르
클로저 컴파일러(Closure Compiler) — 효율성을 높이고 크기를 줄이며 JavaScript 파일에 코드 경고를 제공하는 컴파일러 도구입니다.
ClosureLinter
복잡성 보고서
DeepScan ©️ — 코딩 규칙보다는 런타임 오류 및 품질 문제를 대상으로 하는 JavaScript용 분석기입니다.
es6-플라토
에스콤플렉스
에스프리마
flow — JavaScript용 정적 유형 검사기입니다.
hegel — 유형 추론 및 강력한 유형 시스템에 편향된 JavaScript용 정적 유형 검사기입니다.
jshint — JavaScript 코드의 오류와 잠재적인 문제를 감지하고 팀의 코딩 규칙을 시행합니다.
JSLint — JavaScript 코드 품질 도구.
JS프라임
NodeJSScan — njsscan cli 도구를 기반으로 구축된 libsast 및 semgrep로 구동되는 Node.js 애플리케이션용 정적 보안 코드 스캐너입니다. 애플리케이션의 보안 상태에 대한 다양한 대시보드가 포함된 UI가 특징입니다.
플라톤
폴리머 분석기 — 웹 구성 요소를 위한 정적 분석 프레임워크입니다.
은퇴.js — 알려진 취약점이 있는 JavaScript 라이브러리의 사용을 탐지하는 스캐너입니다.
RSLint
표준 — Javascript 스타일 가이드 문제를 확인하는 npm 모듈입니다.
tern — 심층적인 크로스 에디터 언어 지원을 위한 JavaScript 코드 분석기입니다.
일반
xo — 많은 장점이 포함된 독선적이지만 구성 가능한 ESLint 래퍼입니다. 엄격하고 읽기 쉬운 코드를 적용합니다.
판단 척도
JET — 버그 및 유형 불안정성을 감지하는 정적 유형 추론 시스템입니다.
StaticLint — Julia용 정적 코드 분석
detekt — Kotlin 코드에 대한 정적 코드 분석.
diktat — Kotlin의 엄격한 코딩 표준과 코드 냄새를 감지하고 자동 수정하는 linter입니다.
ktfmt — Kotlin 코드 규칙에 대한 공통 커뮤니티 표준을 준수하도록 Kotlin 소스 코드 형식을 다시 지정하는 프로그램입니다. ktfmt IntelliJ 플러그인은 플러그인 저장소에서 사용할 수 있습니다. 설치하려면 IDE 설정으로 이동하여 플러그인 카테고리를 선택하세요. Marketplace 탭을 클릭하고 ktfmt 플러그인을 검색한 후 설치 버튼을 클릭하세요.
ktlint — 포맷터가 내장된 자전거 이탈 방지 Kotlin 린터입니다.
luacheck — Lua 코드의 Linting 및 정적 분석을 위한 도구입니다.
lualint — lualint는 Lua 소스 코드에서 전역 변수 사용에 대한 luac 기반 정적 분석을 수행합니다.
루아분석
DrNim — DrNim은 Nim으로 작성된 소프트웨어를 검증/검증할 수 있도록 Nim 프런트엔드와 Z3 증명 엔진을 결합합니다.
nimfmt — Nim 코드 포맷터/linter/스타일 검사기
Sys — (브라우저) 코드에서 버그를 찾기 위한 정적/기호 도구입니다. LLVM AST를 사용하여 초기화되지 않은 메모리 액세스와 같은 버그를 찾습니다.
VeriFast — 분리 논리로 작성된 전제 조건과 사후 조건이 주석 처리된 단일 스레드 및 다중 스레드 C 및 Java 프로그램의 정확성 속성을 모듈식으로 공식 검증하는 도구입니다. 풍부한 사양을 표현하기 위해 프로그래머는 유도 데이터 유형, 이러한 데이터 유형에 대한 원시적 재귀 순수 기능 및 추상 분리 논리를 정의 할 수 있습니다.
CakeFuzzer-CakePHP 기반 웹 응용 프로그램을위한 웹 응용 프로그램 보안 테스트 도구. CakeFuzzer는 실행 전에 무작위로 수정 된 사전 정의 된 공격 세트를 사용합니다. Cake PHP 프레임 워크에 대한 깊은 이해를 활용하여 Cake Fuzzer는 모든 잠재적 인 응용 프로그램 입력 지점에 대한 공격을 시작합니다.
Churn-PHP-리팩토링을위한 좋은 후보를 발견하는 데 도움이됩니다.
Composer-Dependency Analyser-작곡가 종속성 문제의 빠른 감지.
Dephpend - 종속성 분석 도구.
감가 상각 검출기-감가 상각 된 (Symfony) 코드의 사용법을 찾습니다.
DEPTRAC - 소프트웨어 계층 간의 종속성에 대한 규칙을 시행합니다.
DesignPatternDetector - PHP 코드의 설계 패턴 감지.
EasyCodingStandard-PHP_CODESNIFFER 및 PHP-CS-FIXER를 결합하십시오.
Enlightn - Laravel 앱의 성능, 보안 및 코드 안정성을 향상시키기위한 권장 사항을 제공하는 Laravel 애플리케이션을위한 정적 및 동적 분석 도구. 120 개의 자동 점검이 포함되어 있습니다.
Exakat - PHP 용 자동 코드 검토 엔진.
Grumphp - 모든 커밋에서 코드를 확인합니다.
LARASTAN - 개발자 생산성 및 코드 품질을 향상시키는 Laravel에 정적 분석을 추가합니다. Phpstan 주변의 포장지입니다.
몬드리안
Nitpick CI © ️ - 자동화 된 PHP 코드 검토.
Parallel-Lint-이 도구는 PHP 파일의 구문을보다 빠른 출력으로 직렬 검사보다 빠르게 확인합니다.
구문 분석 - 정적 보안 스캐너.
PDENCER - PHP 코드의 사이클로틱 복잡성과 같은 소프트웨어 메트릭을 계산합니다.
Phan - Etsy의 현대 정적 분석기.
PHP 아키텍처 테스터 - PHP 용 사용하기 쉬운 아키텍처 테스트 도구.
PHP 가정 - 약한 가정을 확인합니다.
PHP 코딩 표준 FIXER-PSR-1, PSR-2 및 Symfony 표준과 같은 표준에 따라 코드를 수정합니다.
PHP Insights - 콘솔에서 즉각적인 PHP 품질 검사. 코드 품질 및 코딩 스타일 분석 및 코드 아키텍처 및 복잡성의 개요.
PHP 검사 (EA Extended) - PHP 용 정적 코드 분석기.
PHP 리팩토링 브라우저 - 리팩토링 도우미.
PHP 시맨틱 버전화 검사기
PHP-PARSER-PHP로 작성된 PHP 파서.
PHP-Speller-PHP 맞춤법 검사 라이브러리.
php-token 반사
PHP7CC
php7mar
PHP_CODESNIFFER - 정의 된 코딩 표준 세트의 위반을 감지합니다.
PHPARKITECT - PHPARKITECT를 사용하면 워크 플로에 건축 제약 조건 점검을 추가하여 PHP 코드베이스를 일관되고 견고하게 유지하는 데 도움이됩니다. 간단하고 읽을 수있는 PHP 코드에서 시행하려는 제약 조건을 표현할 수 있습니다.
PHPCA
PHPCPD
phpdcd
phpdectionencyanalysis
PHPDEPRECATIONDETECTR - 새로운 통역 버전에서 더 이상 사용되지 않은 기능으로 문제를 검색하기위한 PHP 코드 분석기. 제거 된 객체 (함수, 변수, 상수 및 ini- 지향), 감가 상한 기능 기능 및 금지 된 이름 또는 트릭 사용 (예 : 최신 버전의 예약 된 식별자)을 찾습니다.
phpdoc-to-typehint
PHPDocumentor - 문서를 생성하기 위해 PHP 소스 코드를 분석합니다.
PHPLOC - 크기를 신속하게 측정하고 PHP 프로젝트의 구조를 분석하는 도구입니다.
PHPMD - 코드에서 가능한 버그를 찾습니다.
PHPMetrics - 다양한 코드 품질 메트릭을 계산하고 시각화합니다.
PHPMND - 마법 숫자를 감지하는 데 도움이됩니다.
PHPQA
PHPQA -Jakzal - 하나의 컨테이너에서 PHP 정적 분석을위한 많은 도구.
PHPQA-JMOLIVAS-PHPQA 올인원 분석기 CLI 도구.
Phpsa
PHPSTAN - PHP 정적 분석 도구 - 코드를 실행하지 않고 버그를 발견하십시오!
Progpilot - 보안 목적을위한 정적 분석 도구.
PSALM - PHP 응용 프로그램에서 유형 오류를 찾기위한 정적 분석 도구.
Qafoo 품질 분석기
Rector - PHP 5.3+ 코드의 즉각적인 업그레이드 및 자동 리팩토링. PHP 7.4, 8.0 이상에 대한 코드를 업그레이드합니다. Rector는 좁게 정의 된 AST (Abstract Syntax Tree) 패턴을 찾기 때문에 낮은 오 탐 양성 속도를 약속합니다. 기본 유스 케이스는 레거시 코드에서 기술 부채를 해결하고 데드 코드를 제거하고 있습니다. Rector는 Symfony, Proctrine, Phpunit 등을위한 특별 규칙을 제공합니다.
반사 - PHP 프로젝트에 대한 정적 분석을 수행하기위한 반사 라이브러리
Symfony Insight © 님 - 보안 위험을 감지하고 버그를 찾고 PHP 프로젝트에 실행 가능한 메트릭을 제공합니다.
툴리 - 정적 분석 엔진.
Twig-Lint-Twig-Lint는 Twig 파일을위한 보풀 도구입니다.
WAP - PHP (4.0 이상) 웹 응용 프로그램의 입력 유효성 검사 취약점을 감지하고 올바르게하는 도구와 정적 분석 및 데이터 마이닝을 결합하여 잘못된 양성을 예측합니다.
Perl :: 분석기-Perl-Analyzer는 네임 스페이스 및 관계, 의존성, 상속 및 구현, 상속 및 메소드에 대한 정보를 제공하여 Perl 코드베이스를 분석하고 시각화 할 수있는 일련의 프로그램 및 모듈입니다. Super를 통해 부모 패키지의 메소드에 대한 호출로.
Perl :: 비평가-최고 실습에 대한 비평 Perl 소스 코드.
Perltidy - Perltidy는 Perl 스크립트로, Perl Scripts를 쉽게 읽을 수 있도록 강화하고 개혁합니다. 형식은 명령 줄 매개 변수로 제어 할 수 있습니다. 기본 매개 변수 설정은 Perl 스타일 가이드의 제안을 대략 따릅니다. 스크립트를 재구성하는 것 외에도 Perltidy는 오류가 현지화하는 데 매우 능숙하기 때문에 누락되거나 여분의 버팀대, 괄호 및 정사각형 괄호로 오류를 추적하는 데 큰 도움이 될 수 있습니다.
ZARN - 최신 PERL 앱을위한 가벼운 정적 보안 분석 도구
Autoflake - Autoflake는 Python 코드에서 사용되지 않은 가져 오기 및 사용되지 않는 변수를 제거합니다.
AutoPep8 - Pethon 코드를 자동으로 포맷하여 PEP 8 스타일 가이드를 준수하는 도구입니다. Pycodestyle 유틸리티를 사용하여 코드의 형식이 필요한 부분을 결정합니다.
산적 - 파이썬 코드에서 일반적인 보안 문제를 찾는 도구.
BellyButton-맞춤형 프로젝트 별 규칙을 지원하는 라인 엔진.
블랙 - 타협하지 않는 파이썬 코드 포맷터.
볼러 - 현대적인 파이썬에 대한 안전한 코드 리팩토링. 볼러는 구문 트리 레벨에서 파이썬을 조작하기위한 리팩토링 도구입니다. 안전하고 대규모 코드 수정을 가능하게하면서 결과 코드가 컴파일 및 실행되도록 보장합니다. 코드에서 복잡한 코드 수정을 생성하기 위해 간단한 명령 줄 인터페이스와 유창한 API를 제공합니다.
시오 체크pep8
, pydocstyle
, flake8
및 pylint
주변의 래퍼입니다.
응집력
거래 - 파이썬 계약에 의한 설계. 버그가없는 코드를 작성하십시오. 코드에 몇 개의 데코레이터를 추가하면 무료 테스트, 정적 분석, 공식 검증 등을 얻을 수 있습니다.
DLINT - 파이썬 코드를 보장하기위한 도구가 안전합니다.
Dodgy - Dodgy는 코드베이스에 대해 실행하여 "Dodgy"값을 검색하는 매우 기본적인 도구입니다. 우발적 인 SCM Diff Checkins 또는 암호 또는 비밀 키와 같은 파일에 하드 코딩 된 것들을 감지하도록 설계된 일련의 간단한 정규 표현식입니다.
enre-py
FIXIT-소스 코드에 대한 보풀 규칙 및 해당 자동 고정을 생성하기위한 프레임 워크.
Flake8 - pyflakes
, pycodestyle
및 mccabe
주변의 래퍼.
Flakeheaven - Flakeheaven은 Flake8 주위에 제작되어 상속 가능하고 복잡한 Toml 구성을 가능하게하기 위해 Python Linter입니다.
그리프 - 전체 파이썬 프로그램의 서명. API 문서를 생성하거나 API의 변화를 찾으려면 구조, 프레임, 프로젝트 골격을 추출하십시오.
검사관
제다이 - 파이썬 용 자동 완성/정적 분석 라이브러리.
Linty Fresh - 보풀 오류를 구문 분석하고 풀 요청에 대한 의견으로 Github에보고합니다.
McCabe - McCabe 복잡성을 점검하십시오.
다중 운동flake8
, isort
및 modernize
주변의 래퍼.
MYPY - 오리 타이핑 및 정적 타이핑의 이점을 결합하여 자주 원숭이 유형과 함께 사용하는 정적 유형 체커입니다.
Prospector - pylint
, pep8
, mccabe
등의 래퍼.
py-find-injection
Pyanalyze - 정의되지 않은 변수 및 유형 오류에 대한 참조와 같은 Python 코드의 일반적인 실수를 프로그래밍 방식으로 감지하는 도구. 추가 규칙을 추가하고 특정 기능에 특정한 검사를 수행하도록 확장 할 수 있습니다.
pycodequal © ️ - pycodequal은 복잡성과 버그 위험에 대한 통찰력을 제공합니다. 풀 요청에 자동 리뷰가 추가됩니다.
pycodestyle - (이전 pep8
) PEP 8의 일부 스타일 규칙에 대해 Python 코드를 확인하십시오.
pydocstyle
pyflakes - 오류가 있는지 Python 소스 파일을 확인하십시오.
Pylint - 프로그래밍 오류를 찾고 코딩 표준을 시행하고 일부 코드 냄새를 스니핑하는 데 도움이됩니다. 또한 pyreverse
(UML 다이어그램 생성기) 및 symilar
(유사성 검사기)가 추가로 포함됩니다.
PYLYZERS - Rust로 작성된 Python 용 정적 코드 분석기 / 언어 서버로 유형 확인 및 읽기 가능한 출력에 중점을 둡니다.
Pyre-Check-대형 파이썬 코드베이스를위한 빠르고 확장 가능한 유형 체커입니다.
격언 - Python 용 정적 유형 검사기, Mypy와 같은 기존 도구의 간격을 해결하기 위해 생성되었습니다.
pyroma
PYSA-페이스 북의 파이어 체크를 기반으로 한 도구로 테인트 분석으로 식별 된 파이썬 코드의 잠재적 보안 문제를 식별합니다.
PYT- 파이썬 오염
PYTYPE - 파이썬 코드 용 정적 유형 분석기.
Pyupgrade-최신 버전의 언어에 대한 구문을 자동으로 업그레이드하는 도구 (및 사전 커밋 후크).
정량화 코드
RADON - 소스 코드에서 다양한 메트릭을 계산하는 파이썬 도구입니다.
리퍼브 - 파이썬 코드베이스를 개조하고 현대화하는 도구. 리퍼브는 Rust의 내장 된 Linter 인 Clippy에서 큰 영감을 받았습니다.
Ruff - Rust로 작성된 빠른 Python Linter. 기존 라인보다 10-100 배 더 빠릅니다. Python 3.10과 호환됩니다. 파일 감시자를 지원합니다.
immort - 미사용 수입 명세서를 찾고 제거하기위한 Linter, Formatter.
독수리 - 파이썬 코드에서 사용되지 않은 클래스, 기능 및 변수를 찾으십시오.
Wemake-Python-StyleGuide-가장 엄격하고 가장 많이 의견이 많은 Python Linter.
꾀가 많은