[论文解读] Decision Support for Increasing the Efficiency of Crowdsourced Software Development
本文提出了一种基于机器学习的决策支持系统,通过预测工作者成功率、任务可行性以及最优工作者-任务匹配,提升众包软件开发的效率。基于Topcoder数据使用随机森林模型,该系统将每项任务的非生产性工作量减少最多达4.6人天,且在预测非提交风险方面F-measure超过80%,同时在前两名推荐中实现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任务与工作者数据进行大规模数据分析,提取预测特征。
- 使用多种机器学习技术(随机森林、逻辑回归、SVM和朴素贝叶斯)进行对比分析。
- 训练模型以预测两个结果:每位工作者赢得任务的可能性和放弃任务的可能性。
- 基于预测的成功概率,为每项任务对工作者进行排序,优先推荐最合格的候选人。
- 开发一个预测模型,用于识别可能无任何提交的任务,以F-measure作为评估指标。
- 通过仅推荐高潜力的工作者-任务配对,优化任务分配,从而最小化浪费的工作量。
实验结果
研究问题
- RQ1在预测众包软件开发中工作者成功率和任务放弃行为方面,哪种机器学习技术表现最佳?
- RQ2预测建模在多大程度上可减少注册但不匹配任务中的非成功开发工作量?
- RQ3系统在多大程度上能准确推荐最有可能赢得任务的高排名工作者?
- RQ4系统能否可靠预测出无任何提交的任务,从而实现及时纠正措施?
- RQ5工作者经验水平对预测推荐效果有何影响?
主要发现
- 随机森林在预测任务获胜者和放弃者方面优于所有其他技术,确立其为最优模型。
- 该系统将注册任务中非成功开发工作量平均减少了3.5人天(经验丰富的工作者)和4.6人天(缺乏经验的工作者),持续30天。
- 在94.07%的情况下,前两名推荐的工作者中包含了实际任务获胜者,表明推荐准确度极高。
- 系统预测可能无任何提交的任务的F-measure超过80%,实现了对问题任务的早期识别。
- 通过在开发开始前过滤掉不匹配的工作者-任务配对,该模型显著减少了浪费的工作量。
- 结果表明,数据驱动的决策支持可显著提升众包软件开发的效率与成功率。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。