top 40 static code analysis tools
최고의 정적 코드 분석 도구 목록 및 비교 :
결점을 찾기 위해 앉아서 수동으로 각 코드 줄을 읽는 것을 상상할 수 있습니까? 작업을 용이하게하기 위해 개발 중에 코드를 분석하고 SDLC 단계 초기에 치명적인 결함을 감지하는 데 도움이되는 여러 유형의 정적 분석 도구가 시장에 나와 있습니다.
이러한 결함은 코드가 실제로 기능적 QA를 위해 푸시되기 전에 제거 될 수 있습니다. 나중에 발견 된 결함은 항상 수정하는 데 비용이 많이 듭니다.
이 글을 읽고 귀하의 필요에 따라 가장 도움이 될 수있는 아이디어를 얻으십시오.
이것은 톱 목록입니다 소스 코드 분석 도구 다른 언어를 위해.
= >> 문의하기 여기에 목록을 제안합니다.학습 내용 :
최고의 정적 코드 분석 도구 비교
다음은 Java, C ++, C # 및 Python 용 상위 10 개의 정적 코드 분석 도구 목록입니다.
- Raxis
- RIPS 기술
- PVS-Studio
- Kiuwan
- reshift
- 대담
- CodeScene 행동 코드 분석
- 비주얼 전문가
- Veracode
- Fortify 정적 코드 분석기
- 파라 소프트
- Coverity
- 캐스트
- CodeSonar
- 이해하다
- 코드 비교
여기에 각각에 대한 자세한 리뷰가 있습니다.
# 1) 락 시스
Raxis는 시간과 노력을 낭비하는 잘못된 결과를 종종 발견하는 자동화 된 도구보다 한 가지 더 잘 수행합니다.
Raxis는 회사 코드에 가장 적합한 시간 범위를 지정하고 보안에 중점을 둔 이전 개발자를 지정하여 일반 보안 및 비즈니스 로직 취약점 모두에 대해 코드를 분석합니다.
Raxis는 귀하의 입력이 코드 검토 내에서 사용되는지 확인하기 위해 전체적으로 통신하고 스크린 샷 및 수정 조언과 함께 각 발견 사항을 자세히 설명하는 보고서를 제공합니다. 경영진에게 제공 할 수있는 높은 수준의 요약 및보고 요청도 포함됩니다.
=> Raxis 정보 보안 웹 사이트 방문# 2) RIPS 기술
RIPS는 언어 별 보안 분석을 수행하는 유일한 코드 분석 솔루션입니다. 다른 도구로는 찾을 수없는 소스 코드 내에 깊이 중첩 된 가장 복잡한 보안 취약성을 감지합니다.
주요 프레임 워크, SDLC 통합, 관련 산업 표준을 지원하며 자체 호스팅 소프트웨어로 배포하거나 SaaS (Software-as-a-Service)로 사용할 수 있습니다. 정확도가 높고 오 탐지 노이즈가없는 RIPS는 Java 및 PHP 애플리케이션 분석에 이상적인 선택입니다.
=> RIPS Technologies 웹 사이트 방문# 3) PVS-Studio
PVS-Studio는 C, C ++, C # 및 Java로 작성된 프로그램의 소스 코드에서 버그 및 보안 취약점을 감지하는 도구입니다. Windows, Linux 및 macOS 환경에서 작동합니다.
Visual Studio, IntelliJ IDEA 및 기타 광범위한 IDE에 통합 할 수 있습니다. 분석 결과를 SonarQube로 가져올 수 있습니다.
들어가다 # top40 프로모션 코드 7 일 대신 한 달 동안 PVS-Studio 라이선스를 받으려면 다운로드 페이지의 메시지 필드에 입력하십시오.
=> PVS-Studio 웹 사이트 방문# 4) Kiuwan
Kiuwan은 시장에서 가장 큰 기술 범위와 통합 기능을 갖춘 SAST 및 SCA 플랫폼입니다.
DevSecOps 접근 방식을 통해 Kiuwan은 뛰어난 벤치 마크 점수 (Owasp, NIST, CWE 등)를 달성하고 정적 분석을 뛰어 넘는 다양한 기능을 제공하여 SDLC의 모든 이해 관계자를 수용합니다.
=> Kiuwan 코드 보안 웹 사이트 방문# 5)reshift
Reshift는 소프트웨어 개발 팀이 프로덕션에 배포하기 전에 자체 코드에서 더 많은 취약점을 더 빨리 식별 할 수 있도록 지원하는 SaaS 기반 소프트웨어 플랫폼입니다.
취약점을 찾고 수정하는 데 드는 비용과 시간을 줄이고 데이터 침해의 잠재적 위험을 식별하며 소프트웨어 회사가 규정 준수 및 규제 요구 사항을 달성하도록 지원합니다.
=> Reshift 웹 사이트 방문# 6) 대담
Embold는 코드 검토 속도를 높여 개발자와 팀이 더 짧은 시간에 고품질 소프트웨어를 구축 할 수 있도록 지원하는 지능형 소프트웨어 분석 플랫폼입니다.
코드에서 핫스팟의 우선 순위를 자동으로 지정하고 명확한 시각화를 제공합니다. 다중 벡터 진단 기술을 통해 소프트웨어 설계를 포함한 여러 렌즈의 소프트웨어를 분석하고 사용자가 소프트웨어 품질을 투명하게 관리하고 개선 할 수 있습니다.
Embold를 클라우드에서 실행하거나 IntelliJ IDEA 사용자의 경우 IDE에서 직접 무료 플러그인을 다운로드 할 수 있습니다.
=> Embold 웹 사이트 방문# 7) CodeScene 행동 코드 분석
CodeScene은 조직이 실제로 코드를 사용하는 방식을 기반으로 기술 부채 및 코드 품질 문제의 우선 순위를 지정합니다. 따라서 CodeScene은 관련성이 있고 실행 가능하며 비즈니스 가치로 직접 변환되는 정보로 결과를 제한합니다.
CodeScene은 또한 조직과 시스템의 사람 측을 측정하여 소프트웨어 아키텍처의 조정 병목 현상, 오프 보딩 위험 및 지식 격차를 감지함으로써 기존 도구를 뛰어 넘습니다.
마지막으로 CodeScene은 CI / CD 파이프 라인에 통합되어 전달 위험을 예측하고 컨텍스트 인식 품질 게이트를 제공하여 코드 상태를 감독하는 추가 팀원 역할을합니다.
=> CodeScene 웹 사이트 방문# 8)비주얼 전문가
Visual Expert는 SQL Server, Oracle 및 PowerBuilder 코드를위한 고유 한 정적 코드 분석 도구입니다.
Visual Expert 도구 상자는 200 개 이상의 기능을 제공하여 유지 관리를 줄이고 아래와 같이 수정할 때 회귀를 방지합니다.
- 코드 검토
- CRUD 매트릭스
- 코드보기와 동기화 된 E / R 다이어그램.
- 코드 성능 분석
- 코드 탐색
- 영향 분석
- 소스 코드 문서
- 코드 비교
# 9) Veracode
Veracode는 SaaS 모델에 구축 된 정적 분석 도구입니다. 이 도구는 주로 보안 관점에서 코드를 분석하는 데 사용됩니다.
이 도구는 바이너리 코드 / 바이트 코드를 사용하므로 100 % 테스트 범위를 보장합니다. 이 도구는 보안 코드를 작성하려는 경우 좋은 선택입니다.
웹 사이트 링크: Veracode
# 10) 정적 코드 분석기 강화
개발자가 오류없이 안전한 코드를 구축 할 수있는 HP의 도구 인 Fortify. 이 도구는 보안 관련 문제를 찾고 수정하기 위해 함께 작업함으로써 개발 및 보안 팀 모두에서 사용할 수 있습니다. 코드를 스캔하는 동안 발견 된 문제의 순위를 매기고 가장 중요한 문제가 먼저 수정되도록합니다.
웹 사이트 링크: Micro Focus Fortify 정적 코드 분석기
# 11) 파라 소프트
Parasoft는 의심 할 여지없이 정적 분석 테스트를위한 최고의 도구 중 하나입니다. 이는 패턴 기반, 흐름 기반, 제 3 자 분석, 메트릭 및 다변량 분석과 같은 다양한 유형의 정적 분석 기술을 지원할 수 있기 때문에 다른 정적 분석 도구와 비교할 때 약간 다릅니다.
이 도구의 또 다른 장점은 결함을 식별하는 것 외에 결함을 방지하는 기능을 제공한다는 것입니다.
웹 사이트 링크: 파라 소프트
# 12) 커버 리티
소프트웨어 테스트에서 테스트 데이터 생성
Coverity Scan은 오픈 소스 클라우드 기반 도구입니다. C, C ++, Java C # 또는 JavaScript를 사용하여 작성된 프로젝트에서 작동합니다. 이 도구는보다 빠른 해결에 도움이되는 문제에 대한 매우 상세하고 명확한 설명을 제공합니다. 오픈 소스 도구를 찾고 있다면 좋은 선택입니다.
웹 사이트 링크: Coverity
# 13) 캐스트
50 개 이상의 언어를 분석하는 데 사용할 수있는 자동화 도구는 프로젝트 규모에 관계없이 훌륭하게 작동합니다. 또한 품질과 생산성을 측정하는 데 도움이되는 Dashboard를 사용자에게 제공합니다.
웹 사이트 링크: 캐스트
# 14) CodeSonar
Grammatech의 정적 분석 도구는 사용자가 프로그래밍 오류를 찾을 수있을뿐만 아니라 도메인 관련 코딩 오류를 찾는데도 도움이됩니다. 또한 체크 포인트를 사용자 정의 할 수 있으며 요구 사항에 따라 기본 제공 검사를 구성 할 수도 있습니다.
전반적으로 보안 취약성을 감지하는 훌륭한 도구와 심층 정적 분석을 수행 할 수있는 능력은 시장에서 사용 가능한 다른 정적 분석 도구와는 차별화됩니다.
웹 사이트 링크: CodeSonar
# 15) 이해
이름과 마찬가지로이 도구를 사용하면 분석, 측정, 시각화 및 유지 관리를 통해 코드를 이해할 수 있습니다. 이를 통해 대량 코드를 빠르게 분석 할 수 있습니다. 이것은 주로 항공 우주 및 자동차 제조업체에서 사용하는 도구 중 하나입니다. C / C ++, ADA, COBOL, FORTRAN, PASCAL, Python 및 기타 웹 언어와 같은 주요 언어를 지원합니다.
웹 사이트 링크: 이해하다
# 16) 코드 비교
코드 비교 – 파일 및 폴더 비교 및 병합 도구입니다. 70,000 명 이상의 사용자가 병합 충돌을 해결하고 소스 코드 변경 사항을 배포하면서 Code Compare를 적극적으로 사용합니다.
코드 비교는 다른 파일과 폴더를 비교하고 병합하도록 설계된 무료 비교 도구입니다. Code Compare는 TFS, SVN, Git, Mercurial, Perforce 등 널리 사용되는 모든 소스 제어 시스템과 통합됩니다. Code Compare는 독립 실행 형 파일 비교 도구와 Visual Studio 확장으로 제공됩니다.
주요 특징들:
- 텍스트 비교 및 병합
- 시맨틱 소스 코드 비교
- 폴더 비교
- Visual Studio 통합
- 버전 제어 통합 등
# 17) Clang 정적 분석기
이것은 C, C ++ 코드를 분석하는 데 사용할 수있는 오픈 소스 도구입니다. clang 라이브러리를 사용하므로 재사용 가능한 구성 요소를 형성하고 여러 클라이언트에서 사용할 수 있습니다.
웹 사이트 링크: Clang 정적 분석기
# 18) CppDepend
다른 정적 분석 도구와 비교할 때 도구를 사용하기 매우 쉽습니다. 이름에서 알 수 있듯이이 도구는 C / C ++ 코드를 분석하는 데 사용됩니다. 다양한 코드 품질 메트릭을 지원하고, 추세를 모니터링하는 기능을 제공하고, Visual Studio와 통합 할 수있는 추가 기능이 있으며, 사용자 지정 쿼리를 작성할 수 있으며 매우 우수한 진단 기능이 함께 제공됩니다.
웹 사이트 링크: CppDepend
# 19) 클락 워크
의미론 및 구문 오류를 찾는 것 외에도이 도구를 사용하면 사용자가 코드의 취약성을 감지 할 수 있습니다. 이 도구는 Eclipse, Visual Studio 및 Intellij IDEA와 같은 많은 일반적인 IDE와 잘 통합됩니다. 이것은 코드 생성과 동시에 실행될 수 있으며, 한 줄씩 검사를 수행하고 결함을 즉시 해결하는 기능을 제공합니다.
웹 사이트 링크: Klocwork
# 20) Cppcheck
기본 게이트웨이에 연결할 수 없습니다.
C / C ++를위한 또 다른 무료 정적 분석 도구입니다. 이 도구의 좋은 점은 Eclipse, Jenkins, CLion, Visual Studio 등과 같은 여러 다른 개발 도구와의 통합입니다. 설치 프로그램은 sourceforge.net에서 찾을 수 있습니다.
웹 사이트 링크: Cppcheck
# 21) 헬릭스 QAC
Helix QAC는 Perforce (이전 PRQA)의 C 및 C ++ 코드에 대한 뛰어난 정적 분석 테스트 도구입니다. 이 도구는 단일 설치 프로그램과 함께 제공되며 Windows 7, Linex Rhel 5 및 Solaris 10과 같은 플랫폼을 지원합니다. 이는 근본 원인을 식별하고 빠른 결함을 수정하는 데 도움이되는 매우 명확한 진단을 제공합니다.
웹 사이트 링크: 헬릭스 QAC
# 22) 고 아나
C / C ++ 용 보안 정적 분석 도구로 Microsoft Visual Studio, Eclipse, Texas Instruments Code Composer 및 더 많은 IDE와 통합 할 수 있습니다.이 도구는 컴파일러처럼 실행할 수 있으므로 전체 프로젝트뿐 아니라 파일 수준 세부 정보도 분석 할 수 있습니다. 또한 뛰어난 오류보고 기능이 있습니다.
웹 사이트 링크: 고 아나
# 23) 폴리 스페이스
Polyspace bug-finder는 C / C ++의 결함을 찾는 데 도움이됩니다. 이것은 Eclipse와 통합되며 MISRA C, MISRA C ++ 및 JSF ++와 같은 코딩 규칙 표준과도 호환됩니다.
웹 사이트 링크: 폴리 스페이스
# 24) 소스 미터
C / C ++, Java, C #, RPG 및 Python 코드를 분석하는 데 도움이되는 도구입니다. 이 도구의 또 다른 장점은 cppcheck, PMD, FindBugs와 같은 무료 정적 검사 도구와 통합 할 수 있다는 것입니다. 이 도구의 기본 버전은 무료이지만 더 적은 기능이 제공됩니다. 필요에 따라 무료 버전이 요구 사항을 충족하는지 여부를 결정할 수 있습니다.
웹 사이트 링크: 소스 미터
# 25) ConQAT
클론 감지에 사용할 수있는 우수한 도구는 여러 언어를 지원하고 다른 정적 분석 도구와 통합 할 수 있으며 발견 된 문제 및 기타 품질 메트릭에 대한 세부 정보를 보여주는 대시 보드를 제공합니다.
웹 사이트 링크: ConQAT
# 26) JArchitect
Java 코드를 간단하게 분석하고 LINQ를 통한 Code Query에 대한 지원을 더 쉽게 만드는 훌륭한 도구는 여러 코드 메트릭을 제공하며 빌드 간 코드 비교를 허용하며 매우 우수한 사용자 지정 가능한보고 기능과 함께 제공됩니다.
웹 사이트 링크: JArchitect
# 27) 오클리 스
C / C ++ 및 Objective-C 프로그램을 분석하는 데 사용되는 독립 실행 형 도구로 Linux 및 Mac OX 플랫폼을 지원합니다. 버그, 사용하지 않는 코드, 중복 코드 찾기와 같이 정적 분석 도구가 수행 할 것으로 예상되는 모든 작업을 수행하며, 그 외에도 사용자의 필요에 따라 사용자 정의하는 데 도움이되는 매우 사용자 정의 가능한 구성이 함께 제공됩니다.
웹 사이트 링크: 오클리 스
# 28) 망루
이 도구는 주로 수동 코드 검토를 수행하고 로컬 시스템에서 가장 잘 작동하지만 원격 웹 사이트를 스캔 할 수있는 보안 전문가가 사용합니다. 광범위한 구성 파일을 유지하므로 다양한보고 옵션을 구성 할 수 있습니다. 대체 구성 파일을 생성하면 여러 프로젝트를 동시에 실행하는 데 도움이됩니다.
웹 사이트 링크: 망대
# 29 ) OWASP 코드 크롤러
.NET 및 Java / J2EE 코드 용 정적 분석 도구
웹 사이트 링크: OWASP 코드 크롤러
# 30) OWASP 지평선
보안 전문가가 보안 관점에서 코드 검토를 수행하는 데 사용할 수있는 도구입니다. 또한 코드 검토 서비스를 제공하기 위해 보안 도구와 통합 할 수있는 API 세트를 제공합니다.
웹 사이트 링크: OWASP 지평선
# 31) PC-Lint 및 Flexe Lint
이것은 C / C ++ 소스 코드를 테스트하는 데 사용되는 최고의 정적 분석 도구입니다. PC Lint는 Windows OS에서 작동하는 반면 Flexe Lint는 Windows가 아닌 OS에서 작동하도록 설계되었으며 UNIX를 포함한 C 컴파일러를 지원하는 시스템에서 실행됩니다.
웹 사이트 링크: PC-Lint 및 Flexe Lint
# 32) IBM Rational 소프트웨어 분석기
IBM Rational은 사용자에게 다양한 유형의 도구를 제공합니다. 이러한 도구 중 하나는 코드의 정적 분석에 사용할 수있는 소프트웨어 분석기입니다. 이 도구는 확장 가능한 프레임 워크에서 설계되었으며 다른 Rational 제품과 잘 통합됩니다.
웹 사이트 링크: IBM Rational 소프트웨어 분석기
기타 도구
# 33) 번개
이 정적 분석 도구는 매우 유연하고 쉽게 구성 할 수있는 도구이며 Windows, UNIX, Linus, Mac OS X와 같은 거의 모든 플랫폼을 지원합니다.이 도구는 여러 코딩 표준 및 기타 코딩 표준에 대한 적합성을 확인할 수있는 기능이 함께 제공됩니다. 독점 및 프로젝트 기반 표준을 포함합니다.
웹 사이트 링크: 번개
# 34) SonarQube
오픈 소스 웹 기반 도구로 범위를 20 개 이상의 언어로 확장하고 여러 플러그인을 허용합니다.
웹 사이트 링크: SonarQube
# 35) 로즈 체커
개발 된 코드가 CERT 코딩 규칙을 준수하는지 확인하는 도구를 찾고 있다면 Rosecheckers를 선택할 수 있습니다. SourceForge는 무료로 제공됩니다. 이 도구는 C / C ++ 코드를 확인하고 때로는 다른 정적 분석 도구가 찾을 수없는 문제를 발견하지만, 이것은 프로토 타입 일 뿐이므로 완전히 테스트 할 수 없기 때문에 완전한 독립형 도구로 간주 할 수 없습니다.
웹 사이트 링크: 로즈 체커
# 36) 프라 마 -c
C를 분석 할 수있는 오픈 소스 도구는 매우 유연한 프레임 워크와 함께 제공됩니다.
웹 사이트 링크: Frama-c
# 37) 빵 롤
Java 및 C 코드 용 오픈 소스 보안 분석 도구입니다.
웹 사이트 링크: 롤
# 38) PMD
PMD는 C / C ++, Java, JavaScript 용 오픈 소스 코드 분석기입니다. 이것은 간단한 도구이며 일반적인 결함을 찾는 데 사용할 수 있습니다. 또한 Java에서 중복 코드를 감지합니다.
웹 사이트 링크: PMD
# 39) FindBugs
Java 코드에서 버그를 찾는 무료 도구입니다. 모든 버전의 Java를 지원하지만 실행하려면 JRE (또는 JDK) 1.7.0 이상이 필요합니다.
웹 사이트 링크: FindBugs
# 40) HCL 앱 스캔
이는 SDLC 단계의 초기에 취약성을 식별하는 데 사용됩니다. 또한 모바일 스캔을 지원합니다.
웹 사이트 링크: HCL Appscan
# 41) Flawfinder
C / C ++ 프로그램에서 보안 취약점을 찾는 데 주로 사용되는 오픈 소스 도구입니다. UNIX와 같은 시스템에서 다운로드, 설치 및 실행할 수 있습니다.
웹 사이트 링크: Flawfinder
# 42) 부목
C 프로그램을위한 오픈 소스 정적 및 보안 분석 도구입니다. 매우 기본적인 기능이 함께 제공되지만 추가 주석이 추가되면 다른 표준 도구처럼 작동 할 수 있습니다.
웹 사이트 링크: 부목
# 43) Hfcca
Header Free Cyclomatic Complexity Analyzer는 분석을 수행하고 C / C ++ 헤더 또는 Java 가져 오기에 대해 신경 쓰지 않는 도구입니다. 사용이 간편하고 설치할 필요가 없습니다. C / C ++, Java 및 Objective C에 사용할 수 있습니다.
웹 사이트 링크: Hfcca
# 44) 시계
Perl로 작성된이 유틸리티는 사용자가 빈 줄, 주석 줄 및 물리적 줄을 찾을 수 있도록하며 여러 언어를 지원합니다. 전반적으로 여러 형식으로 출력을 제공하는 것과 같은 좋은 기능을 갖춘 쉬운 도구는 여러 시스템에서 실행되며 쉬운 설치 팩과 함께 제공됩니다.
웹 사이트 링크: 시계
# 45) SLOCCount
최고의 C ++ 컴파일러는 무엇입니까
사용자가 여러 언어 및 여러 플랫폼에서 실제 소스 코드 줄을 계산할 수있는 오픈 소스 도구입니다.
웹 사이트 링크: SLOCCount
# 46) JSHint
이것은 JavaScript의 정적 분석을 지원하는 무료 도구입니다.
웹 사이트 링크: JSHint
# 47) 딥 스캔
DeepScan은 JavaScript, TypeScript, React 및 Vue.js를 지원하도록 설계된 고급 정적 분석 도구입니다.
DeepScan을 사용하여 코딩 규칙 대신 가능한 런타임 오류 및 품질 문제를 찾을 수 있습니다. GitHub 저장소와 통합하여 웹 프로젝트에 대한 양질의 통찰력을 얻으십시오.
결론
위는 몇 가지 최고의 정적 코드 분석 도구에 대한 요약입니다. 하나의 기사에서 사용 가능한 모든 도구를 다룰 수는 없으므로 이제 공을 코트로 보내겠습니다. 정적 분석에 적합하다고 생각되는 도구를 자유롭게 가져 오십시오.
= >> 문의하기 여기에 목록을 제안합니다.추천 도서
- 최고의 소프트웨어 테스트 도구 2021 (QA 테스트 자동화 도구)
- 15 BEST 버전 관리 소프트웨어 (소스 코드 관리 도구)
- 개발자와 테스터를위한 가장 인기있는 10 가지 코드 검토 도구
- SVN 튜토리얼 : Subversion을 사용한 소스 코드 관리
- 코드 리팩토링 : 알아야 할 사항
- Micro Focus Quality Center 튜토리얼 (7 일차)-강력한 대시 보드 도구를 사용한 프로젝트 분석
- 상위 15 개 코드 커버리지 도구 (Java, JavaScript, C ++, C #, PHP 용)
- 웹 애플리케이션을 테스트하기위한 상위 4 개의 오픈 소스 보안 테스트 도구