Skip to main content
QUICK REVIEW

[논문 리뷰] Traceability in the Wild: Automatically Augmenting Incomplete Trace Links

Michael Rath, Jacob Rendall|arXiv (Cornell University)|2018. 04. 06.
Software Engineering Research인용 수 23
한 줄 요약

이 논문은 소프트웨어 프로젝트에서 커밋과 이슈 간의 누락된 추적 링크를 프로세스, 텍스트, 스테이크홀더 관련 특징을 분석함으로써 자동으로 복구하는 머신러닝 접근법을 제안한다. 커밋 메시지, 이슈 기술서, 메타데이터에서 유도된 18개의 특징을 기반으로 훈련된 랜덤 포레스트 분류기를 사용하여, 연결되지 않은 커밋에 대한 이슈 태그를 추천할 때 96%의 리콜을 달성하고, 여섯 개의 오픈소스 프로젝트에서 기존에 불완전한 추적 링크를 보완할 때 89% 이상의 정밀도를 확보한다.

ABSTRACT

Software and systems traceability is widely accepted as an essential element for supporting many software development tasks. Today's version control systems provide inbuilt features that allow developers to tag each commit with one or more issue ID, thereby providing the building blocks from which project-wide traceability can be established between feature requests, bug fixes, commits, source code, and specific developers. However, our analysis of six open source projects showed that on average only 60% of the commits were linked to specific issues. Without these fundamental links the entire set of project-wide links will be incomplete, and therefore not trustworthy. In this paper we address the fundamental problem of missing links between commits and issues. Our approach leverages a combination of process and text-related features characterizing issues and code changes to train a classifier to identify missing issue tags in commit messages, thereby generating the missing links. We conducted a series of experiments to evaluate our approach against six open source projects and showed that it was able to effectively recommend links for tagging issues at an average of 96% recall and 33% precision. In a related task for augmenting a set of existing trace links, the classifier returned precision at levels greater than 89% in all projects and recall of 50%

연구 동기 및 목표

  • 실제로 약 60%의 커밋만 이슈에 연결되어 있는 소프트웨어 개발에서의 불완전한 추적성 문제를 해결하기 위해.
  • 개발자가 추천 사항을 수락하거나 거부할 수 있도록 커밋 시점에 누락된 이슈 태그를 추천하는 실용적이고 자동화된 솔루션을 개발하기 위해.
  • 커밋과 이슈 간의 누락된 링크를 복구함으로써 프로젝트 전반의 추적성을 향상시켜 변경 영향 분석, 결함 방지 및 개발자 추천 시스템 지원을 개선하기 위해.
  • 기존 개발 워크플로우에 쉽게 통합될 수 있도록 단 한 번의 '버튼 클릭'으로 배포 가능한 분류기 설계를 통해 산업 적용 가능성을 확보하기 위해.

제안 방법

  • 해당 방법은 커밋 메시지, 이슈 기술서, 메타데이터에서 18개의 특징을 추출하며, 이는 텍스트 유사도(벡터 공간 모델 기반 기법 사용), 시간적 근접성, 스테이크홀더 참여도, 그리고 'Loners'와 'Phantoms' 히وري스틱과 같은 구조적 패턴을 포함한다.
  • 커밋 메시지와 이슈 기술서 간의 텍스트 유사도는 자연어 개념을 통합한 벡터 공간 모델(VSM)을 사용하여 계산되며, LSI와 같은 더 느린 기법을 피한다.
  • 프로세스 관련 특징으로는 커밋 메시지에 'fixes' 또는 'closes' 키워드가 포함되어 있는지 여부와 이슈 해결 시점과 커밋 타임스탬프 간의 시간적 일치도 포함된다.
  • 이러한 특징들을 기반으로 랜덤 포레스트 분류기가 훈련되어, 명시적인 태그가 없더라도 특정 이슈와 커밋이 연결되어야 하는지 예측한다.
  • 분류기는 두 가지 모드로 평가된다: 새로운 커밋에 대한 링크 추천과 기존에 불완전한 링크 세트 보완.
  • 시스템은 기존 개발 워크플로우에 원활하게 통합되도록 설계되어, 추천을 트리거하기 위해 단 한 번의 조작만 필요하다.

실험 결과

연구 질문

  • RQ1RQ1: 커밋 프로세스 중에 분류기가 누락된 이슈 태그를 정확히 복원할 수 있는가, 즉 연결되지 않은 커밋에 대해 관련 이슈를 추천할 수 있는가?
  • RQ2RQ2: 분류기가 기존에 불완전한 커밋-이슈 링크 세트를 완전히 자동화된 방식으로 정확하게 보완할 수 있는가?
  • RQ3RQ3: 기존에 링크가 없는 커밋에 대해 추가적인 이슈 태그를 추천할 수 있는가?

주요 결과

  • 연결되지 않은 커밋에 대해 최대 3개의 이슈 태그를 추천할 때 분류기는 평균 96%의 리콜을 달성하여 누락된 링크의 강력한 커버리지가 있음을 보여준다.
  • 기존에 불완전한 추적 링크를 보완하는 작업에서, 분류기는 연구한 여섯 프로젝트 전반에서 89% 이상의 정밀도를 확보하여 링크 복구의 높은 신뢰성을 입증한다.
  • 이전에 연결되지 않은 커밋에서 링크를 식별하는 작업에서는 평균 리콜 91.6%와 정밀도 17.3%를 달성하여, 초기 링크가 전혀 없는 상황에서도 효과적임을 보여준다.
  • 랜덤 포레스트 분류기는 추천 및 보완 작업 양쪽 모두에서 다른 모델들을 능가하여, 이 문제에 최적의 선택임을 입증한다.
  • 'Loners'와 'Phantoms'와 같은 구조적 히وري스틱의 포함이 링크 예측 성능을 향상시켜, 암묵적 추적성 식별에 있어 이들의 관련성이 입증된다.
  • 이 방법은 다양한 오픈소스 프로젝트에서 뛰어난 강건성을 보이며, Git과 Jira/Bugzilla를 사용하는 다른 개발 환경으로의 일반화 가능성도 시사한다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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