{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,31]],"date-time":"2024-07-31T08:27:34Z","timestamp":1722414454624},"reference-count":37,"publisher":"World Scientific Pub Co Pte Lt","issue":"01","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Soft. Eng. Knowl. Eng."],"published-print":{"date-parts":[[2021,1]]},"abstract":" Do developers postpone fixing Technical Debt (TD) in software systems? TD is a metaphor that refers to short-term decisions in software development that may affect the cost of the software development life cycle. The bad smell is an imperfect solution in the software system that negatively impacts the internal software quality and maintainability. In this paper, we will study five open-source software projects (OSSPs) that have several releases and also estimate the numbers of architecture smells (ASs), design smells (DSs), and code smells (CSs) for every release. Designite will be used to detect smells. We describe a case study conducted to explore the following: (1) What is the average smells density for architecture, design, and code smells in an OSSP? (2) Does the density of each smell type increase over multiple releases? (3) What percentage of each smell-type density is eliminated by refactoring? We collected around 2 million LOC from five OSSPs that have multiple releases from the GitHub repository to statistically analyze the software concerning the smells as indicators of TD. We find 36% of Architecture Technical Debt (ATD) is Cyclic Dependency, while 33% of Design Debt (DD) is Cyclically-dependent Modularization. More than 70% of Code Debt (CD) is Magic Number. Even though the developers do refactoring between releases, the TD density in general increases. On average, by refactoring, developers remove around 48%, 16%, and 22% from the introduced ATD, DD, and CD from their next release, respectively. <\/jats:p>","DOI":"10.1142\/s0218194021500017","type":"journal-article","created":{"date-parts":[[2021,2,7]],"date-time":"2021-02-07T02:29:54Z","timestamp":1612664994000},"page":"99-116","source":"Crossref","is-referenced-by-count":2,"title":["The Technical Debt Density Over Multiple Releases and the Refactoring Story"],"prefix":"10.1142","volume":"31","author":[{"given":"Mrwan","family":"BenIdris","sequence":"first","affiliation":[{"name":"Lane Department of Computer Science and Electrical Engineering, West Virginia University, 395 Evansdale Drive, Morgantown, WV 26506, USA"}]},{"given":"Hany","family":"Ammar","sequence":"additional","affiliation":[{"name":"Lane Department of Computer Science and Electrical Engineering, West Virginia University, 395 Evansdale Drive, Morgantown, WV 26506, USA"}]},{"given":"Dale","family":"Dzielski","sequence":"additional","affiliation":[{"name":"Lane Department of Computer Science and Electrical Engineering, West Virginia University, 395 Evansdale Drive, Morgantown, WV 26506, USA"}]}],"member":"219","published-online":{"date-parts":[[2021,2,4]]},"reference":[{"key":"S0218194021500017BIB001","first-page":"29","volume-title":"Addendum to Proc. Object-oriented Programming Systems, Languages, and Applications","author":"Cunningham W.","year":"1992"},{"key":"S0218194021500017BIB002","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler M.","year":"1999"},{"key":"S0218194021500017BIB003","doi-asserted-by":"crossref","first-page":"4807","DOI":"10.1109\/HICSS.2014.590","volume-title":"Proc. 2014 47th Hawaii Int. Conf. System Sciences","author":"Fern\u00e1ndez-S\u00e1nchez C.","year":"2014"},{"issue":"6","key":"S0218194021500017BIB004","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1109\/MS.2012.167","volume":"29","author":"Kruchten P.","year":"2012","journal-title":"IEEE Softw."},{"key":"S0218194021500017BIB005","doi-asserted-by":"crossref","first-page":"183","DOI":"10.1016\/B978-0-12-410464-8.00009-X","volume-title":"Economics-Driven Software Architecture","author":"Li Z.","year":"2014"},{"key":"S0218194021500017BIB006","doi-asserted-by":"crossref","first-page":"65","DOI":"10.1109\/WICSA.2015.19","volume-title":"Proc. 2015 12th Working IEEE\/IFIP Conf. Software Architecture","author":"Li Z.","year":"2015"},{"key":"S0218194021500017BIB007","volume-title":"Proc. 4th Workshop on Refactoring Tools","author":"Arcoverde R.","year":"2011"},{"key":"S0218194021500017BIB008","doi-asserted-by":"crossref","first-page":"10","DOI":"10.1109\/SoftStart.2017.6","volume-title":"Proc. 2017 IEEE\/ACM 1st Int. Workshop on Software Engineering for Startups","author":"Chicote M.","year":"2017"},{"issue":"5","key":"S0218194021500017BIB009","first-page":"1","volume":"9","author":"Ben Idris M.","year":"2018","journal-title":"Int. J. Softw. Eng. Appl."},{"key":"S0218194021500017BIB010","doi-asserted-by":"crossref","first-page":"193","DOI":"10.1016\/j.jss.2014.12.027","volume":"101","author":"Li Z.","year":"2015","journal-title":"J. Syst. Softw."},{"key":"S0218194021500017BIB011","doi-asserted-by":"crossref","first-page":"50","DOI":"10.1145\/2786805.2786848","volume-title":"Proc. 2015 10th Joint Meeting on Foundations of Software Engineering","author":"Ernst N. A.","year":"2015"},{"key":"S0218194021500017BIB012","doi-asserted-by":"crossref","first-page":"100","DOI":"10.1016\/j.infsof.2015.10.008","volume":"70","author":"Alves N. S. R.","year":"2016","journal-title":"Inf. Softw. Technol."},{"key":"S0218194021500017BIB013","first-page":"1","volume-title":"Proc. 2018 IEEE Int. Conf. Software Maintenance and Evolution","author":"Spadini D.","year":"2018"},{"key":"S0218194021500017BIB014","volume-title":"Proc. 29th Int. Conf. Software Engineering and Knowledge Engineering","author":"Codabux Z.","year":"2017"},{"key":"S0218194021500017BIB015","volume-title":"Proc. 20th Annu. ACM SIGPLAN Conf. Object-oriented Programming, Systems, Languages, and Applications","author":"Gil J.","year":"2005"},{"key":"S0218194021500017BIB016","volume-title":"Proc. RefTest 2013 Workshop, Co-located Event with XP 2013 Conf.","author":"Fontana F. A.","year":"2013"},{"issue":"7","key":"S0218194021500017BIB017","doi-asserted-by":"crossref","first-page":"191","DOI":"10.1016\/j.entcs.2010.08.042","volume":"253","author":"Singer J.","year":"2010","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"S0218194021500017BIB018","volume-title":"Proc. 24th Int. Conf. Software Engineering and Data Engineering","author":"Deo A.","year":"2015"},{"key":"S0218194021500017BIB019","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1145\/2701319.2701321","volume-title":"Proc. Ninth Int. Workshop on Variability Modelling of Software-Intensive Systems","author":"Fenske W.","year":"2015"},{"key":"S0218194021500017BIB022","volume-title":"Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems","author":"Lanza M.","year":"2007"},{"key":"S0218194021500017BIB023","first-page":"1","volume-title":"Proc. 2016 IEEE\/ACM 1st Int. Workshop on Bringing Architectural Design Thinking into Developers\u2019 Daily Activities","author":"Sharma T.","year":"2016"},{"key":"S0218194021500017BIB024","doi-asserted-by":"crossref","first-page":"5","DOI":"10.1145\/1879211.1879216","volume-title":"Proc. 5th Int. Symp. Software Visualization","author":"Murphy-Hill E.","year":"2010"},{"issue":"1","key":"S0218194021500017BIB025","doi-asserted-by":"crossref","first-page":"20","DOI":"10.1109\/TSE.2009.50","volume":"36","author":"Moha N.","year":"2010","journal-title":"IEEE Trans. Softw. Eng."},{"key":"S0218194021500017BIB026","doi-asserted-by":"crossref","first-page":"329","DOI":"10.1109\/CSMR.2008.4493342","volume-title":"Proc. 2008 12th European Conf. Software Maintenance and Reengineering","author":"Tsantalis N.","year":"2008"},{"key":"S0218194021500017BIB027","doi-asserted-by":"crossref","first-page":"396","DOI":"10.1109\/ICSM.2013.56","volume-title":"Proc. 2013 29th IEEE Int. Conf. Software Maintenance","author":"Fontana F. A.","year":"2013"},{"key":"S0218194021500017BIB028","doi-asserted-by":"crossref","first-page":"76","DOI":"10.1109\/IWSC.2012.6227872","volume-title":"Proc. 2012 6th Int. Workshop on Software Clones","author":"Yang J.","year":"2012"},{"key":"S0218194021500017BIB029","doi-asserted-by":"crossref","first-page":"238","DOI":"10.1109\/ICSME.2017.8","volume-title":"Proc. 2017 IEEE Int. Conf. Software Maintenance and Evolution","author":"Maldonado E. D. S.","year":"2017"},{"key":"S0218194021500017BIB031","first-page":"350","volume-title":"Proc. 20th IEEE Int. Conf. Software Maintenance","author":"Marinescu R.","year":"2004"},{"key":"S0218194021500017BIB032","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1109\/WCRE.2009.23","volume-title":"Proc. 2009 16th Working Conf. Reverse Engineering","author":"Vaucher S.","year":"2009"},{"key":"S0218194021500017BIB033","doi-asserted-by":"crossref","first-page":"390","DOI":"10.1109\/ESEM.2009.5314231","volume-title":"Proc. 2009 3rd Int. Symp. Empirical Software Engineering and Measurement","author":"Olbrich S.","year":"2009"},{"issue":"7","key":"S0218194021500017BIB034","doi-asserted-by":"crossref","first-page":"1120","DOI":"10.1016\/j.jss.2006.10.018","volume":"80","author":"Li W.","year":"2007","journal-title":"J. Syst. Softw."},{"key":"S0218194021500017BIB035","doi-asserted-by":"crossref","first-page":"458","DOI":"10.1109\/ICSTW.2011.69","volume-title":"Proc. 2011 IEEE Fourth Int. Conf. Software Testing, Verification and Validation Workshops","author":"Zhang M.","year":"2011"},{"key":"S0218194021500017BIB036","doi-asserted-by":"crossref","first-page":"75","DOI":"10.1109\/WCRE.2009.28","volume-title":"Proc. 2009 16th Working Conf. Reverse Engineering","author":"Khomh F.","year":"2009"},{"key":"S0218194021500017BIB037","first-page":"424","volume-title":"Proc. 11th ACM\/IEEE Int. Symp. Empirical Software Engineering and Measurement","author":"Sharma T.","year":"2017"},{"key":"S0218194021500017BIB038","first-page":"39","volume-title":"Proc. 4th Int. Workshop on Managing Technical Debt","author":"Mo R.","year":"2013"},{"key":"S0218194021500017BIB039","first-page":"1277","volume-title":"Proc. ACM 2012 Conf. Computer Supported Cooperative Work","author":"Dabbish L.","year":"2012"},{"key":"S0218194021500017BIB040","first-page":"444","volume-title":"Proc. 2017 IEEE 19th Conf. Business Informatics","volume":"1","author":"de Jesus J. S.","year":"2017"}],"container-title":["International Journal of Software Engineering and Knowledge Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S0218194021500017","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,2,7]],"date-time":"2021-02-07T02:31:09Z","timestamp":1612665069000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S0218194021500017"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,1]]},"references-count":37,"journal-issue":{"issue":"01","published-print":{"date-parts":[[2021,1]]}},"alternative-id":["10.1142\/S0218194021500017"],"URL":"https:\/\/doi.org\/10.1142\/s0218194021500017","relation":{},"ISSN":["0218-1940","1793-6403"],"issn-type":[{"value":"0218-1940","type":"print"},{"value":"1793-6403","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,1]]}}}