Skip to main content
QUICK REVIEW

[论文解读] Student Teamwork on Programming Projects: What can GitHub logs show us?

Niki Gitinabard, Ruth Okoilu|arXiv (Cornell University)|Aug 25, 2020
Software Engineering Research参考文献 38被引用 8
一句话总结

本研究提出一种方法,通过使用GitHub提交日志,自动分类学生在编程项目中的团队合作风格,利用自然语言处理(NLP)对提交信息进行分类,结合机器学习预测协作类型。该方法在识别协作型、合作型及单独提交型团队方面,F1分数均超过0.68,可实现对不均衡贡献模式的早期检测。

ABSTRACT

Teamwork, often mediated by version control systems such as Git and Apache Subversion (SVN), is central to professional programming. As a consequence, many colleges are incorporating both collaboration and online development environments into their curricula even in introductory courses. In this research, we collected GitHub logs from two programming projects in two offerings of a CS2 Java programming course for computer science majors. Students worked in pairs for both projects (one optional, the other mandatory) in each year. We used the students' GitHub history to classify the student teams into three groups, collaborative, cooperative, or solo-submit, based on the division of labor. We then calculated different metrics for students' teamwork including the total number and the average number of commits in different parts of the projects and used these metrics to predict the students' teamwork style. Our findings show that we can identify the students' teamwork style automatically from their submission logs. This work helps us to better understand novices' habits while using version control systems. These habits can identify the harmful working styles among them and might lead to the development of automatic scaffolds for teamwork and peer support in the future.

研究动机与目标

  • 通过GitHub提交日志自动识别学生的团队合作风格——协作型、合作型或单独提交型。
  • 通过提交模式分析学生在项目各组件(如实现、测试)中的贡献分布情况。
  • 基于提交指标和过往表现,开发预测模型以识别高风险团队。
  • 支持教师早期发现不均衡的协作行为,实现及时干预。

提出的方法

  • 手动将400条提交信息标记为类别(如实现、测试、错误修复),以构建标注数据集。
  • 应用TF-IDF与逻辑回归,自动将剩余的提交信息分类至项目组件类别。
  • 收集两轮CS2 Java课程中配对编程项目的GitHub提交数据。
  • 由领域专家手动将100个团队仓库标记为三种团队合作风格:协作型、合作型或单独提交型。
  • 提取特征,如各类别提交次数、每位用户的提交占比,以及过往学业表现。
  • 训练并评估逻辑回归与随机森林模型,基于提交指标预测团队合作风格。

实验结果

研究问题

  • RQ1能否使用自然语言处理技术自动将提交信息内容分类至项目组件类别?
  • RQ2能否准确地从GitHub提交日志中预测学生的团队合作风格(协作型、合作型或单独提交型)?
  • RQ3哪些基于提交的指标对不同团队合作风格最具预测性?
  • RQ4过往学业表现与团队组建选择如何影响团队合作风格的预测?
  • RQ5自动化模型能否在最终项目提交前,早期识别出单独提交行为的迹象?

主要发现

  • 本研究成功利用TF-IDF与逻辑回归将提交信息分类至项目组件,实现了对贡献模式的自动化分析。
  • 随机森林模型在识别单独提交型团队时,F1得分为0.90,表明该类别具有强大的预测能力。
  • 在整个项目中,每位用户提交占比是预测单独提交行为的最重要特征。
  • 诸如特定类别(如测试、实现)的提交占比等指标,对协作型与合作型团队的预测效果优于总提交次数。
  • 出人意料的是,配对编程活动并未成为最具有预测性的特征,可能是因为提交信息记录不一致。
  • 模型表明,对GitHub日志的自动化分析能够可靠地在学期早期检测出潜在的团队合作问题模式,支持教师实施主动干预。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。