Full Text:   <706>

Summary:  <147>

CLC number: TP391.7

On-line Access: 2019-03-11

Received: 2017-02-13

Revision Accepted: 2017-07-20

Crosschecked: 2018-02-15

Cited: 0

Clicked: 1939

Citations:  Bibtex RefMan EndNote GB/T7714

 ORCID:

Cheng Yang

http://orcid.org/0000-0002-4782-1645

-   Go to

Article info.
Open peer comments

Frontiers of Information Technology & Electronic Engineering  2019 Vol.20 No.2 P.222-237

http://doi.org/10.1631/FITEE.1700196


RepoLike: a multi-feature-based personalized recommendation approach for open-source repositories


Author(s):  Cheng Yang, Qiang Fan, Tao Wang, Gang Yin, Xun-hui Zhang, Yue Yu, Hua-min Wang

Affiliation(s):  Key Laboratory of Parallel and Distributed Computing, National University of Defense Technology, Changsha 410073, China

Corresponding email(s):   delpiero710@126.com

Key Words:  Social coding, Open-source software, Personal recommendation, GitHub


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.

RepoLike:一种基于多特性的开源代码仓库个性化推荐方法

摘要:随着软件协同开发与社交网络深度融合,社会化编程代表一种新型的软件生产与创造范式。由于其良好的灵活性和开放性,开源社区吸引了大量外部贡献者,他们在开源开发中扮演着重要角色。然而,在线开源开发是一项全球化、分布式的合作工作,如不加以监督,贡献过程可能导致效率低下。贡献者需花费大量时间从社区数千个开源项目中找到合适的项目或任务。本文提出一种名为"RepoLike"的新方法,为开发人员推荐基于线性组合和学习排序的开源项目。使用项目受欢迎程度、项目间技术依赖关系和开发人员间的社会关系来度量开发人员与给定开源项目间的相关性。实验结果表明,该方法在推荐20个候选者时可达25%以上命中率,这意味着它可以向贡献者推荐紧密相关的开源仓库。

关键词:社会化编程;开源软件;个性化推荐;GitHub

Darkslateblue:Affiliate; Royal Blue:Author; Turquoise:Article

Reference

[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>

Please provide your name, email address and a comment





Journal of Zhejiang University-SCIENCE, 38 Zheda Road, Hangzhou 310027, China
Tel: +86-571-87952783; E-mail: cjzhang@zju.edu.cn
Copyright © 2000 - Journal of Zhejiang University-SCIENCE