Skip to main content
QUICK REVIEW

[논문 리뷰] Synergy between Machine/Deep Learning and Software Engineering: How Far Are We?

Simin Wang, LiGuo Huang|arXiv (Cornell University)|2020. 08. 12.
Software Engineering Research참고 문헌 155인용 수 15
한 줄 요약

이 논문은 2009~2018년 동안 906篇의 머신러닝/딥러닝 관련 소프트웨어공학(Software Engineering, SE) 연구를 대상으로 한 10년간의 체계적 문헌연구를 제시하며, 상호보완성, 재현 가능성 도전 과제, 재현성에 영향을 주는 핵심 요인들을 규명한다. 또한, 머신러닝/딥러닝 연구를 산업 현장에 효과적으로 이식하기 위한 삼단계 로드맵을 제안하고, 소프트웨어공학 워크플로우에 딥러닝을 통합하는 데 있어 고유한 도전 과제 다섯 가지를 제시한다.

ABSTRACT

Since 2009, the deep learning revolution, which was triggered by the introduction of ImageNet, has stimulated the synergy between Machine Learning (ML)/Deep Learning (DL) and Software Engineering (SE). Meanwhile, critical reviews have emerged that suggest that ML/DL should be used cautiously. To improve the quality (especially the applicability and generalizability) of ML/DL-related SE studies, and to stimulate and enhance future collaborations between SE/AI researchers and industry practitioners, we conducted a 10-year Systematic Literature Review (SLR) on 906 ML/DL-related SE papers published between 2009 and 2018. Our trend analysis demonstrated the mutual impacts that ML/DL and SE have had on each other. At the same time, however, we also observed a paucity of replicable and reproducible ML/DL-related SE studies and identified five factors that influence their replicability and reproducibility. To improve the applicability and generalizability of research results, we analyzed what ingredients in a study would facilitate an understanding of why a ML/DL technique was selected for a specific SE problem. In addition, we identified the unique trends of impacts of DL models on SE tasks, as well as five unique challenges that needed to be met in order to better leverage DL to improve the productivity of SE tasks. Finally, we outlined a road-map that we believe can facilitate the transfer of ML/DL-based SE research results into real-world industry practices.

연구 동기 및 목표

  • 2009~2018년 10년간 머신러닝/딥러닝과 소프트웨어공학 간 상호 영향을 평가하기 위해.
  • 머신러닝/딥러닝 관련 소프트웨어공학 연구의 재현 가능성과 재현성에 해로운 요인을 규명하기 위해.
  • 소프트웨어공학 연구에서 머신러닝/딥러닝 기법 선택의 근거를 분석하고 방법론적 투명성을 향상시키기 위해.
  • 딥러닝이 소프트웨어공학 작업에 미치는 고유한 영향과 도전 과제를 조사하기 위해.
  • 머신러닝/딥러닝 기반 소프트웨어공학 연구를 실제 산업 응용에 효과적으로 이관하기 위한 삼단계 로드맵을 제안하기 위해.

제안 방법

  • 2009년부터 2018년까지 출간된 906편의 머신러닝/딥러닝 관련 소프트웨어공학 논문을 대상으로 체계적 문헌연구(SLR)를 수행하였다.
  • 일곱 가지 소프트웨어공학 활동을 기준으로 머신러닝/딥러닝과 소프트웨어공학 간 상호 영향을 평가하기 위해 추세 분석을 수행하였다.
  • 연구 설계 및 보고 방식에 대한 정성적 분 析를 통해 재현 가능성에 영향을 주는 다섯 가지 요인을 규명하였다.
  • 딥러닝 연구 79편을 분석하여 소프트웨어공학 작업에 딥러닝을 통합할 때 나타나는 고유한 추세와 도전 과제를 파악하였다.
  • 학술 연구에서 산업 소프트웨어공학 실무로의 기술 이전를 안내하기 위한 삼단계 로드맵을 제안하였다.
  • 연구에서 보고된 선택 기준을 추출하고 분석하여 머신러닝/딥러닝 기법 선택의 근거를 평가하였다.

실험 결과

연구 질문

  • RQ1지난 10년간 머신러닝/딥러닝과 소프트웨어공학 간의 주요 추세와 상호 영향은 무엇인가?
  • RQ2머신러닝/딥러닝 관련 소프트웨어공학 연구의 재현 가능성과 재현성을 저해하는 요인은 무엇인가?
  • RQ3왜 많은 소프트웨어공학 연구에서 머신러닝/딥러닝 기법 선택이 성능 지표를 초월해 충분히 정당화되지 않는가?
  • RQ4소프트웨어공학 작업에 딥러닝 모델을 통합할 때 발생하는 고유한 과제는 무엇인가?
  • RQ5머신러닝/딥러닝 기반 소프트웨어공학 연구는 어떻게 효과적으로 산업 소프트웨어 개발 실무에 이식될 수 있는가?

주요 결과

  • 2009년부터 2018년까지 일곱 가지 소프트웨어공학 활동에 걸쳐 60개 이상의 소프트웨어공학 작업에 걸쳐 머신러닝/딥러닝 응용에 대한 연구 관심이 급격히 증가하였다.
  • 재현 가능하고 재현 가능한 연구의 부족이 심각하게 관찰되었으며, 재현성에 영향을 주는 다섯 가지 핵심 요인—데이터 가용성, 모델 투명성, 하이퍼파rameter 보고, 평가 지표, 코드 공유—가 존재하였다.
  • 많은 연구에서 성능 지표를 초월해 기법 선택을 정당화하지 못하며, 문제 특성, 데이터 유형, 작업 제약 조건과 관련된 구체적 근거가 부족한 경우가 많았다.
  • 기법 선택 이해를 향상시키기 위해 세 가지 핵심 요소—문제 맥락, 데이터 모odal리티, 모델 해석 가능성—가 중요하다는 것이 규명되었다.
  • 딥러닝 모델은 코드 생성, 결함 예측, API 추천 등 소프트웨어공학 작업에 고유한 영향을 주었으며, 동시에 다섯 가지의 고유한 과제를 야기하였다: 데이터 의존성, 모델 해석 가능성, 프로젝트 간 일반화 능력, 기존 소프트웨어공학 도구와의 통합, 평가 일관성.
  • 소프트웨어공학 테스트 및 디버깅을 위한 머신러닝/딥러닝 시스템 적용에 대해 고려된 연구는 오직 15편에 불과하여, AI 시스템에 소프트웨어공학 실무를 적용하는 데 있어 초기 단계의 성숙도를 보이고 있다.

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

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

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

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