복잡한 소프트웨어 프로젝트, 특히 수많은 모듈이 얽혀 있는 대규모 모노레포(monorepo)의 구조를 한눈에 파악하기란 쉽지 않습니다. 이러한 문제를 해결하기 위해 VS Code와 호환되는 확장 프로그램 '시냅스(SYNAPSE)'가 개발되고 있습니다. 시냅스는 프로젝트 코드를 캔버스에 시각적으로 띄워 분석할 수 있게 하며, 리눅스 커널 72 RC3, VSCODE-main, Godot 같은 거대 프로젝트도 문제없이 시각화하는 능력을 보여주었습니다.
시냅스는 C/C++, Rust, Python, Kotlin, Java, TypeScript 등 다양한 프로그래밍 언어를 지원하는 자체 언어 리졸버(resolver)를 갖추고 있습니다. 특히 주목할 만한 기능은 네트워크 협업입니다. 다른 IP 주소를 가진 서버와 클라이언트 구조를 통해, 클라이언트가 서버에 접속하면 서버 화면에 클라이언트의 노드, 엣지, 클러스터가 자동으로 표시되어 분산된 프로젝트의 시각적인 모습을 즉시 공유할 수 있습니다. 서버는 클라이언트 프로젝트 폴더를 마운트하여 읽고 쓰기가 가능하며, GIT을 거치지 않고도 특정 파일을 수확(harvest)하여 자신의 프로젝트 폴더에 병합하는 등 즉각적인 수정 및 동기화를 지원합니다. 또한, AST(추상 구문 트리) 기반의 정적 분석 도구를 제공하며, LLM이나 AI 모델 없이 AST, 그래프, 의존성 정보, 규칙 기반 온톨로지를 활용한 아키텍처 추론 계층을 추가하여 기존 정적 분석의 한계를 넘어서려 합니다. 프로젝트 전체뿐만 아니라 특정 아키텍처 영역이나 클러스터만 선택하여 분석할 수 있는 유연성도 강점입니다.
시냅스는 대규모 코드베이스를 다루는 개발팀에게 프로젝트의 복잡성을 줄이고 이해도를 높이는 데 크게 기여할 것으로 기대됩니다. 분산된 팀 환경에서 실시간으로 코드 구조를 공유하고 협업할 수 있는 기능은 개발 생산성을 향상시키는 중요한 요소가 될 것입니다. 현재 아키텍처 추론과 온톨로지(Ontology) 분류기 등 일부 기능은 아직 개발 중이며 개선이 필요하지만, 거대 모노레포의 시각적 분석과 협업이라는 핵심 가치는 이미 충분히 매력적입니다. 이는 개발자들이 코드의 '숲'뿐만 아니라 '나무'까지 효과적으로 탐색하고 관리할 수 있는 새로운 길을 열어줄 잠재력을 가지고 있습니다.