이 문서는 Sonarqube와 다른 정적분석도구를 비교한 내용을 공유하기 위해 작성되었다.






triangular flag 정적 분석 도구 비교 요약표

항목SonarQubeFortifyCodeQLSparrowPMD
개발사/출처SonarSourceOpenText (Micro Focus)GitHub (Microsoft)Southcode (국산)오픈소스 (Community 기반)
도입 목적✅ 품질 + 보안 + 기술 부채 + DevOps 통합🔒 보안 취약점 탐지🔍 보안 쿼리 기반 탐지🔒 보안 감리 및 컴플라이언스⚙️ Java 코드 품질 점검
지원 언어 수✅ 30개 이상20개 이상약 10개20개 이상Java, Apex, Kotlin, XML 등
라이선스/비용무료 Community + 유료 확장유료 (고가)무료 (GitHub Advanced Security 필요)유료 (기관용)완전 무료 (Apache License)
CI/CD 통합✅ GitHub, Jenkins, GitLab 등 다양Jenkins, Bamboo 등GitHub Actions일부Jenkins, GitHub Actions 등
IDE 통합✅ Eclipse, IntelliJ, VS Code 등일부일부제한적Eclipse, IntelliJ 등 일부 연동 가능
정책 설정/룰 커스터마이징✅ 룰/중요도 조정 가능보안 정책 기반 설정QL 쿼리 기반 룰 직접 작성고정된 정책 기반

XML 기반 룰 구성 가능

보안 취약점 탐지✅ OWASP Top 10 (Dev Edition 이상)✅ 강력 (SAST)✅ 쿼리 작성으로 가능✅ (CC 인증 기준)❌ 보안보다 코드 스타일 중심
코드 품질 지표✅ 중복도, 복잡도, 커버리지, 기술 부채 등일부 품질 룰 (e.g., Dead Code, Unused Imports 등)
보고서 제공웹 대시보드, PDF, PR 코멘트PDF, Word 등 정식 보고서GitHub UI 또는 CLI 로그PDF 리포트 중심HTML, XML, Text 등 기본 출력
수정 가이드 제공✅ 예제, 라인 근거, 설명 포함일부제한적일부제한적 (룰 설명 위주)
DevOps 연동 및 자동화✅ Webhook, API, Jira, Slack 등제한적GitHub 플랫폼 기반일부 가능기본적인 CI 연동
기술 부채/정량화✅ 기술 부채 수치화 및 추적
사용 난이도매우 쉬움 (GUI 기반)중간 이상상 (쿼리 작성 필요)중간 (설정 위주)쉬움 (경량, 설정만으로 사용 가능)

chequered flag 기능 지원 체크리스트

CategoryItemDescriptionSonarQubeFortifyCodeQLSparrowPMD
기능 및 탐지 성능언어 지원Java, Python, C#, Go 등 주요 언어 지원 여부지원지원지원일부 지원Java 등 일부 지원
보안 규칙OWASP, CWE 등 표준 보안 룰셋 제공 여부지원지원지원지원일부 지원
커스터마이징사용자 정의 규칙 추가 및 편집 가능 여부지원지원복잡한 편제한적지원
탐지 정확도오탐/미탐 비율 등 탐지 성능보통우수우수우수보통
정적 분석 외 기능코드 품질, 코드 스멜 등 부가기능 제공우수제한적제한적제한적보통
개발 환경과의 통합성CI/CD 통합Jenkins, GitLab 등 CI/CD 도구와의 연동 여부지원지원지원지원지원
SCM 연동Git, Bitbucket 등 형상관리 도구와의 연동 여부지원지원지원일부 지원일부 지원
IDE 플러그인VS Code, IntelliJ 등 IDE 플러그인 지원 여부지원지원일부 지원제한적미지원
ALM 도구 연동Jira, ServiceNow 등 티켓 시스템과 연동 가능 여부지원지원지원일부 지원일부 지원
운영 및 관리사용자/권한 관리역할 기반 권한 설정, LDAP/SSO 지원 여부우수일부 지원일부 지원제한적일부 지원
대시보드보안 현황 대시보드 제공 여부지원지원일부 지원제한적지원
정책 설정조직 정책 기반 설정 가능 여부지원지원제한적제한적제한적
경고/알림이메일, 슬랙 등 경고 알림 제공 여부지원지원일부 지원제한적제한적
사용성 및 도입 용이성설치 및 배포온프레미스/클라우드 배포 가능 여부지원지원제한적제한적미지원
인터페이스직관적인 UI/UX 및 다국어(한글) 지원 여부지원지원일부 지원지원제한적
학습 곡선문서, 튜토리얼 등 학습 리소스 제공 여부지원제한적보통우수제한적
확장성 및 유연성대규모 프로젝트 지원수백개 프로젝트 분석 시 성능/안정성지원제한적일부 지원우수미지원
플러그인 생태계서드파티 플러그인 제공 및 확장성지원지원지원지원미지원
API 제공REST API 제공 여부 및 자동화 가능성우수우수보통우수제한적
지원 및 유지보수기술지원 체계SLA, 지원 채널(이메일, 포럼 등) 제공 여부우수보통제한적보통미지원
버전 업데이트 주기업데이트 주기 및 보안 패치 제공 여부지원지원일부 지원지원제한적
커뮤니티/레퍼런스사용자 커뮤니티, 고객 사례 등 제공 여부지원지원일부 지원지원제한적
비용/라이선스라이선스 정책가격 구조의 명확성(사용자/라인수 기준 등)지원지원지원지원제한적
가격대비 성능기능 대비 가격 효율성지원지원지원지원미지원
무료 체험커뮤니티/체험판 제공 여부지원지원지원제한적미지원


BMT 체크 리스트




notebook 요약별 장단점

도구장점단점
SonarQube✅ 품질+보안+DevOps 통합, 쉬운 도입, 다양한 언어, 무료 시작 가능일부 보안 기능은 유료 (Developer 이상)
Fortify🔒 정밀 보안 분석, 고위험 환경(금융/국방) 적합비용 높고 Dev 친화도 낮음
CodeQL💡 GitHub Actions 기반 자동 분석, 쿼리로 유연한 보안 룰 설정 가능학습 곡선 높고 GitHub 외 연동은 복잡
Sparrow🇰🇷 CC 인증 기반 보안 분석, 보고서 및 감리 대응 최적화개발 중 실시간 피드백 제공 미약
PMD⚙️ 가볍고 빠름, Java 코드 스타일과 기본 버그 감지

언어 제한, UI 없음, 보안/DevOps 기능 없음


END arrow  결론

  • SonarQube: 개발 품질과 DevOps 자동화를 동시에 강화하고 싶은 팀에 최적. 정적 분석 도구 중 가장 실용적이고 균형 잡힌 선택.

  • Fortify/Sparrow: 보안 감리·컴플라이언스 대응이 우선인 조직에 추천.

  • CodeQL: 보안 쿼리 기반 고급 보안 분석을 원하는 GitHub 중심 개발팀에 적합.

  • PMD: Java 프로젝트에 빠르게 정적 분석을 적용하고 싶은 소규모/경량 팀에게 적합.





  • 레이블 없음