Files
2nd/10_Wiki/Topics/Dependency-Graph-Analysis.md
T
2026-05-02 23:33:34 +09:00

28 lines
1.9 KiB
Markdown

---
id: [[P-Reinforce|P-Reinforce]]-AI-DEPENDENCY-GRAPH
category: Unified
confidence_score: 0.96
tags: [SoftwareEngineering, GraphTheory, Dependency, BuildSystem]
last_reinforced: 2026-04-20
---
# [[Dependency-Graph-Analysis|Dependency-Graph-Analysis]] (의존성 그래프 분석)
## 📌 한 줄 통찰 (The Karpathy Summary)
> "코드가 서로를 어떻게 붙잡고 있는지 보여주는 엑스레이." 시스템의 구성 요소들 사이의 의존 관계를 유향 그래프(Directed Graph)로 모델링하여 구조적 취약점이나 빌드 순서를 파악하는 기술이다.
## 📖 구조화된 지식 (Synthesized Content)
- **Core [[Analysis|Analysis]] Tasks**:
- **Cycle Detection**: 서로를 참조하여 무한 루프나 빌드 에러를 일으키는 순환 참조(Circular Dependency)를 식별함.
- **Impact Analysis**: 특정 코드를 수정했을 때 영향을 받는 상위 모듈들을 파악하여 테스트 범위를 좁힘.
- **Dead Code Elimination**: 그래프상에서 연결되지 않은 '섬' 같은 코드를 찾아내어 제거함.
- **Topo[[Logic|Logic]]al Sort**: 그래프 분석을 통해 가장 먼저 빌드해야 하는 모듈부터 순서대로 나열함.
- **Tools**: Webpack Bundle Analyzer, DepCheck, GitDependency Visualizer.
## ⚠️ 모순 및 업데이트 (RL Update)
- 현대의 대규모 마이크로서비스(MSA) 환경에서는 런타임 의존성이 너무 복잡하여 정적 분석만으로는 한계가 있다. 따라서 실제 트래픽 흐름을 분석하는 '분산 추적(Distributed Tracing)' 지표를 의존성 그래프에 결합하여 살아있는 시스템 지도를 만드는 방향으로 발전하고 있다.
## 🔗 지식 연결 (Graph)
- Related: [[Directed-Acyclic-Graph-Build-Systems|Directed-Acyclic-Graph-Build-Systems]] , [[Dependency-Injection|Dependency-Injection]]
- Concept: Cohesion-and-Coupling