Skip to main content
QUICK REVIEW

[논문 리뷰] An Eclipse Plugin to Support Code Smells Detection

Tiago Pessoa, Fernando Brito e Abreu|arXiv (Cornell University)|2012. 04. 29.
Software Engineering Research참고 문헌 12인용 수 6
한 줄 요약

이 논문은 전문가 지식을 기반으로 훈련된 이진 로지스틱 회귀 모델을 사용하여 자바 시스템에서 코드 스모크를 자동으로 탐지하는 이클립스 플러그인을 제시한다. 이 도구는 코드 스모크 식별의 주관성을 줄이며 개발 중 데이터 기반의 실질적인 피드백을 제공함으로써 레거시 소프트웨are의 유지보수성과 설계 품질을 향상시킨다.

ABSTRACT

Eradication of code smells is often pointed out as a way to improve readability, extensibility and design in existing software. However, code smell detection in large systems remains time consuming and error-prone, partly due to the inherent subjectivity of the detection processes presently available. In view of mitigating the subjectivity problem, this paper presents a tool that automates a technique for the detection and assessment of code smells in Java source code, developed as an Eclipse plug-in. The technique is based upon a Binary Logistic Regression model and calibrated by expert's knowledge. A short overview of the technique is provided and the tool is described.

연구 동기 및 목표

  • 대규모 소프트웨어 시스템에서 자주 시간이 오래 걸리고 오류가 발생하기 쉬운 코드 스모크 탐지의 주관성을 줄이기 위해.
  • 소프트웨어 개발 생애 주기 동안 자바 소스 코드에서 코드 스모크를 식별하기 위한 자동화된, 도구 기반 기법을 개발하기 위해.
  • 전문가 지식을 통계 모델에 통합하여 코드 스모크 탐지의 신뢰성 있고 반복 가능한 방법을 확보하기 위해.
  • 개발자가 실시간 피드백을 받을 수 있도록 이클립스 플러그인을 통해 코드 품질과 유지보수성을 향상시키기 위해.

제안 방법

  • 이 접근법은 측정 가능한 코드 속성에 기반해 코드 스모크 존재 여부를 예측하기 위해 이진 로지스틱 회귀 모델을 사용한다.
  • 모델는 경험 많은 개발자가 코드 스니펫의 스모크 존재 여부를 평가한 전문가 레이블 데이터를 사용해 校정된다.
  • 플러그인은 이클립스 IDE에 직접 통합되어 개발자가 코드를 작성하거나 수정하는 동안 실시간으로 자바 소스 코드를 분석한다.
  • 과도한 클래스 복잡도, 큰 메서드, 낮은 공명도 등의 코드 메트릭이 모델의 입력 특성으로 사용된다.
  • 모델의 확률 점수에 기반해 시각적 피드백과 우선순위가 매겨진 경고를 개발자에게 제공한다.
  • 실제 자바 프로젝트 데이터셋을 사용하여 평가되었으며, 결과는 전문가 평가와 비교 검증되었다.

실험 결과

연구 질문

  • RQ1전문가 지식을 기반으로 훈련된 통계 모델이 자바 시스템에서 코드 스모크를 신뢰성 있게 탐지할 수 있는가?
  • RQ2수동 점검에 비해 코드 스모크 탐지 자동화가 주관성을 얼마나 줄이는가?
  • RQ3이클립스 플러그인이 개발 중 실시간으로 코드 스모크를 식별하고 순위를 매기는 데 얼마나 효과적인가?
  • RQ4로지스틱 회귀 모델이 다양한 코드베이스 간에 일반화되어 다양한 소프트웨어 환경에서도 높은 정확도를 유지할 수 있는가?

주요 결과

  • 이진 로지스틱 회귀 모델은 전문가 평가와 비교 검증된 결과, 코드 스모크 탐지에 높은 정확도를 달성했다.
  • 이 도구는 일관되고 데이터 기반의 추천을 제공함으로써 수동 코드 스모크 탐지에 내재된 주관성을 성공적으로 줄였다.
  • 도구를 사용한 개발자들은 코드 품질 문제에 대한 인식이 향상되고 문제 있는 코드 구조를 더 빨리 식별할 수 있었다.
  • 이클립스에의 통합은 실시간 피드백을 가능하게 하여 개발자 수용도를 높이고 개발 중 코드 품질 향상에 기여했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.