CLC number: TP391.7
On-line Access: 2024-08-27
Received: 2023-10-17
Revision Accepted: 2024-05-08
Crosschecked: 2018-02-15
Cited: 0
Clicked: 6490
Cheng Yang, Qiang Fan, Tao Wang, Gang Yin, Xun-hui Zhang, Yue Yu, Hua-min Wang. RepoLike: a multi-feature-based personalized recommendation approach for open-source repositories[J]. Frontiers of Information Technology & Electronic Engineering, 2019, 20(2): 222-237.
@article{title="RepoLike: a multi-feature-based personalized recommendation approach for open-source repositories",
author="Cheng Yang, Qiang Fan, Tao Wang, Gang Yin, Xun-hui Zhang, Yue Yu, Hua-min Wang",
journal="Frontiers of Information Technology & Electronic Engineering",
volume="20",
number="2",
pages="222-237",
year="2019",
publisher="Zhejiang University Press & Springer",
doi="10.1631/FITEE.1700196"
}
%0 Journal Article
%T RepoLike: a multi-feature-based personalized recommendation approach for open-source repositories
%A Cheng Yang
%A Qiang Fan
%A Tao Wang
%A Gang Yin
%A Xun-hui Zhang
%A Yue Yu
%A Hua-min Wang
%J Frontiers of Information Technology & Electronic Engineering
%V 20
%N 2
%P 222-237
%@ 2095-9184
%D 2019
%I Zhejiang University Press & Springer
%DOI 10.1631/FITEE.1700196
TY - JOUR
T1 - RepoLike: a multi-feature-based personalized recommendation approach for open-source repositories
A1 - Cheng Yang
A1 - Qiang Fan
A1 - Tao Wang
A1 - Gang Yin
A1 - Xun-hui Zhang
A1 - Yue Yu
A1 - Hua-min Wang
J0 - Frontiers of Information Technology & Electronic Engineering
VL - 20
IS - 2
SP - 222
EP - 237
%@ 2095-9184
Y1 - 2019
PB - Zhejiang University Press & Springer
ER -
DOI - 10.1631/FITEE.1700196
Abstract: With the deep integration of software collaborative development and social networking, social coding represents a new style of software production and creation paradigm. Because of their good flexibility and openness, a large number of external contributors have been attracted to the open-source communities. They are playing a significant role in open-source development. However, the open-source development online is a globalized and distributed cooperative work. If left unsupervised, the contribution process may result in inefficiency. It takes contributors a lot of time to find suitable projects or tasks from thousands of open-source projects in the communities to work on. In this paper, we propose a new approach called “RepoLike,” to recommend repositories for developers based on linear combination and learning to rank. It uses the project popularity, technical dependencies among projects, and social connections among developers to measure the correlations between a developer and the given projects. Experimental results show that our approach can achieve over 25% of hit ratio when recommending 20 candidates, meaning that it can recommend closely correlated repositories to social developers.
[1]Allamanis M, Sutton C, 2013. Why, when, and what: analyzing stack overflow questions by topic, type, and code. 10th Working Conf on Mining Software Repositories, p.53-56.
[2]Anvik J, Hiew L, Murphy GC, 2006. Who should fix this bug? 28th Int Conf on Software Engineering, p.361-370.
[3]Bacchelli A, Ponzanelli L, Lanza M, 2012. Harnessing stack overflow for the IDE. 3rd Int Workshop on Recommendation Systems for Software Engineering, p.26-30.
[4]Bajracharya S, Ossher J, Lopes C, 2009. Sourcerer: an Internet-scale software repository. Int Workshop on Search-Driven Development-Users, Infrastructure, Tools, and Evaluation, p.1-4.
[5]Begel A, DeLine R, Zimmermann T, 2010. Social media for software engineering. FSE/SDP Workshop on Future of Software Engineering Research, p.33-38.
[6]Begel A, Bosch J, Storey MA, 2013. Social networking meets software development: perspectives from GitHub, MSDN, Stack exchange, and Topcoder. IEEE Softw, 30(1):52-66.
[7]Bhattacharya P, Neamtiu I, 2010. Fine-grained incremental learning and multi-feature tossing graphs to improve bug triaging. IEEE Int Conf on Software Maintenance, p.1-10.
[8]Blincoe K, Harrison F, Damian D, 2015. Ecosystems in GitHub and a method for ecosystem identification using reference coupling. IEEE/ACM 12th Working Conf on Mining Software Repositories, p.202-207.
[9]Boyd DM, Ellison NB, 2007. Social network sites: definition, history, and scholarship. J Comput-Mediat Commun, 13(1):210-230.
[10]Brandt J, Dontcheva M, Weskamp M, et al., 2010. Example-centric programming: integrating web search into the development environment. SIGCHI Conf on Human Factors in Computing Systems, p.513-522.
[11]Canfora G, di Penta M, Oliveto R, et al., 2012. Who is going to mentor newcomers in open-source projects? ACM 20th Int Symp on the Foundations of Software Engineering, Article 44.
[12]Chen X, Grundy J, 2011. Improving automated documentation to code traceability by combining retrieval techniques. 26th IEEE/ACM Int Conf on Automated Software Engineering, p.223-232.
[13]Chen X, Qin Z, Zhang Y, et al., 2016. Learning to rank features for recommendation over multiple categories. 39th Int ACM SIGIR Conf on Research and Development in Information Retrieval, p.305-314.
[14]Dabbish L, Stuart C, Tsay J, et al., 2012. Social coding in GitHub: transparency and collaboration in an open software repository. ACM Conf on Computer Supported Cooperative Work, p.1277-1286.
[15]Favre JM, Lämmel R, Leinberger M, et al., 2012. Linking documentation and source code in a software chrestomathy. 19th Working Conf on Reverse Engineering, p.335-344.
[16]Grechanik M, Fu C, Xie Q, et al., 2010. A search engine for finding highly relevant applications. ACM/IEEE 32nd Int Conf on Software Engineering, p.475-484.
[17]Holmes R, Murphy GC, 2005. Using structural context to recommend source code examples. 27th Int Conf on Software Engineering, p.117-125.
[18]Jeong G, Kim S, Zimmermann T, 2009. Improving bug triage with bug tossing graphs. 7th Joint Meeting of the European Software Engineering Conf and the ACM SIGSOFT Symp on the Foundations of Software Engineering, p.111-120.
[19]Kokkoras F, Ntonas K, Kritikos A, et al., 2012. Federated search for open-source software reuse. 38th Euromicro Conf on Software Engineering and Advanced Applications, p.200-203.
[20]Lozano A, Kellens A, Mens K, 2011. Mendel: source code recommendation based on a genetic metaphor. 26th IEEE/linebreak ACM Int Conf on Automated Software Engineering, p.384-387.
[21]McMillan C, Poshyvanyk D, Grechanik M, 2010. Recommending source code examples via API call usages and documentation. 2nd Int Workshop on Recommendation Systems for Software Engineering, p.21-25.
[22]Rigby PC, Robillard MP, 2013. Discovering essential code elements in informal documentation. Int Conf on Software Engineering, p.832-841.
[23]Storey MA, Treude C, van Deursen A, et al., 2010. The impact of social media on software engineering practices and tools. FSE/SDP Workshop on Future of Software Engineering Research, p.359-364.
[24]Surian D, Liu N, Lo D, et al., 2011. Recommending people in developers‘ collaboration network. 18th Working Conf on Reverse Engineering, p.379-388.
[25]Wang H, Yin G, Xie B, et al., 2014. Research on network-based large-scale collaborative development and evolution of trustworthy software. Sci Sin Inform, 44(1):1-19.
[26]Wang T, Yin G, Wang H, et al., 2014. Linking stack overflow to issue tracker for issue resolution. 6th Asia-Pacific Symp on Internetware, p.11-14.
[27]Xie T, Pei J, 2006. Mapo: mining API usages from open source repositories. Int Workshop on Mining Software Repositories, p.54-57.
[28]Yang C, Fan Q, Wang T, et al., 2016. RepoLike: personal repositories recommendation in social coding communities. 8th Asia-Pacific Symp on Internetware, p.54-62.
[29]Ye Y, Fischer G, 2002. Information delivery in support of learning reusable software components on demand. 7th Int Conf on Intelligent User Interfaces, p.159-166.
[30]Yin G, Wang T, Wang H, et al., 2015. Ossean: mining crowd wisdom in open source communities. IEEE Symp on Service-Oriented System Engineering, p.367-371.
[31]Yu Y, Wang H, Yin G, et al., 2016. Reviewer recommendation for pull-requests in GitHub: what can we learn from code review and bug assignment? Inform Softw Technol, 74:204-218.
[32]Zagalsky A, Barzilay O, Yehudai A, 2012. Example overflow: using social media for code recommendation. 3rd Int Workshop on Recommendation Systems for Software Engineering, p.38-42.
[33]Zhou M, Mockus A, 2011. Does the initial environment impact the future of developers? 33rd Int Conf on Software Engineering, p.271-280.
[34]Zhu J, Shen B, Hu F, 2015. A learning to rank framework for developer recommendation in software crowdsourcing. Asia-Pacific Software Engineering Conf, p.285-292.
Open peer comments: Debate/Discuss/Question/Opinion
<1>