Developer Onboarding

Recommending GitHub Projects for Developer Onboarding


Open source platform (e.g., GitHub) creates a tremendous opportunity for developers to learn and build experience. Contribution to open source can be rewarding for developers and advocates the evolutionary progress of the open source software. However, finding a suitable project to contribute can be intimidating for developers because of the enormous possible choices. Due to various social and technical barriers, developers might fail to contribute successfully. Frequent unsuccessful onboarding hampers not only developers’ individual advancement but also the evolutionary progress of open source projects. To mitigate developers’ costly efforts for onboarding, we propose a learning-to-rank model NNLRank (Neural Network for List-wise Ranking) to recommend projects that developers are likely to contribute. NNLRank leverages project features and developers’ experience to recommend projects for onboarding. We develop an efficient approach to optimize the neural network where we leverage a list-wise loss function which intends to minimize the difference between the predicted projects list and the ground-truth list preferred by developers. We evaluate NNLRank with 2044 successful onboarding decisions from GitHub and compare it with three standard learning-to-rank models and a prior onboarding tool. Experimental results show that NNLRank can provide effective and efficient onboarding recommendation to developers, substantially outperforming the previous models.

IEEE Access 2018