论文标题

GitHub-oss FixIt:在软件工程课程中大规模修复错误

GitHub-OSS Fixit: Fixing bugs at scale in a Software Engineering Course

论文作者

Tan, Shin Hwei, Hu, Chunfeng, Li, Ziqiang, Zhang, Xiaowen, Zhou, Ying

论文摘要

许多研究表明,将开源项目引入教学软件工程(SE)课程的好处。但是,现有研究存在一些限制,这些局限性限制了教室环境中开源项目的广泛适应,包括(1)所选项目仅限于一个特定项目,(2)大多数研究仅研究了其对教学特定SE概念的影响,并且(3)学生可能会在其贡献中犯错误,从而导致质量差。同时,软件公司成功启动了诸如Google Summer的代码(GSOC)和FindBugs“ FixIt”之类的程序,以促进开源项目。受这些计划成功的启发,我们提出了Github-Oss Fixit,这是一个课程项目,该课程被教导通过修复Github报告的错误来为开源Java项目做出贡献。我们描述了我们的课程大纲,以鼓励几种自动化程序分析工具的使用来教授学生SE概念。我们还提供了我们给学生参加Github-Oss Fixit的精心设计的说明。随着所有讲座和实验室的在线进行,我们认为我们的课程设计可以帮助指导未来的在线SE课程。总体而言,我们的调查结果表明,学生认为Github-Oss Fixit可以帮助他们提高许多技能并运用课堂上的知识。总共有154名学生向24个不同的Java项目提交了214个拉动请求,其中59个已合并,开发人员关闭了82个。

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 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 59 of them have been merged, and 82 have been closed by developers.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源