帳號:guest(3.12.34.148)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):林天佑
作者(外文):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
Danks, Nicholas
口試委員(外文):Valdez, André Calero
Danks, Nicholas
學位類別:碩士
校院名稱:國立清華大學
系所名稱:服務科學研究所
學號:108065501
出版年(民國):112
畢業學年度:111
語文別:英文
論文頁數:48
中文關鍵詞:資訊系統程式碼適應性程式碼活動度
外文關鍵詞:software systemscode adaptabilitycode activityRuby
相關次數:
  • 推薦推薦:0
  • 點閱點閱:16
  • 評分評分:*****
  • 下載下載:0
  • 收藏收藏: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.
摘要-----------------------------------------------------------------------------3
Abstract------------------------------------------------------------------------4
Table of Contents---------------------------------------------------------------6
Chapter 1. Introduction---------------------------------------------------------7
Chapter 2. Quantifying Code-----------------------------------------------------10
2.1 Code Adaptability-----------------------------------------------------------10
2.2 Code Activity---------------------------------------------------------------18
Chapter 3. Proposed Measurement and Structural Models---------------------------20
3.1 Ruby Gems-------------------------------------------------------------------20
3.2 Measuring Code Adaptability Using Static Analysis---------------------------21
3.2.1 Rubocop-------------------------------------------------------------------22
3.2.2 Flog----------------------------------------------------------------------23
3.2.3 Gunning Fog Index---------------------------------------------------------23
3.2.4 Reek----------------------------------------------------------------------24
3.3 Code Adaptability and Activity----------------------------------------------24
Chapter 4. Empirical Study------------------------------------------------------26
4.1 Data Collection-------------------------------------------------------------26
4.2 Data Post-processing--------------------------------------------------------29
4.3 Exploration of Code Quality Trend-------------------------------------------30
4.4 Principal Component Analysis (PCA) for exploratory measurement modeling-----34
4.5 Partial Least Squares (PLS) for Emerging Variables--------------------------37
Chapter 5. Discussion-----------------------------------------------------------41
Chapter 6. Future Work and Conclusions------------------------------------------43
References----------------------------------------------------------------------45
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.
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *