Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>SKAX DAVIS Code AnalyzerNew to Visual Studio Code? Get it now.
SKAX DAVIS Code Analyzer

SKAX DAVIS Code Analyzer

SK AX

| (0) | Free
C/Java 코드 시스템의 정적 분석 및 프로젝트 구조 시각화 도구
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SKAX DAVIS Code Analyzer

AI-powered static analysis tool for large-scale C/Java legacy systems.

Features

📊 프로젝트 구조 분석

  • 트리 구조 시각화: 프로젝트 전체를 계층적 트리로 표현
  • 멀티 언어 지원: C, Java 동시 분석 및 통합 뷰 제공
  • 메타데이터 추출: 파일, 함수, 클래스별 상세 정보 수집

🔍 코드 분석

  • 복잡도 분석: 사이클로매틱 복잡도 계산 및 시각화
  • SQL 쿼리 분석: JPA, MyBatis, JDBC 쿼리 자동 탐지
  • 보안 스캔: 잠재적 취약점 및 위험 패턴 감지
  • 호출 그래프: 함수/메소드 간 호출 관계 매핑

📈 시각화 및 보고서

  • 인터랙티브 트리뷰: 확장/축소 가능한 프로젝트 구조
  • 실시간 검색: 파일명, 함수명 기반 빠른 탐색
  • 보고서 내보내기: Excel, Word, PowerPoint 형식 지원

📋 프로젝트 구조 예시

한국은행 시스템 (2.23M LOC)
├── ACCT001P.c [계좌조회 및 잔액 확인] (1,250 LOC)
│   ├── (f) int acct_balance_inq() [계좌 잔액 조회] (85 LOC)
│   │   ├── [i] in [char *] acct_no [계좌번호]
│   │   ├── [o] out [long *] balance [잔액]
│   ├── (s) struct AccountInfo [계좌 정보 구조체] (6 members)
├── ACCT002P.c [대출이자 계산 및 상환] (850 LOC)
│   ├── (f) double calc_interest() [이자 계산] (120 LOC)
│   │   ├── [i] in [double] principal [원금]
│   │   ├── [i] in [double] rate [이자율]
│   │   ├── [o] out [double] interest [계산된 이자]
├── com/bank/service/
│   ├── AccountService.java [계좌 서비스] (2,100 LOC)
│   │   ├── class AccountService (복잡도: 15)
│   │   │   ├── (m) public Account getAccount() [계좌 조회] (45 LOC)
│   │   │   │   ├── [i] in [String] accountNo [계좌번호]
│   │   │   │   ├── [o] out [Account] account [계좌 객체]
│   │   │   │   ├── [SQL] SELECT * FROM accounts WHERE acc_no = ?

📚 문서

상세 가이드

  • 메모리 최적화 가이드 - 대규모 프로젝트 분석 시 메모리 관리
  • 크로스 플랫폼 호환성 - Windows/macOS/Linux 환경 지원
  • 참여자 표현 개선 - 호출 시퀀스 다이어그램 가독성 향상

Pro*C 프로젝트 지원

이 도구는 Oracle Pro*C 프로젝트의 호출 관계 분석을 완벽하게 지원합니다:

  • ✅ 함수 호출 관계 자동 추출
  • ✅ 호출 시퀀스 다이어그램 생성
  • ✅ 대규모 프로젝트 메모리 최적화 (10,000+ 파일)
  • ✅ 크로스 플랫폼 완벽 지원

자세한 내용은 docs 폴더를 참조하세요.

🛠️ 설치 및 사용법

시스템 요구사항

  • VS Code: 버전 1.90.0 이상
  • 운영체제: Windows 10/11, macOS 10.14+, Linux (Ubuntu 18.04+)
  • 메모리: 최소 4GB, 권장 8GB
  • 디스크: 최소 1GB 여유 공간
  • CPU: 64비트 프로세서
  • 지원 언어: C, C++, Java

설치 방법

📦 Release에서 VSIX 다운로드 (권장)

  1. GitHub Releases 페이지 방문
  2. 최신 릴리즈에서 skax-davis-code-analyzer.vsix 파일 다운로드
  3. VS Code에서 Ctrl+Shift+P로 명령 팔레트 열기
  4. "Extensions: Install from VSIX..." 선택
  5. 다운로드한 .vsix 파일 선택하여 설치
  6. VS Code 재시작

💡 오프라인 지원: 이 방법으로 설치하면 폐쇄망 환경에서도 완전히 동작합니다.

완전 오프라인 설치 (폐쇄망 환경)

🔐 진정한 오프라인 설치를 위해 두 개의 파일이 필요합니다:

1️⃣ 파이썬 설치:

  • Windows: python-3.11.9-amd64.exe
  • macOS: python-3.11.0rc2-macos11.pkg

2️⃣ Python 의존성 오프라인 설치:

  • Windows: davis_offline_wheels.zip 다운로드 후 압축 해제
  • macOS: davis_offline_wheels_mac.zip 다운로드 후 압축 해제

💡 설치 위치: 압축을 풀어 홈 경로에 위치 (윈도우는 C 드라이브가 아니어도 D, E 루트에 위치해도 됨)

🔄 자동 빌드 및 릴리즈

이 프로젝트는 GitHub Actions를 통해 자동으로 빌드되고 릴리즈됩니다:

빌드 프로세스

  • 트리거: main 브랜치에 push 또는 PR merge 시 자동 실행
  • 구성 요소:
    • 프론트엔드 (TypeScript/VS Code 확장)
    • 백엔드 (Python FastAPI 서버)
    • Tree-sitter 파서 (C/Java)
    • DuckDB 바이너리 (다중 플랫폼)
    • Python 의존성 정의 (requirements.txt)

패키지 특징

  • 완전 오프라인: 모든 의존성이 VSIX에 포함
  • 다중 플랫폼: Windows, macOS, Linux 지원
  • 자동 시작: Python 백엔드 서버 자동 설치 및 시작
  • 캐싱: 대용량 프로젝트 분석을 위한 SQLite 캐시

사용법

1. 프로젝트 분석 시작

  1. C/Java 프로젝트가 포함된 폴더를 VS Code에서 열기
  2. 명령 팔레트(Ctrl+Shift+P)에서 "SKAX: Code Analyzer: Show Dashboard" 선택
  3. 분석 진행 상황을 알림으로 확인

2. 프로젝트 구조 보기

  1. 대시보드에서 "프로젝트 구조 보기" 버튼 클릭
  2. 새로운 패널에서 트리 구조 확인
  3. 노드 클릭으로 해당 파일/함수로 이동

3. 보고서 생성

  1. 대시보드에서 "보고서 생성" 버튼 클릭
  2. 원하는 형식 선택 (Excel/Word/PowerPoint)
  3. 생성된 보고서 파일 확인

🔑 라이선스 키

개요

SKAX DAVIS Code Analyzer는 라이선스 키를 통해 사용 유효일자를 관리합니다. 프로그램을 처음 실행하거나 라이선스가 만료된 경우, 유효한 라이선스 키를 입력해야 합니다.

  • 라이선스 문의 : cwchoe@sk.com, mokdb17@sk.com

라이선스 키 설정

방법 1: 프로그램 실행 시 자동 입력

  1. 대시보드를 열려고 시도
  2. 라이선스 키 입력 팝업이 표시됨
  3. 유효한 라이선스 키 입력
  4. 자동으로 저장되고 대시보드가 열림

방법 2: 설정 화면에서 관리

  1. 대시보드 → 설정 탭
  2. Backend API Key 필드에서 라이선스 키 입력/변경
  3. 자동으로 암호화되어 저장됨

⚠️ 주의: 라이선스 키는 AES-256-CBC로 암호화되어 저장됩니다. api-keys.json 파일을 직접 편집하지 마세요.

테스트용 라이선스 키 생성

개발/테스트 환경에서 라이선스 키를 생성하려면:

# 1년 후 만료되는 키 생성
node scripts/generate-license-key.js

# 특정 날짜까지 유효한 키 생성 (2025-12-31)
node scripts/generate-license-key.js 251231

# 도움말 보기
node scripts/generate-license-key.js --help

⚙️ 설정 옵션

VS Code 설정(Ctrl+,)에서 "SKAX DAVIS" 검색하여 다음 옵션들을 조정할 수 있습니다:

분석 옵션

  • 복잡도 분석 포함: 사이클로매틱 복잡도 계산 여부
  • SQL 분석 포함: 데이터베이스 쿼리 분석 여부
  • 보안 스캔 포함: 취약점 검사 여부
  • 호출 그래프 포함: 함수 호출 관계 분석 여부
  • 최대 깊이: 분석할 디렉토리 최대 깊이 (1-50)
  • 제외 패턴: 분석에서 제외할 파일/폴더 패턴

표시 옵션

  • 라인 수 표시: 트리뷰에서 LOC 정보 표시 여부
  • 복잡도 표시: 복잡도 정보 표시 여부
  • 자동 확장 깊이: 트리뷰 자동 확장 레벨 (0-5)

캐시 옵션

  • 캐싱 활성화: 분석 결과 캐싱 여부
  • 최대 캐시 크기: 캐시 파일 최대 크기 (10-1000MB)

📝 생성되는 파일

확장을 사용하면 다음 파일들이 생성됩니다:

your-project/
├── .skax-davis-codeanalyzer/
│   ├── project-structure.json    # 메타데이터 파일
│   ├── cache.db                  # SQLite 캐시 파일 (DuckDB)
│   ├── analysis-cache/           # 분석 결과 캐시
│   └── reports/                  # 생성된 보고서
└── backend/
    ├── server.log                # 백엔드 서버 로그
    └── venv/                     # Python 가상환경 (자동 생성)

🐛 문제 신고

버그나 개선 사항이 있으시면 GitHub Issues에 신고해주세요.

📄 라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

📊 지원 현황

기능 C Java 상태
구문 분석 ✅ ✅ 완료
함수/메소드 추출 ✅ ✅ 완료
복잡도 계산 ✅ ✅ 완료
SQL 쿼리 분석 ✅ ✅ 부분 완료
보안 스캔 ⭕ ⭕ 개발 중

범례: ✅ 완료, ⭕ 부분 지원, 🔄 계획됨


Legacy Code Analyzer를 사용해주셔서 감사합니다! 🎉

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft