研究生: |
林天佑 Lin, Tien-Yu |
---|---|
論文名稱: |
開發應用於軟體適應性的綜合衡量指標:探索開源程式套件的程式碼品質指標和程式碼活動度的解釋模型 Developing a Composite Measurement for Software Adaptability: An Exploration of Code Quality Metrics and Explanatory Model of Code Activity in Open Source Software Packages |
指導教授: |
雷松亞
Ray, Soumya |
口試委員: |
Valdez, André Calero
Valdez, André Calero Danks, Nicholas Danks, Nicholas |
學位類別: |
碩士 Master |
系所名稱: |
科技管理學院 - 服務科學研究所 Institute of Service Science |
論文出版年: | 2023 |
畢業學年度: | 111 |
語文別: | 英文 |
論文頁數: | 48 |
中文關鍵詞: | 資訊系統 、程式碼適應性 、程式碼活動度 |
外文關鍵詞: | software systems, code activity |
相關次數: | 點閱:2 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
資訊系統對於進行數位轉型並提供線上服務的企業來說非常關鍵。良好的專案管理能夠讓資訊系統有效的適應不斷變化的需求。然而,隨著這些系統變得越來越複雜,適應性會隨之下降,並且可能會降低對企業效益的回報。因此,如何在早期就評估程式碼的適應性尤其重要。我們的目標是開發一個衡量指標用以量化程式碼的適應性,而該衡量指標會結合五種著名的軟體品質指標。為了證實我們的結構模型範疇並驗證程式碼適應性確實對專案後期的程式碼活動度有所影響,我們對此進行了建模。我們透過蒐集開源程式碼的軟體專案資料來估計我們的模型,該資料集來自於 Ruby 程式語言的生態系統。我們發現程式碼適應性對程式碼活動度有長期的影響,這意味著在早期階段就需要考慮程式碼的適應性。此外,程式碼適應性對程式碼活動度的影響在多年後仍然會持續著。這些發現說明了我們建立了一個有效且有用的程式碼適應性評估工具,可以廣泛的應用在許多領域的研究和實踐上。
Software systems are vital for businesses undergoing digital transformation and offering online services. Effective project management is crucial for the success of software systems to adapt to changing requirements. However, as these systems become more complex, adaptability declines and the returns to firm performance can decrease. Therefore, how to evaluate code adaptability at an early stage is important. We set about to develop a measure to quantify code adaptability, using five established software quality metrics. To validate the nomology of our construct, and verify the oft-held belief that code adaptability matters, we modeled it relates to later code activity of a project. We estimated our model on a dataset of open source software packages for the Ruby programming ecosystem. We found that code adaptability has a long-term impact on code activity, implying the importance of considering code adaptability in the early stages. Moreover, the effect of code adaptability on code activity does not diminish significantly over the years. These findings suggest that we have constructed a valid and useful measurement of code adaptability that can be used in various areas of research and practice across many ecosystems.
Banker, R., Liang, Y., & Ramasubbu, N. (2021). Technical debt and firm performance. Management Science, 67(5), 3174-3194.
Bansiya, J., & Davis, C. G. (2002). A hierarchical model for object-oriented design quality assessment. IEEE Transactions on software engineering, 28(1), 4-17.
Cataldo, M., Wagstrom, P. A., Herbsleb, J. D., & Carley, K. M. (2006, November). Identification of coordination requirements: Implications for the design of collaboration and awareness tools. In Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work (pp. 353-362).
Chen, J. C., & Huang, S. J. (2009). An empirical analysis of the impact of software development problem factors on software maintainability. Journal of Systems and Software, 82(6), 981-992.
Chidamber, S. R., & Kemerer, C. F. (1994). A metrics suite for object oriented design. IEEE Transactions on software engineering, 20(6), 476-493.
Coelho, J., Valente, M. T., Milen, L., & Silva, L. L. (2020). Is this GitHub project maintained? Measuring the level of maintenance activity of open-source projects. Information and Software Technology, 122, 106274.
Cunningham, W. (1992). The WyCash portfolio management system. ACM Sigplan Oops Messenger, 4(2), 29-30.
Dabbish, L., Stuart, C., Tsay, J., & Herbsleb, J. (2012, February). 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. 1277-1286).
Davidsen, M. K., & Krogstie, J. (2010). A longitudinal study of development and maintenance. Information and Software Technology, 52(7), 707-719.
Faragó, C., Hegedűs, P., & Ferenc, R. (2015, September). Cumulative code churn: Impact on maintainability. In 2015 IEEE 15th International Working Conference on Source Code Analysis and Manipulation (SCAM) (pp. 141-150). IEEE.
Hall, G. A., & Munson, J. C. (2000). Software evolution: code delta and code churn. Journal of Systems and Software, 54(2), 111-118.
Henseler, J. (2017). Bridging design and behavioral research with variance-based structural equation modeling. Journal of advertising, 46(1), 178-192.
ISO, I. (2011). Systems and Software Engineering-Systems and Software Quality Requirements and Evaluation (SQuaRE)-System and Software Quality Models. Systems and software engineering-Systems and software Quality Requirements and Evaluation (SQuaRE)-System and software quality models.
Kaiser, H. F. (1960). The application of electronic computers to factor analysis. Educational and psychological measurement, 20(1), 141-151.
Kruchten, P., Nord, R. L., & Ozkaya, I. (2012). Technical debt: From metaphor to theory and practice. Ieee software, 29(6), 18-21.
Lee, M. G., & Jefferson, T. L. (2005, September). An empirical study of software maintenance of a web-based java application. In 21st IEEE International Conference on Software Maintenance (ICSM'05) (pp. 571-576). IEEE.
McCabe, T. J. (1976). A complexity measure. IEEE Transactions on software Engineering, (4), 308-320.
Mockus, A., & Weiss, D. M. (2000). Predicting risk of software changes. Bell Labs Technical Journal, 5(2), 169-180.
Mustonen-Ollila, E., & Lyytinen, K. (2003). Why organizations adopt information system process innovations: a longitudinal study using Diffusion of Innovation theory. Information Systems Journal, 13(3), 275-297.
Mustonen-Ollila, E., & Lyytinen, K. (2003). Why organizations adopt information system process innovations: a longitudinal study using Diffusion of Innovation theory. Information Systems Journal, 13(3), 275-297.
Raymond, E. (1999). The cathedral and the bazaar. Knowledge, Technology & Policy, 12(3), 23-49.
Sjøberg, D. I., Yamashita, A., Anda, B. C., Mockus, A., & Dybå, T. (2012). Quantifying the effect of code smells on maintenance effort. IEEE Transactions on Software Engineering, 39(8), 1144-1156.
Smit, M., Gergel, B., Hoover, H. J., & Stroulia, E. (2011, September). Code convention adherence in evolving software. In 2011 27th IEEE International Conference on Software Maintenance (ICSM) (pp. 504-507). IEEE.
Sousa, M. J. C., & Moreira, H. M. (1998, November). A survey on the software maintenance process. In Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272) (pp. 265-274).
Tarafdar, M., & Gordon, S. R. (2007). Understanding the influence of information systems competencies on process innovation: A resource-based view. The Journal of Strategic Information Systems, 16(4), 353-392.
Thomas, D., & Hunt, A. (2019). The pragmatic programmer. Addison-Wesley Professional.
Tom, E., Aurum, A., & Vidgen, R. (2013). An exploration of technical debt. Journal of Systems and Software, 86(6), 1498-1516.
Vasilescu, B., Yu, Y., Wang, H., Devanbu, P., & Filkov, V. (2015, August). Quality and productivity outcomes relating to continuous integration in GitHub. In Proceedings of the 2015 10th joint meeting on foundations of software engineering (pp. 805-816).
Zhang, F., Mockus, A., Zou, Y., Khomh, F., & Hassan, A. E. (2013, September). How does context affect the distribution of software maintainability metrics?. In 2013 IEEE International Conference on Software Maintenance (pp. 350-359). IEEE.