ASNER, 코드 아키텍처 복원 성능 개선
최근 30일 조회수 — 좋아요 —핵심 요약
파일별 의미 이웃과 코드 근거 기반 보정으로 12개 오픈소스 프로젝트에서 기존 기법을 앞섰다.

소프트웨어 저장소의 파일 관계를 분석해 아키텍처를 복원하는 ASNER(Adaptive Semantic Neighborhoods and Evidence-Grounded Refinement)가 공개됐다. ASNER는 저장소 규모와 파일별 유사도 분포에 맞춰 의미 이웃을 구성하고, 경계가 불분명한 파일은 코드 근거가 있을 때만 소속을 바꾼다. 연구진은 12개 오픈소스 프로젝트를 대상으로 한 공통 벤치마크에서 ASNER가 다섯 가지 평가 지표의 매크로 평균 모두 최고 성능을 기록했다고 밝혔다.1
기존 자동 아키텍처 복원 기법은 파일 사이의 정적 의존성과 의미 유사도를 함께 활용한다. 그러나 기능이 비슷하다고 해서 같은 아키텍처 책임을 맡는 것은 아니다. 고정 임계값이나 유사도 상위 K개를 고르는 방식도 저장소 크기와 주변 유사도 분포를 반영하지 못한다. 초기에 잘못 추가된 관계가 군집화 과정으로 넘어가면 구성요소 경계까지 흐릴 수 있다. 대규모언어모델(LLM)에 제약 없이 결과를 보정하게 할 경우, 충분한 근거 없이 올바른 파일 배치를 바꾸는 문제도 생긴다.
ASNER는 먼저 LLM으로 각 파일의 책임을 구조화한다. 이어 저장소 규모와 파일 주변의 유사도 분포에 적응하는 의미 이웃을 만들고, 선별한 의미 관계와 약한 디렉터리 단서를 정적 의존성 그래프에 더한다. 이 그래프에 커뮤니티 탐지를 적용해 구성요소의 기본 골격을 복원한다.
마지막 단계에서는 ROA(Responsibility-Ownership-Aware) 에이전트가 구성요소 경계에 놓인 불확실한 파일을 다시 살핀다. ROA 에이전트는 프로젝트 수준의 책임 정보와 추적 가능한 코드 근거를 확인하며, 근거가 뒷받침될 때만 파일 배치를 변경한다. 의미 유사도를 곧바로 같은 소속으로 간주하지 않고, 파일의 책임과 소유 경계를 별도로 검증하는 설계다.
C, C++, 자바, 파이썬으로 작성된 12개 프로젝트 실험에서 ASNER는 GAER-GAT보다 ARI를 19.5%, c2c@66을 32.9% 개선했다. ASNER가 복원한 아키텍처를 코드 탐색 에이전트 LocAgent에 제공한 후속 평가에서도 파일·모듈·함수 수준의 코드 위치 찾기 성능이 모두 향상됐다.1
다만 이 결과는 2026년 10월 27일 제출된 arXiv 초판 논문의 저자 보고에 근거한다. 평가 범위도 네 가지 언어의 오픈소스 프로젝트 12개로 한정돼 있어, 다른 언어와 비공개 대규모 저장소에서도 같은 개선 폭이 유지되는지는 자료만으로 확인할 수 없다.
Footnotes
읽기 목록은 이 브라우저에 저장됩니다.
출처
- ASNER: Software Architecture Recovery with Adaptive Semantic Neighborhoods and Evidence-Grounded Refinement — arXiv (cs.SE)
이 글은 위 출처를 근거로 자동 생성된 뒤 발행됐습니다. 원문을 함께 확인해 주세요. 교차 보도 없이 단독 출처로 작성됐습니다.