SkillScope: A Tool to Predict Fine-Grained Skills Needed to Solve Issues on GitHub
作者: Benjamin C. Carter, Jonathan Rivas Contreras, Carlos A. Llanes Villegas, Pawan Acharya, Jack Utzerath, Adonijah O. Farner, Hunter Jenkins, Dylan Johnson, Jacob Penney, Igor Steinmacher, Marco A. Gerosa, Fabio Santos
分类: cs.SE, cs.LG
发布日期: 2025-01-27
💡 一句话要点
SkillScope:预测GitHub问题所需细粒度技能,辅助开源项目贡献者。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 开源软件 技能预测 大型语言模型 随机森林 GitHub 任务分配 软件工程 多层次技能
📋 核心要点
- 开源项目贡献者难以找到适合自身技能的任务,现有问题跟踪器缺乏对所需技能的详细描述。
- SkillScope工具利用大型语言模型和随机森林,预测GitHub Java项目问题所需的多层次编程技能。
- 案例研究表明,SkillScope能以高精度、高召回率和高F-measure预测任务所需的技能。
📝 摘要(中文)
新贡献者在加入开源软件(OSS)项目时,常常难以找到适合自己能力的任务。一个主要原因是问题跟踪器缺乏关于成功完成任务所需的知识或技能的解释。这些解释的生成过程可能复杂且耗时。过去的研究通过标记问题类型、难度级别和所需技能在一定程度上解决了这个问题。然而,现有方法仅限于少量标签,并且缺乏对其语义的深入细节描述,这可能不足以帮助贡献者识别合适的任务。为了克服这一限制,本文探索了大型语言模型(LLMs)和随机森林(RF)来预测解决开放问题所需的多层次技能。我们介绍了一种名为SkillScope的新工具,它可以从GitHub上托管的Java项目中检索当前问题,并预测解决这些问题所需的多层次编程技能。在一个案例研究中,我们证明SkillScope能够以平均91%的精确率、88%的召回率和89%的F-measure预测任务所需的217个多层次技能。从业者可以使用此工具来更好地委派或选择OSS项目中要解决的任务。
🔬 方法详解
问题定义:论文旨在解决开源项目中新贡献者难以找到合适任务的问题。现有方法的问题在于,问题跟踪器对任务所需技能的描述不足,且现有技能标签集合有限,缺乏细粒度和语义信息,无法有效帮助贡献者选择任务。
核心思路:论文的核心思路是利用大型语言模型(LLMs)理解问题描述,并结合机器学习模型(随机森林)预测解决问题所需的多层次技能。通过这种方式,可以自动生成更详细、更准确的技能需求信息,从而帮助贡献者找到合适的任务。
技术框架:SkillScope工具的整体框架包含以下几个主要模块:1) 从GitHub检索Java项目的问题;2) 使用大型语言模型处理问题描述;3) 使用随机森林模型预测所需的多层次技能;4) 将预测结果展示给用户。该流程旨在自动化技能预测过程,并提供易于理解的结果。
关键创新:该论文的关键创新在于结合了大型语言模型和机器学习模型,实现了对开源项目问题所需多层次技能的自动预测。与现有方法相比,SkillScope能够预测更细粒度、更全面的技能需求,从而更有效地帮助贡献者找到合适的任务。
关键设计:论文中使用了预训练的大型语言模型(具体模型未知)来提取问题描述的语义信息。随机森林模型则使用提取的语义信息作为特征,预测所需的多层次技能。技能体系的具体构建方式和随机森林模型的参数设置等细节信息未知。
🖼️ 关键图片
📊 实验亮点
SkillScope在一个案例研究中表现出色,能够以平均91%的精确率、88%的召回率和89%的F-measure预测任务所需的217个多层次技能。这些结果表明,SkillScope能够有效地预测解决开源项目问题所需的技能。
🎯 应用场景
SkillScope可应用于开源软件项目,帮助新贡献者快速找到适合自己的任务,降低参与门槛,提高贡献效率。同时,项目维护者可以利用该工具更好地分配任务,提高开发效率。该研究的成果还可以推广到其他类型的协作平台,例如企业内部的知识共享平台。
📄 摘要(原文)
New contributors often struggle to find tasks that they can tackle when onboarding onto a new Open Source Software (OSS) project. One reason for this difficulty is that issue trackers lack explanations about the knowledge or skills needed to complete a given task successfully. These explanations can be complex and time-consuming to produce. Past research has partially addressed this problem by labeling issues with issue types, issue difficulty level, and issue skills. However, current approaches are limited to a small set of labels and lack in-depth details about their semantics, which may not sufficiently help contributors identify suitable issues. To surmount this limitation, this paper explores large language models (LLMs) and Random Forest (RF) to predict the multilevel skills required to solve the open issues. We introduce a novel tool, SkillScope, which retrieves current issues from Java projects hosted on GitHub and predicts the multilevel programming skills required to resolve these issues. In a case study, we demonstrate that SkillScope could predict 217 multilevel skills for tasks with 91% precision, 88% recall, and 89% F-measure on average. Practitioners can use this tool to better delegate or choose tasks to solve in OSS projects.