Return to search

軟體典藏庫資料分析:以GitHub為例 / Data Analysis for Software Repository: A Case Study of GitHub

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.

Identiferoai:union.ndltd.org:CHENGCHI/G0102971013
Creators劉耀文, Liu, Yao Wen
Publisher國立政治大學
Source SetsNational Chengchi University Libraries
Language中文
Detected LanguageEnglish
Typetext
RightsCopyright © nccu library on behalf of the copyright holders

Page generated in 0.0021 seconds