Skip to main content
QUICK REVIEW

[논문 리뷰] On The Effect Of Code Review On Code Smells

Luca Pascarella, Davide Spadini|arXiv (Cornell University)|2019. 12. 20.
Software Engineering Research참고 문헌 81인용 수 4
한 줄 요약

이 연구는 7개의 자바 오픈소스 프로젝트에서 수집한 21,879개의 코드 리뷰를 바탕으로 코드 리뷰가 코드 스모크 심각도에 미치는 영향을 조사한다. 활동적이고 참여적인 코드 리뷰가 코드 스모크 심각도를 유의미하게 감소시킨다는 것을 발견했지만, 이 감소는 일반적으로 관련 없는 코드 변경의 부작용일 뿐 의도적인 설계 개선의 결과는 아니라는 점을 밝혀냈다.

ABSTRACT

Code smells are symptoms of poor design quality. Since code review is a process that also aims at improving code quality, we investigate whether and how code review influences the severity of code smells. In this study, we analyze more than 21,000 code reviews belonging to seven Java open-source projects; we find that active and participated code reviews have a significant influence on the likelihood of reducing the severity of code smells. This result seems to confirm the expectations around code review's influence on code quality. However, by manually investigating 365 cases in which the severity of a code smell in a file was reduced with a review, we found that-in 95% of the cases-the reduction was a side effect of changes that reviewers requested on matters unrelated to code smells. Data and materials [https://doi.org/10.5281/zenodo.3588501].

연구 동기 및 목표

  • 코드 리뷰가 소프트웨어 시스템 내 코드 스모크 심각도에 영향을 미치는지 여부와 그 방식을 조사하는 것.
  • 코드 리뷰 활동(예: 참여, 댓글 수 등)이 코드 스모크 심각도 감소와 상관관계가 있는지 확인하는 것.
  • 특정 코드 스모크가 다른 것들보다 코드 리뷰 중에 더 많이 감소할 가능성이 있는지 이해하는 것.
  • 코드 스모크 심각도 감소의 근본 원인을 분석하여, 이들이 의도적인 설계 토론의 결과인지 아니면 부작용인지 평가하는 것.
  • 개발자 인식 부족과 코드 스모크에 대한 코드 리뷰 도구 지원의 격차를 파악하여 향후 도구 개발과 실무 지침을 개선하는 것.

제안 방법

  • 버전 제어 및 이슈 트래킹 데이터를 활용해 7개의 오픈소스 자바 프로젝트에서 21,879개의 코드 리뷰를 수집하고 분석함.
  • 파일 수준에서 각 코드 리뷰 전후로 6개의 잘 알려진 코드 스모크를 사용해 코드 스모크 심각도를 측정함.
  • 코드 리뷰 활동(예: 리뷰어 수, 댓글 수 등)과 코드 스모크 심각도 변화 간의 관계를 평가하기 위해 통계 분석을 적용함.
  • 코드 스모크 심각도가 감소한 365개 사례를 수작업으로 점검하여 감소 원인을 분류함.
  • 집계 수준의 혼란 요인을 피하기 위해, 코드 리뷰가 코드 스모크 심각도에 미치는 영향을 고도로 세밀하게 파일 수준에서 비교함.
  • 심각도 감소 배경 원인을 분류하여, 의도적인 설계 개선과 부작용을 구분함.

실험 결과

연구 질문

  • RQ1활동적이고 참여적인 코드 리뷰는 리뷰된 파일 내 코드 스모크 심각도를 어느 정도 감소시키는가?
  • RQ2어느 특정 코드 스모크가 코드 리뷰 중에 심각도 감소 가능성이 가장 높은가?
  • RQ3코드 스모크 심각도 감소의 주요 원인은 의도적인 설계 품질 논의인지, 아니면 관련 없는 변경의 부작용인가?
  • RQ4코드 리뷰의 특성(예: 리뷰어 수, 댓글 수 등)은 코드 스모크 심각도 변화와 어떻게 상관관계가 있는가?
  • RQ5코드 리뷰 중 관찰된 코드 스모크 심각도 감소의 주요 원인은 무엇인가?

주요 결과

  • 활동적이고 참여적인 코드 리뷰는 리뷰된 파일 내 코드 스모크 심각도 감소 가능성을 유의미하게 높임.
  • 코드 스모크 심각도가 감소한 경우의 95%에서 감소는 코드 스모크와 관련 없는 이유로 요청된 변경의 부작용이었음.
  • 이전 연구에서 보고된 코드 스모크의 심각도 평가와 그 감소 가능성 간에 강한 상관관계가 없음을 발견함.
  • 코드 스모크 심각도 감소는 직접적인 설계 품질 논의로 인한 것이 아니며, 이는 개발자들이 이러한 문제를 인식하거나 우선시하지 못하고 있음을 시사함.
  • 현재 코드 리뷰 도구가 코드 스모크를 충분히 부각시키지 못해 의도적인 리팩터링 기회를 놓치고 있음을 시사함.
  • 코드 스모크 개선의 소수만이 명시적인 설계 논의의 결과였으며, 이는 코드 리뷰 워크플로우 내에서 더 나은 도구와 시각화의 필요성을 강조함.

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

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

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

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