Please use this identifier to cite or link to this item: https://ah.nccu.edu.tw/handle/140.119/79261


Title: 軟體典藏庫資料分析:以GitHub為例
Data Analysis for Software Repository: A Case Study of GitHub
Authors: 劉耀文
Liu, Yao Wen
Contributors: 徐國偉
Hsu, Kuo Wei
劉耀文
Liu, Yao Wen
Keywords: 社群網絡
軟體典藏庫
資料分析
Social Network
Software Repository
Data Analysis
Date: 2015
Issue Date: 2015-11-02 15:01:18 (UTC+8)
Abstract: GitHub是2008年開始發展,提供線上源碼託管服務的網路平台。除了提供使用者建立組織、專案和存取軟體庫之外,更提供一些網站社交功能,包括允許使用者追蹤其他用戶、加入專案組織與關注軟體庫的動態,並且對於軟體源碼的修改和針對程式錯誤(bug)提出評論等,使用者或組織成員透過平台上版本控管服務來共同開發軟體專案,並透過GitHub提供的社交服務來完成溝通與協調。
本研究針對GitHub資料集進行整體性的觀察與分析,透過不同的社群網絡指標與分析方法,發現GitHub平台上的協同合作與社交活動。舉例來說,為了找出GitHub上網路的彈性,我們使用度分布,還有近距中間度及參與中間度的值。同時,我們針對使用者或專案之間的互動情形來分析關聯性,並以平台上不同的操作事件來觀察使用者是否偏好某些行為,抑或是某些事件之間是否會互相影響。
研究目標希望能透過GitHub平台所取得的部分資料,來推論GitHub上的真實情況。希望透過專案之間的關聯性,來找出平台上最具影響力的專案或使用者;也將針對程式語言與公司組織的關聯性,觀察技術之間的可替代性,與公司之間的相互合作的情況。同時以GitHub平台上不同操作事件之間的相關性,觀察出何種操作行為會影響使用者進行貢獻(提交源碼)。
另一方面,本研究將以專案的吸引力與黏著度等角度,來針對GitHub平台上的專案進行分析。針對這兩種維度進行觀察,期望進一步得知專案的貢獻程度,與專案隨著時間的所產生的變化。換言之,本研究方法將針對資料集中所有專案進行演進的推論,區分出專案演進的四個階段(活躍期、流動期、穩定期、衰退期),並分析出目前GitHub上專案所處於的階段,最後研究出各階段轉換所可能的機率為何,進一步推論出專案未來演進的趨勢。最後,本研究提出了其他延伸之議題,例如重新定義專案演進階段、選擇適合的專案成員與專案的推薦等,以提供未來可行的研究方向。
GitHub began to develop in 2008, providing an online open source hosting platform. In addition to providing user-created organizations, projects and software repositories, it also provides more social features, including allowing users to track other users, join the dynamic project or organization, watch software repositories, modify the source code for the software, and make comments for the program error (bug).
In this study, we analyze of GitHub data sets; by using different network indicators and analysis methods in order to find collaboration and social activities on GitHub plat-form. For example, in order to find flexibility of networks on GitHub, we analyze degree distributions and values of closeness centrality as well as betweenness centrality. At the same time, we investigate the interaction between GitHub users and projects in order to analyze the correlation between them.
On the other hand, we analyze attraction and adhesion of the projects on GitHub platform. By using these two indicators, we can get the degree of contribution of the pro-jects, and the changes of the projects over time. We consider the four stages of evolution (active, flow period, stable, recession) of the projects on GitHub. Finally, we study the probability of transition of the all stages, and further we infer the trend of the future evo-lution of the projects on GitHub.
Finally, this study could be extended and used to support other studies. For example, we can redefine the evolution stage of a project, select members for the project, and rec-ommend the project.
Reference: [1] Fitzgerald Brian, "Software Crisis 2.0," IEEE Computer Society, pp. 91-93, 2012.
[2] Huzefa Kagdi; Michael L. Collard; Jonathan I. Maletic, "A survey and taxonomy of approaches for mining software repositories in the context of software evolution," Journal of Software Maintenance and Evolution: Research and Practice, pp. 77–131, 2007.
[3] João Brunet; Gail C. Murphy; Ricardo Terra; Jorge Figueiredo; Dalton Serey, "Do Developers Discuss Design?," In Proceedings of the 11th Working Conference on Mining Software Repositories, pp.340–343, 2014.
[4] Karan Aggarwal; Abram Hindle; Eleni Stroulia, "Co-evolution of Project Documen-tation and Popularity within Github," In Proceedings of the 11th Working Confer-ence on Mining Software Repositories, pp. 1-4, 2014.
[5] Daniel Pletea; Bogdan Vasilescu; Alexander Serebrenik, "Security and Emotion: Sentiment Analysis of Security Discussions on GitHub," In Proceedings of the 11th Working Conference on Mining Software Repositories, pp. 1-4, 2014.
[6] Rohan Padhye; Senthil Mani; Vibha Singhal Sinha, "A Study of External Commu-nity Contribution to Open-Source Projects on GitHub," In Proceedings of the 11th Working Conference on Mining Software Repositories, pp. 332-335, 2014.
[7] Jyoti Sheoran; Kelly Blincoe; Eirini Kalliamvakou; Daniela Damian; Jordan Ell, "Understanding “Watchers” on GitHub," In Proceedings of the 11th Working Con-ference on Mining Software Repositories, pp. 336-339, 2014.
[8] Emitza Guzman; David Azócar; Yang Li, "Sentiment Analysis of Commit Comments in GitHub: An Empirical Study," In Proceedings of the 11th Working Conference on Mining Software Repositories, pp. 352-355, 2014.
[9] Nicholas Matragkas; James R. Williams; Dimitris S. Kolovos; Richard F. Paige, "Analysing the Biodiversity of Open Source Ecosystems: The GitHub Case," In Proceedings of the 11th Working Conference on Mining Software Repositories, pp. 356-359, 2014.
[10] Mohammad Masudur Rahman; Chanchal K. Roy, "An Insight into the Pull Requests of GitHub," In Proceedings of the 11th Working Conference on Mining Software Repositories, pp. 364-367, 2014.
[11] Kazuhiro Yamashita; Shane McIntosh; Yasutaka Kamei; Naoyasu Ubayashi, "Magnet or Sticky? An OSS Project-by-Project Typology," In Proceedings of the 11th Working Conference on Mining Software Repositories, pp. 1-4, 2014.
[12] Linton C. Freeman, "Centrality in Social Networks Conceptual Clarification," Social Networks, pp. 215-239, 1978.
[13] Chaoqun Ni; Cassidy R. Sugimoto; Jiepu Jiang, "Degree, Closeness, and Between-ness: Application of group centrality measurements to explore macro-disciplinary evolution diachronically," Social Networks, pp. 1-10. 2011.
[14] Stephen P. Borgatti, "Centrality and network flow," Social Networks, pp. 55–71. 2005.
[15] S.Gopal Krishna Patro; Kishore Kumar sahu, "Normalization: A Preprocessing Stage," Computer Science, pp. 1-4, 2015.
[16] Mark. E. J. Newman, "The structure and function of complex networks," SIAM re-view, pp.1-58, 2003.
[17] Laura Dabbish; Colleen Stuart; Jason Tsay; Jim Herbsleb, "Social Coding in GitHub: Transparency and Collaboration in an Open Software Repository," In Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work, pp. 1-10, 2012.
[18] Antonio Lima; Luca Rossi; Mirco Musolesi, "Coding Together at Scale: GitHub as a Collaborative Social Network," In Proceedings of 8th AAAI International Confer-ence on Weblogs and Social Media, pp. 1-10, 2014.
[19] Yuriy Tymchuk; Andrea Mocci; Michele Lanza, "Collaboration in Open-Source Projects: Myth or Reality?," In Proceedings of the 11th Working Conference on Mining Software Repositories, pp. 304-307, 2014.
[20] Joseph Lee Rodgers; W. Alan Nicewander, "Thirteen Ways to Look at the Correla-tion Coefficient," The American Statistician, pp. 59-66, 1988.
[21] Sergey Brin; Lawrence Page, "The Anatomy of a Large-Scale Hypertextual Web Search Engine," In Proceedings of the seventh International Conference on the World Wide Web, pp107-117, 1998.
[22] Lawrence Page; Sergey Brin; Rajeev Motwani; Terry Winograd, "The PageRank Citation Ranking: Bringing Order to the Web," Technical report, Stanford Digital Library Technologies Project, pp.1-17, 1999.
[23] Jerrold H Zar, "Spearman Rank Correlation," Encyclopedia of Biostatistics, pp.1-6, 1988.
[24] Vincent D Blondel; Jean-Loup Guillaume, Renaud Lambiotte, Etienne Lefebvre, "Fast unfolding of communities in large networks," in Journal of Statistical Me-chanics: Theory and Experiment , pp1-11, 2008.
[25] Renaud Lambiotte; Jean-Charles Delvenne; Mauricio Barahona, "Laplacian Dy-namics and Multiscale Modular Structure in Networks," IEEE Transactions on Net-work Science and Engineering, pp1-29, 2009.
Description: 碩士
國立政治大學
資訊科學系碩士在職專班
102971013
Source URI: http://thesis.lib.nccu.edu.tw/record/#G0102971013
Data Type: thesis
Appears in Collections:[資訊科學系碩士在職專班] 學位論文

Files in This Item:

File SizeFormat
101301.pdf2303KbAdobe PDF529View/Open


All items in 學術集成 are protected by copyright, with all rights reserved.


社群 sharing