scholarly journals M-BiRank: Co-ranking developers and projects using multiple developer-project interactions in open source software community

2020 ◽  
Author(s):  
Dengcheng Yan ◽  
Bin Qi ◽  
Yiwen Zhang ◽  
Zhen Shao

Abstract Social collaborative coding is a popular trend in software development and such platforms as GitHub provides rich social and technical functionalities for developers to collaborate on open source projects through multiple interactions. Developers often follow popular developers and projects for learning, technical selection and collaboration. Thus identifying popular developers and projects is very meaningful. In this paper, we propose a multiplex bipartite network ranking model, M-BiRank, to co-rank developers and projects using multiple developer-project interactions. Firstly, multiple developer-project interactions such as commit, issue and watch is extracted and a multiplex developer-project bipartite network is constructed. Secondly, a random layer is selected from this multiplex bipartite network and initial ranking scores are calculated for developers and projects using BiRank. Finally, initial ranking scores diffuse to other layers and mutual reinforcement is taken into consideration to iteratively calculate ranking scores of developers and projects in different layers. Experiments on real world GitHub dataset show that M-BiRank outperforms traditional single layer PageRank and BiRank.

2020 ◽  
Author(s):  
Dengcheng Yan ◽  
Bin Qi ◽  
Yiwen Zhang ◽  
Zhen Shao

Abstract Social collaborative coding is a popular trend in software development and such platforms as GitHub provides rich social and technical functionalities for developers to collaborate on open source projects through multiple interactions. Developers often follow popular developers and projects for learning, technical selection and collaboration. Thus identifying popular developers and projects is very meaningful. In this paper, we propose a multiplex bipartite network ranking model, M-BiRank, to co-rank developers and projects using multiple developer-project interactions. Firstly, multiple developer-project interactions such as commit, issue and watch is extracted and a multiplex developer-project bipartite network is constructed. Secondly, a random layer is selected from this multiplex bipartite network and initial ranking scores are calculated for developers and projects using BiRank. Finally, initial ranking scores diffuse to other layers and mutual reinforcement is taken into consideration to iteratively calculate ranking scores of developers and projects in different layers. Experiments on real world GitHub dataset show that M-BiRank outperforms degree centrality, traditional single layer ranking methods as well as multiplex ranking method.


Author(s):  
Dengcheng Yan ◽  
Bin Qi ◽  
Yiwen Zhang ◽  
Zhen Shao

Abstract Social collaborative coding is a popular trend in software development, and such platforms as GitHub provide rich social and technical functionalities for developers to collaborate on open source projects through multiple interactions. Developers often follow popular developers and projects for learning, technical selection, and collaboration. Thus, identifying popular developers and projects is very meaningful. In this paper, we propose a multiplex bipartite network ranking model, M-BiRank, to co-rank developers and projects using multiple developer-project interactions. Firstly, multiple developer-project interactions such as commit, issue, and watch are extracted and a multiplex developer-project bipartite network is constructed. Secondly, a random layer is selected from this multiplex bipartite network and initial ranking scores are calculated for developers and projects using BiRank. Finally, initial ranking scores diffuse to other layers and mutual reinforcement is taken into consideration to iteratively calculate ranking scores of developers and projects in different layers. Experiments on real-world GitHub dataset show that M-BiRank outperforms degree centrality, traditional single layer ranking methods, and multiplex ranking method.


2020 ◽  
Author(s):  
Dengcheng Yan ◽  
Bin Qi ◽  
Yiwen Zhang ◽  
Zhen Shao

Abstract Social collaborative coding is a popular trend in software development and such platforms as GitHub provides rich social and technical functionalities for developers to collaborate on open source projects through multiple interactions. Developers often follow popular developers and projects for learning, technical selection and collaboration. Thus identifying popular developers and projects is very meaningful. In this paper, we propose a multiplex bipartite network ranking model, M-BiRank, to co-rank developers and projects using multiple developer-project interactions. Firstly, multiple developer-project interactions such as commit, issue and watch is extracted and a multiplex developer-project bipartite network is constructed. Secondly, a random layer is selected from this multiplex bipartite network and initial ranking scores are calculated for developers and projects using BiRank. Finally, initial ranking scores diffuse to other layers and mutual reinforcement is taken into consideration to iteratively calculate ranking scores of developers and projects in different layers. Experiments on real world GitHub dataset show that M-BiRank outperforms degree centrality, traditional single layer ranking methods as well as multiplex ranking method.


10.28945/4516 ◽  
2020 ◽  
Author(s):  
Christine Bakke

Aim/Purpose: To examine crowd-sourced programming as an experiential learning, instructional medium. The goal is to provide real-time, real-world, artificial intelligence programming without textbook instructional materials. Background: Open source software has resulted in loosely knit communities of global software developers that work together on a software project. Taking open source software development to another level, current trends have expanded into crowd sourced development of Artificial Intelligence (AI). This project explored the use of Amazon Alexa’s tools and web resources to learn AI software development. Methodology: This project incorporated experiential and inquiry educational methods that combined direct experience with crowd-sourced programming while requiring students to take risks, solve problems, be creative, make mistakes and resolve them. The instructor facilitated the learning experience through weekly meetings and structured reports that focused on goal setting and analysis of problems. This project is part of ongoing research into small group creative works research that provides students with real-world coding experience. Contribution: Undergraduate students successfully programmed an introductory level social bot using experiential learning methods and a crowd-sourced programming project (Amazon Alexa social bot). Findings: A of the experience and findings will be included with final paper release summary Recommendations for Practitioners: Crowd sourced programming provides opportunities and can be harnessed for semester long coding projects to develop student programming skills through direct involvement in real open sourced projects. Recommendation for Researchers: There is a high rate of failure associated with software projects, yet pro-gramming courses continue to be taught as they have been for decades. More research needs to be done and instructional materials developed for the undergraduate level that use real programming projects. Can we improve the rate of success for software projects by requiring expe-riential education in our courses? Impact on Society: Crowd-sourced programming is an opportunity for students to learn to program and build their portfolio with real world experience. Students participating in crowd-sourced programming are involved in creative works research and gain experience developing real-world software. Future Research: Future research will explore experiential learning such as crowd-sourced and other open source programming opportunities for undergraduate students to participate in real software development.


Electronics ◽  
2021 ◽  
Vol 10 (10) ◽  
pp. 1181
Author(s):  
Juanan Pereira

(1) Background: final year students of computer science engineering degrees must carry out a final degree project (FDP) in order to graduate. Students’ contributions to improve open source software (OSS) through FDPs can offer multiple benefits and challenges, both for the students, the instructors and for the project itself. This work reports on a practical experience developed by four students contributing to mature OSS projects during their FDPs, detailing how they addressed the multiple challenges involved, both from the students and teachers perspective. (2) Methods: we followed the work of four students contributing to two established OSS projects for two academic years and analyzed their work on GitHub and their responses to a survey. (3) Results: we obtained a set of specific recommendations for future practitioners and detailed a list of benefits achieved by steering FDP towards OSS contributions, for students, teachers and the OSS projects. (4) Conclusion: we find out that FDPs oriented towards enhancing OSS projects can introduce students into real-world, practical examples of software engineering principles, give them a boost in their confidence about their technical and communication skills and help them build a portfolio of contributions to daily used worldwide open source applications.


Sign in / Sign up

Export Citation Format

Share Document