Software design analysis and technical debt management based on design rule theory

被引:0
作者
Cai, Yuanfang [1 ]
Kazman, Rick [2 ]
机构
[1] Drexel Univ, Dept Comp Sci, Philadelphia, PA 19104 USA
[2] Univ Hawaii, Dept Informat Technol Management, Honolulu, HI USA
基金
美国国家科学基金会;
关键词
Software architecture; Software design; Design debt; Automated analysis; Industrial case studies; CODE-SMELLS; IMPACT; DEPENDENCIES; SYSTEMS; METRICS; MODEL; UML;
D O I
10.1016/j.infsof.2023.107322
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
In this paper we reflect on our decade-long journey of creating, evolving, and evaluating a number of software design concepts and technical debt management technologies. These include: a novel maintainability metric, a new model for representing design information, a suite of design anti-patterns, and a formalized model of design debt. All of these concepts are rooted in options theory, and they all share the objective of helping a software project team quantify and visualize major design principles, and address the very real maintainability challenges faced by their organizations in practice. The evolution of our research has been propelled by our continuous interactions with industrial collaborators. For each concept, technology, and supporting tool, we embarked on an ambitious program of empirical validation-in "the lab", with industry partners, and with open source projects. We reflect on the successes of this research and on areas where significant challenges remain. In particular, we observe that improved software design education, both for students and professional developers, is the prerequisite for our research and technology to be widely adopted. During this journey, we also observed a number of gaps: between what we offer in research and what practitioners need, between management and development, and between debt detection and debt reduction. Addressing these challenges motivates our research moving forward.
引用
收藏
页数:14
相关论文
共 110 条
[1]   An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, On Program Comprehension [J].
Abbes, Marwen ;
Khomh, Foutse ;
Gueheneuc, Yann-Gael ;
Antoniol, Giuliano .
2011 15TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR), 2011, :181-190
[2]   Information-theoretic software clustering [J].
Andritsos, P ;
Tzerpos, V .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2005, 31 (02) :150-165
[3]  
Arafat O., 2009, 42nd Hawaii International Conference on System Sciences, P1, DOI DOI 10.1109/HICSS.2009.421
[4]   On the Prevalence, Impact, and Evolution of SQL Code Smells in Data-Intensive Systems [J].
Asmare, Biruk Muse ;
Rahman, Mohammad Masudur ;
Nagy, Csaba ;
Cleve, Anthony ;
Khomh, Foutse ;
Antoniol, Giuliano .
2020 IEEE/ACM 17TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR, 2020, :327-338
[5]  
Baker A., 2011, IEEE Softw, V29, P28
[6]  
Baldwin C. Y., 2000, DESIGN RULES POWER M, V1
[7]  
Blumberg S., 2022, McKinsey Digital
[8]  
Booch G., 2005, The Unified Modeling Language User Guide, V2nd
[10]  
Cai Y., 2013, P 26 C SOFTW ENG ED