[논문 리뷰] Decision Support for Increasing the Efficiency of Crowdsourced Software Development
이 논문은 랜덤 포레스트를 활용해 실제 Topcoder 데이터를 기반으로 한 기계학습 기반 의사결정 지원 시스템을 제안하여, 작업자 성공 여부, 작업의 타당성, 최적의 작업자-작업 매칭을 예측함으로써 컨소시엄 소프트웨어 개발의 효율성을 향상시킨다. 랜덤 포레스트를 사용한 분석을 통해 각 작업당 비생산적 노력이 최대 4.6명일 분량 감소되었고, 비제출 위험을 80% 이상의 F-측정치로 예측하였으며, 상위 두 순위 내에서 최적의 후보를 94.07%의 정확도로 추천하였다.
Crowdsourced software development (CSD) offers a series of specified tasks to a large crowd of trustworthy software workers. Topcoder is a leading platform to manage the whole process of CSD. While increasingly accepted as a realistic option for software development, preliminary analysis on Topcoder's software crowd worker behaviors reveals an alarming task-quitting rate of 82.9%. In addition, a substantial number of tasks do not receive any successful submission. In this paper, we report about a methodology to improve the efficiency of CSD. We apply massive data analytics and machine leaning to (i) perform comparative analysis on alternative technique analysis to predict likelihood of winners and quitters for each task, (ii) significantly reduce the amount of non-succeeding development effort in registered but inappropriate tasks, (iii) identify and rank the most qualified registered workers for each task, and (iv) provide reliable prediction of tasks risky to get any successful submission. Our results and analysis show that Random Forest (RF) based predictive technique performs best among the alternative techniques studied. Applying RF, the tasks recommended to workers can reduce the amount of non-succeeding development effort to a great extent. On average, over a period of 30 days, the savings are 3.5 and 4.6 person-days per registered tasks for experienced resp. unexperienced workers. For the task-related recommendations of workers, we can accurately recommend at least 1 actual winner in the top ranked workers, particularly 94.07% of the time among the top-2 recommended workers for each task. Finally, we can predict, with more than 80% F-measure, the tasks likely not getting any submission, thus triggering timely corrective actions from CSD platforms or task requesters.
연구 동기 및 목표
- Topcoder와 같은 플랫폼에서 발생하는 높은 작업 포기율(82.9%)과 낮은 제출률 문제를 해결하기 위해.
- 부적절한 작업자-작업 매칭을 식별하고 걸러내어 성과가 없는 개발 노력의 양을 줄이기 위해.
- 각 작업에 대해 가장 자격이 있는 작업자를 순위 매김하여 작업 배정 효율성을 향상시키기 위해.
- 제출이 전혀 이루어지지 않을 가능성이 높은 작업을 사전에 예측하여 능동적인 조치를 유도하기 위해.
- CSD 환경에서 예측 정확도를 평가하고 비교하기 위해 다양한 기계학습 기법을 평가하기 위해.
제안 방법
- 실제 Topcoder의 작업 및 작업자 데이터를 대량으로 분석하여 예측 가능한 특징을 추출한다.
- 비교 분석을 위해 랜덤 포레스트, 로지스틱 회귀, 서포트 벡터 머신, 나이브 베이즈 등의 다수의 기계학습 기법을 사용한다.
- 모델을 학습시어 각 작업자에 대해 두 가지 결과를 예측한다: 작업 승자 가능성과 작업 포기 가능성.
- 예측된 성공 확률에 기반해 각 작업에 대해 작업자를 순위 매기며, 가장 자격이 높은 후보를 우선순위로 배정한다.
- F-측정치를 평가 지표로 사용하여 제출이 전혀 없을 가능성이 높은 작업을 식별하는 예측 모델을 개발한다.
- 비효율적인 노력의 낭비를 최소화하기 위해 개발 시작 전에 일치하지 않는 작업자-작업 쌍을 걸러내는 방식으로 작업 배정을 최적화한다.
실험 결과
연구 질문
- RQ1컨소시엄 소프트웨어 개발 환경에서 작업자 성공 여부와 작업 포기 행동을 예측하는 데 있어 어떤 기계학습 기법이 가장 우수한 성능을 보였는가?
- RQ2예측 모델링을 통해 등록되었지만 부적절한 작업에서의 성과가 없는 개발 노력은 얼마나 줄일 수 있는가?
- RQ3시스템이 승리 가능성이 높은 상위 순위의 작업자를 얼마나 정확하게 추천할 수 있는가?
- RQ4시스템이 제출이 전혀 없을 가능성이 높은 작업을 신뢰성 있게 예측할 수 있는가? 이를 통해 조치를 조기에 취할 수 있는가?
- RQ5작업자 경험 수준이 예측적 추천의 효과성에 어떤 영향을 미치는가?
주요 결과
- 랜덤 포레스트는 모든 다른 기법보다 작업 승자 및 포기자 예측에서 뛰어난 성능을 보이며 최적의 모델로 입증되었다.
- 시스템은 경험 많은 작업자에게서는 등록된 작업당 평균 3.5명일 분량, 경험이 적은 작업자에게서는 4.6명일 분량의 비생산적 개발 노력이 감소함을 확인하였다. 이는 30일 간의 기간 동안의 평균 결과이다.
- 상위 두 명의 추천 작업자 중 실제 승자인 작업자가 포함된 경우가 94.07%에 달하여, 추천 정확도가 매우 높음을 입증하였다.
- 시스템은 제출이 전혀 없을 가능성이 높은 작업을 F-측정치 80%를 초과하여 정확하게 예측하였으며, 문제 발생 가능성이 높은 작업을 조기에 탐지할 수 있었다.
- 개발 시작 전에 작업자와 작업 간의 불일치를 걸러내어 낭비되는 노력의 양을 크게 줄였다.
- 결과적으로 데이터 기반 의사결정 지원이 컨소시엄 소프트웨어 개발의 효율성과 성공률을 크게 향상시킬 수 있음을 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.