본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 05. 21. 11:14

SmellDSL을 사용한 문맥 인식 코드 스멜 탐지를 위한 이벤트 기반 도구

요약

SmellHunter는 정적 코드 지표에 팀 특성, 프로젝트 단계 등 개발 문맥을 결합하여 코드 스멜을 탐지하는 이벤트 기반 도구입니다. SmellDSL이라는 도메인 특화 언어를 사용하여 스크립트를 해석하며, 비동기 이벤트 기반 아키텍처를 통해 확장 가능한 분석을 제공합니다. Eclipse 플러그인과 모바일 앱을 통해 개발자에게 실행 가능한 리팩터링 인사이트를 전달합니다.

핵심 포인트

  • SmellDSL을 활용한 문맥 인식 코드 스멜 탐지 및 해석
  • 정적 지표와 개발 문맥(팀, 프로젝트 단계, 지리적 데이터 등)의 통합
  • 서비스 버스와 비동기 이벤트를 활용한 확장 가능한 이벤트 기반 아키텍처 채택
  • Eclipse IDE 통합 및 모바일 애플리케이션을 통한 인사이트 제공
  • 반복적인 품질 문제 식별 및 효율적인 리팩터링 작업 할당 지원

코드 스멜 (Code smells)은 진화하는 소프트웨어 시스템의 내부 품질을 저하시키는 설계 원칙의 위반을 나타냅니다. 많은 도구가 정적 지표 (static metrics)를 사용하여 이러한 이상 징후를 탐지하지만, 스멜이 발생하고 해결되는 개발 문맥 (development context)을 무시하는 경우가 많습니다. 이러한 한계는 오해의 소지가 있는 경고를 초래하고 리팩터링 (refactoring) 결정에 대한 지원을 약화시킬 수 있습니다. 이 문제를 해결하기 위해, 우리는 SmellDSL 도메인 특화 언어 (domain-specific language)로 작성된 스크립트를 해석하여 코드 스멜을 탐지하고 문맥화하는 문맥 인식 도구인 SmellHunter를 제시합니다. SmellHunter는 정적 코드 지표를 문맥 정보(팀 특성, 프로젝트 단계, 지리적 메타데이터 등)와 통합하여 더 풍부하고 실행 가능한 분석을 생성합니다. 이 도구는 서비스 버스 (service bus)가 비동기 이벤트 (asynchronous events)를 통해 검증, 해석 및 영속성 (persistence) 서비스를 오케스트레이션하는 이벤트 기반 아키텍처 (event-driven architecture)를 채택합니다. 이러한 아키텍처는 개발자의 워크플로 (workflow) 방해를 최소화하면서 확장 가능한 분석을 가능하게 합니다. SmellHunter는 전용 플러그인을 통해 Eclipse 개발 환경에 통합되며, 모바일 애플리케이션을 통해 집계된 인사이트를 제공하여 개발자가 스멜 발생을 유형, 심각도 및 위치별로 탐색할 수 있도록 합니다. 스멜 탐지를 문맥 데이터 및 협업 시각화와 연결함으로써, SmellHunter는 개발자가 스멜 헌터 (smell hunters)로서 활동하는 것을 지원하며, 팀이 특정 위치에서 발생하는 반복적인 품질 문제를 식별하고 관련 전문 지식을 가진 개발자에게 리팩터링 작업을 할당하는 데 도움을 줍니다. 우리는 SmellHunter의 아키텍처, SmellDSL 스크립트의 해석 프로세스, 그리고 현대 소프트웨어 개발 환경에서 더 정보에 기반한 리팩터링 결정을 지원하기 위한 문맥 데이터의 통합에 대해 설명합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0