研究生: |
李泓其 Li, Hong-Qi |
---|---|
論文名稱: |
探索模組相依網絡與共同提交者網絡:以了解程式模組在生態系統中是否將被停止維護 Understanding Abandonment in Software Module Ecosystems: Exploring Dependency and Co-committer Network Information |
指導教授: |
雷松亞
Ray, Soumya |
口試委員: |
林福仁
LIN, FU-REN 王俊程 WANG, JYUN-CHENG |
學位類別: |
碩士 Master |
系所名稱: |
科技管理學院 - 服務科學研究所 Institute of Service Science |
論文出版年: | 2018 |
畢業學年度: | 106 |
語文別: | 英文 |
論文頁數: | 63 |
中文關鍵詞: | 模組 、停止維護 、相依網絡 、共同提交者網絡 、GitHub 、RubyGems 、資料探勘 |
外文關鍵詞: | Module Abandonment, Co-committer Network |
相關次數: | 點閱:1 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
模組代表一組被打包好並能執行特定作業的程式碼,程式開發者可以使用模組中的功能與邏輯去實踐自己的軟體。當模組停止維護時,會導致那些使用它的應用程式與模組們也面臨潛在的危險,因此當開程式發者在選擇模組時,會避免選擇那些在未來將有可能停止維護的模組們。在的研究中,我們以Ruby程式語言為例,想幫助程式開發者們能更準確地分辨在未來可能被停止維護的模組們並且找出與停止維護相關的因子。在預測中,我們不只用了GitHub中模組開發端的資料與RubyGems中模組需求端的資料;我們更用了相依網絡與共同提交者網絡中的資料來一同預測模組的停止維護。透過了網絡中的資料,此研究能夠探索更佳的預測模型與了解網絡資料中與停止維護相關的因子。
Modules are packaged libraries of code. Developers can use import modules into their code to use its function and logic. Abandonment of module could cause several problems on those application and other modules depend on it. Developers try to avoid adopting a module that might be abandoned in near future. In this study, we want to help developers, who in the Ruby language ecosystem, identify module abandonment more precisely and discover important factors related abandonment for module maintainers could instantly reaction about it. To make the more precise prediction, we not only use both production and consumption side data of module from GitHub, RubyGems, and BestGems but extract information from dependency and co-committer network to predict abandonment of module. We discover an effective model for predicting module abandonment and find the network factors related to it.
Bonacich, P. (2007). Some unique properties of eigenvector centrality. Social Networks, 29(4), 555–564.
Davis, J., & Goadrich, M. (2006). The relationship between Precision-Recall and ROC curves. In Proceedings of the 23rd international conference on Machine learning - ICML ’06. https://doi.org/10.1145/1143844.1143874
Fawcett, T. (2006). An introduction to ROC analysis. Pattern Recognition Letters, 27(8), 861–874.
Freeman, L. C. (1977). A Set of Measures of Centrality Based on Betweenness. Sociometry, 40(1), 35.
Hauge, Ø., Cruzes, D. S., Conradi, R., Velle, K. S., & Skarpenes, T. A. (2010). Risks and Risk Mitigation in Open Source Software Adoption: Bridging the Gap between Literature and Practice. In IFIP Advances in Information and Communication Technology (pp. 105–118).
Jorgensen, N. (2001). Putting it all in the trunk: incremental software development in the FreeBSD open source project. Information Systems Journal, 11(4), 321–336.
Kumar, S. (2015). Using Social Network Analysis to Inform Management of Open Source Software Development. In 2015 48th Hawaii International Conference on System Sciences. https://doi.org/10.1109/hicss.2015.609
Page, L., Brin, S., Motwani, R., & Winograd, T. (1999). The PageRank Citation Ranking: Bringing Order to the Web. Retrieved from http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf
Thung, F., Bissyande, T. F., Lo, D., & Jiang, L. (2013). Network Structure of Social Coding in GitHub. In 2013 17th European Conference on Software Maintenance and Reengineering. https://doi.org/10.1109/csmr.2013.41
Xu, J., Christley, S., & Madey, G. (2006). Application of Social Network Analysis to the Study of Open Source Software. In The Economics of Open Source Software Development (pp. 247–269).
Zakas, N. C. (2015, December 25). Why I'm not using your open source project [Web log post]. Retrieved June 29, 2016, from https://www.nczonline.net/blog/2015/12/why-im-not-using-your-open-source-project/