[논문 리뷰] Code smells: A Synthetic Narrative Review
이 합성 서술적 리뷰는 스푸코스에서 수집한 442篇의 코드 스멜 논문을 종합하여, 문헌정보학적 및 주제 분석을 통해 연구 동향, 핵심 주제 및 격차를 맵핑한다. 연구는 소프트웨어 유지보수, 리팩터링, 기술적 부채 등 8개의 핵심 연구 주제를 특정하고, 스멜 전파 및 '좋은 스멜'과 같은 미비하게 다뤄진 분야를 부각시켜 소프트웨어 품질과 유지가능성 분야의 향후 연구 및 실무를 위한 종합적인 로드맵을 제공한다.
Code smells are symptoms of poor design and implementation choices, which might hinder comprehension, increase code complexity and fault-proneness and decrease maintainability of software systems. The aim of our study was to perform a triangulation of bibliometric and thematic analysis on code smell literature production. The search was performed on Scopus (Elsevier, Netherlands) database using the search string code smells which resulted in 442 publications. The Go-to statement was the first bad code smells identified in software engineering history in 1968. The literature production trend has been positive. The most productive countries were the United States, Italy and Brazil. Eight research themes were identified: Managing software maintenance, Smell detection-based software refactoring, Architectural smells, Improving software quality with multi-objective approaches, Technical debt and its instance, Quality improvement/assurance with mining software repositories, Programming education, Integrating the concepts of anti-pattern, design defects and design smells. Some research gaps also emerged, namely, New uncatalogued smell identification; Smell propagation from architectural, design, code to test, and other possible smells; and Identification of good smells. The results of our study can help code smell researchers and practitioners understand the broader aspects of code smells research and its translation to practice.
연구 동기 및 목표
- 종합 문헌 융합을 통해 코드 스멜 연구의 진화 과정과 현재 상태를 맵핑하기 위해.
- 주제 분석을 활용하여 코드 스멜 문헌에서 우세한 연구 주제와 주제 군집을 특정하기 위해.
- 출판량, 주요 국가, 연구 생산성 등을 포함한 문헌정보학적 동향을 분석하기 위해.
- 스멜 전파 및 '좋은 스멜'의 식별과 같은 미흡하게 다뤄진 영역을 밝혀내기 위해.
- 연구자와 실무자 모두를 지원하기 위해 연구 결과를 소프트웨어 품질 향상에 실질적인 통찰으로 번역하기 위해.
제안 방법
- 스푸코스 데이터베이스에서 'code smells'라는 키워드를 사용해 체계적 검색을 수행하여 총 442편의 출판물 확보.
- 출판 추세, 국가별 생산성, 인용 패턴을 평가하기 위해 문헌정보학적 분석을 적용.
- 문헌에서 반복적으로 나타나는 연구 주제를 식별하고 분류하기 위해 주제 분석을 수행.
- 문헌정보학적 데이터와 주제 분석 데이터를 교차 검증하여 연구 결과를 보완하고 강화.
- 제목, 초록 및 키워드의 내용 분석을 기반으로 연구 주제를 분류.
- 주제 군집과 출판 추세를 비교 분석하여 연구 격차를 특정.
실험 결과
연구 질문
- RQ1코드 스멜 문헌에서 지배적인 연구 주제는 무엇이며, 시간이 지남에 따라 어떻게 변화해 왔는가?
- RQ2코드 스멜 연구에 가장 기여한 국가 및 기관은 어디인가?
- RQ3코드 스멜 연구 출판물의 수는 시간이 지남에 따라 어떻게 변화했으며, 어떤 추세가 드러나는가?
- RQ4특히 다루지 않은 스멜 유형에 대한 현재 연구의 주요 격차는 무엇인가?
- RQ5코드 스멜 연구는 소프트웨어 유지보수, 품질 보증 및 교육 실무와 어떻게 더 잘 연계될 수 있는가?
주요 결과
- 1968년 첫 기록된 코드 스멜 이후로 코드 스멜 관련 문헌은 지속적인 양적 증가 추세를 보였다.
- 미국, 이탈리아, 브라질이 코드 스멜 연구에서 가장 높은 생산성을 보였다.
- 8개의 주요 연구 주제가 식별되었으며, 각각 소프트웨어 유지보수, 스멜 탐지 및 리팩터링, 아키텍처 스멜, 다목적 품질 향상, 기술적 부채, 소프트웨어 리포지터리 마이닝, 프로그래밍 교육, 악성 패턴 통합이다.
- 여전히 중요한 연구 격차가 존재하며, 특히 아직 카탈로그화되지 않은 새로운 스멜의 식별과 아키텍처, 설계, 코드, 테스트 계층을 넘는 스멜 전파 연구가 미흡하다.
- '좋은 스멜'(긍정적 설계 신호)의 개념은 체계적으로 연구되지 않았으며, 이는 뚜렷한 연구 공백으로 남아 있다.
- 이 종합 분석은 코드 스멜 연구가 잘 정착되어 있음에도 불구하고, 체계적 스멜 역학 및 구축 가능한 설계 패턴과 관련된 분야에서는 여전히 미비하게 다뤄지고 있음을 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.