一句话:提出 GitHub-OSS Fixit 团队课程项目,让学生通过修复 GitHub 开源 Java 项目缺陷学习软件工程,并评估其效果。
论文针对开源项目进入软件工程教学的局限:所选项目单一、多聚焦特定 SE 概念,且学生贡献可能存在代码质量问题。受 GSoC 与 FindBugs fixit 启发,作者提出 GitHub-OSS Fixit 团队课程项目,让学生修复 GitHub 上报告的开源 Java 项目缺陷,并鼓励使用自动化程序分析工具。课程给出精心设计的参与指南,适于全在线教学。评估结合问卷与真实贡献数据:154 名学生向 24 个 Java 项目提交 214 个 pull request,93 个被合并、46 个被开发者关闭;学生认为该方式提升了多项技能并能应用课堂知识。
Many studies have shown the benefits of introducing open-source projects into teaching Software Engineering (SE) courses. However, there are several limitations of existing studies that limit the wide adaptation of open-source projects in a classroom setting, including (1) the selected project is limited to one particular project, (2) most studies only investigated on its effect on teaching a specific SE concept, and (3) students may make mistakes in their contribution which leads to poor quality code. Meanwhile, software companies have successfully launched programs like Google Summer of Code (GSoC) and FindBugs "fixit" to contribute to open-source projects. Inspired by the success of these programs, we propose GitHub-OSS Fixit, a team-based course project where students are taught to contribute to open-source Java projects by fixing bugs reported in GitHub. We described our course outline to teach students SE concepts by encouraging the usages of several automated program analysis tools. We also included the carefully designed instructions that we gave to students for participating in GitHub-OSS Fixit. As all lectures and labs are conducted online, we think that our course design could help in guiding future online SE courses. Overall, our survey results show that students think that GitHub-OSS Fixit could help them to improve many skills and apply the knowledge taught in class. In total, 154 students have submitted 214 pull requests to 24 different Java projects, in which 93 of them have been merged, and 46 have been closed by developers.
DOI 原文 ·
@inproceedings{paperbot6278,
title = {GitHub-OSS Fixit: Fixing Bugs at Scale in a Software Engineering Course},
author = {Shin Hwei Tan and Chunfeng Hu and Ziqiang Li and Xiaowen Zhang and Ying Zhou},
booktitle = {ICSE},
year = {2021},
doi = {10.1109/icse-seet52601.2021.00009}
}