static-analysis
-
불필요한 껍데기 걸러내기 — vulture를 이용한 데드 코드 탐지 및 지식 정제IT 2026. 6. 4. 22:00
정적 분석 도구에 새 이름을 붙이는 건 흔한 일이 아니다. 그런데 이 도구의 이름은 vulture(독수리) — 죽은 것만 먹는 새다. 이름이 왜 독수리일까?vulture는 사자나 매처럼 살아있는 먹이를 직접 사냥하지 않는다. 이미 죽어 아무도 돌보지 않는 사체(carrion)만 탐색하며, 썩어가는 것을 치워 생태계를 정화한다. 이 이름을 소프트웨어에 그대로 가져왔다 — 아직 삭제되진 않았지만 아무도 호출하지 않는 코드, 즉 데드 코드(Dead Code)를 찾아내는 역할이기 때문이다. 도구 이름 하나에 설계 철학이 압축된다: 살아있는 코드에는 손 안 댄다. 죽은 것만 골라낸다.소프트웨어가 진화하면서 필연적으로 레거시가 쌓인다. 기능이 변경되어 필요 없어진 유틸리티 함수나 과거에 쓰이던 비즈니스 로직들이 소..
-
코드의 어두운 구석을 드러내기 — radon을 통한 순환 복잡도 지표 수집IT 2026. 6. 4. 21:00
코드의 복잡도는 보이지 않는 빚(Technical Debt)이다. 여러 명이 오랫동안 수정한 소스코드에는 유독 분기문과 루프가 복잡하게 얽혀, 한 번 손대면 어디가 깨질지 모르는 "위험한 함수"들이 생기기 마련이다. 사람은 직관적으로 이 영역을 피하거나 조심할 수 있지만, 지식베이스의 문서를 RAG로 입력받아 소스코드를 고치는 AI 에이전트에게는 보이지 않는 지뢰밭과 같다.코드 전체의 구조를 그리는 Stage A와 B를 마쳤다면, 이제 이 코드 구조의 품질 상태를 위키에 명시해 에이전트가 지식의 정확성과 코드 위험을 입체적으로 볼 수 있게 해야 한다. deep-wiki Stage C의 후보 도구인 radon은 소스코드를 정적 분석하여 함수별 순환 복잡도(Cyclomatic Complexity)를 숫자로 ..