Skip to main content
QUICK REVIEW

[논문 리뷰] Predictive Models in Software Engineering: Challenges and Opportunities

Yanming Yang, Xin Xia|arXiv (Cornell University)|2020. 08. 09.
Software Engineering Research인용 수 7
한 줄 요약

이 논문은 2009~2019년 사이 소프트웨어 공학 분야에서의 예측 모델 연구 145편에 대한 체계적 종합 분석을 제시하며, 핵심 모델, 적용 분야, 평가 지표 및 도전 과제를 규명한다. 이는 특히 컨볼루션 신경망(CNNs)과 순환 신경망(RNNs)을 포함한 딥 러닝의 증가하는 활용을 드러내며, 요구사항 및 테스팅과 같은 아직 탐색이 부족한 분야를 지적하고, 소프트웨어 품질 향상과 개발 효율성 향상을 위한 모델 선택, 특징 공학, 메타학습 분야의 향후 연구 방향을 제안한다.

ABSTRACT

Predictive models are one of the most important techniques that are widely applied in many areas of software engineering. There have been a large number of primary studies that apply predictive models and that present well-preformed studies and well-desigeworks in various research domains, including software requirements, software design and development, testing and debugging and software maintenance. This paper is a first attempt to systematically organize knowledge in this area by surveying a body of 139 papers on predictive models. We describe the key models and approaches used, classify the different models, summarize the range of key application areas, and analyze research results. Based on our findings, we also propose a set of current challenges that still need to be addressed in future work and provide a proposed research road map for these opportunities.

연구 동기 및 목표

  • 최근 10년간 소프트웨어 공학 분야의 예측 모델링 기술의 최신 동향을 체계적으로 분석하는 것.
  • 소프트웨어 공학 연구에서 가장 널리 사용되는 예측 모델, 평가 지표 및 적용 분야를 규명하는 것.
  • 예측 모델의 효과적 구현을 저해하는 데이터셋 품질, 특징 선택, 모델 평가 분야의 핵심 과제를 밝혀내는 것.
  • 요구사항 공학과 테스팅과 같은 탐색이 부족한 분야에 중점을 두고, 메타학습 및 고급 특징 공학의 기회를 고려한 향후 연구 로드맵을 제안하는 것.

제안 방법

  • 2009년부터 2019년까지 최상위 수준의 소프트웨어 공학 학술 행사(예: ICSE, ASE, FSE, TSE, TOSEM, EMSE)를 대상으로 체계적 문헌 고찰을 수행하였다.
  • 제목과 초록을 통한 선별을 통해 2,000편 이상의 논문을 선별한 후, 초록과 서론의 전문 검토를 통해 관련성을 검증하였다.
  • 관련성과 방법론적 엄밀함을 기준으로 145편의 고품질 주요 연구를 선정하였다.
  • 예측 모델을 기본 학습기, 앙상블 학습기, 딥 러닝 기반 학습기로 세 부류로 분류하였다.
  • 10개의 일반적으로 사용되는 지표를 활용해 모델 평가를 분석하였으며, 특히 재현율(recall), 정밀도(precision), F-측정치(F-measure)가 가장 흔히 사용되었다.
  • 소프트웨어 개발 생애주기 전반에 걸쳐 여섯 가지 응용 영역으로 분류: 요구사항, 설계/개발, 테스팅/디버깅, 유지보수, 전문 실무.

실험 결과

연구 질문

  • RQ12009년부터 2019년 사이 소프트웨어 공학 연구에서 가장 널리 사용된 예측 모델과 기계학습 기법은 무엇인가?
  • RQ2예측 모델이 가장 자주 적용되는 소프트웨어 공학 분야는 어디이며, 이러한 응용에서의 주요 기술적 과제는 무엇인가?
  • RQ3소프트웨어 공학 작업에서 예측 모델 성능을 평가하는 데 가장 흔히 사용되는 평가 지표는 무엇인가?
  • RQ4데이터셋 품질, 특징 선택, 모델 평가 분야에서 아직 해결되지 않은 주요 과제는 무엇이며, 이는 예측 모델의 도입과 효과성에 어떤 영향을 미치는가?
  • RQ5요구사항 및 테스팅과 같은 탐색이 부족한 분야를 중심으로, 소프트웨어 공학 분야의 예측 모델링을 향상시키기 위한 가장 유망한 향후 연구 방향은 무엇인가?

주요 결과

  • 소프트웨어 공학 분야의 예측 모델 연구 수는 2009년부터 2019년까지 지속적인 상승 추세를 보였으며, 대부분의 연구에서 새로운 접근법을 제안하였다.
  • 52종의 예측 모델이 식별되었으며, 그 중에서 로지스틱 회귀와 나이브 베이즈가 가장 널리 사용된 기본 학습기이며, 서포트 벡터 머신(SVM)과 결정 트리도 자주 활용되었다.
  • 딥 러닝의 활용은 증가 추세에 있으며, 코드 스멜 탐지 및 API 이슈 분류 등의 작업에서 컨볼루션 신경망(CNNs)과 순환 신경망(RNNs)이 가장 인기 있는 딥 러닝 아키텍처로 자리 잡았다.
  • 결함 예측이 가장 흔한 응용 분야이며, 11개의 주요 연구 주제 중 7개가 소프트웨어 유지보수 및 품질 평가 분야에 속해 있다.
  • 재현율(recall), 정밀도(precision), F-측정치(F-measure)가 가장 흔히 사용된 평가 지표로, 불균형 데이터셋에서의 분류 성능에 대한 강한 관심을 반영한다.
  • 주요 과제로는 낮은 데이터셋 품질, 일관되지 않은 특징 선택, 표준화된 평가 지표 부족, 다양한 소프트웨어 공학 작업에 대한 모델 선택 가이드라인 부족이 있다.

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

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

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

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