research-article
Authors: Markus Borg, Ilyana Pruvost, Enys Mones, and Adam Tornhill
TechDebt '24: Proceedings of the 7th ACM/IEEE International Conference on Technical Debt
April 2024
Pages 21 - 30
Published: 07 June 2024 Publication History
- 0citation
- 16
- Downloads
Metrics
Total Citations0Total Downloads16Last 12 Months16
Last 6 weeks15
New Citation Alert added!
This alert has been successfully added and will be sent to:
You will be notified whenever a record that you have chosen has been cited.
To manage your alert preferences, click on the button below.
Manage my Alerts
New Citation Alert!
Please log in to your account
Get Access
- Get Access
- References
- Media
- Tables
- Share
Abstract
Understanding and effectively managing Technical Debt (TD) remains a vital challenge in software engineering. While many studies on code-level TD have been published, few illustrate the business impact of low-quality source code. In this study, we combine two publicly available datasets to study the association between code quality on the one hand, and defect count and implementation time on the other hand. We introduce a value-creation model, derived from regression analyses, to explore relative changes from a baseline. Our results show that the associations vary across different intervals of code quality. Furthermore, the value model suggests strong non-linearities at the extremes of the code quality spectrum. Most importantly, the model suggests amplified returns on investment in the upper end. We discuss the findings within the context of the "broken windows" theory and recommend organizations to diligently prevent the introduction of code smells in files with high churn. Finally, we argue that the value-creation model can be used to initiate discussions regarding the return on investment in refactoring efforts.
References
[1]
Claudia Ayala, Burak Turhan, Xavier Franch, and Natalia Juristo. 2022. Use and Misuse of the Term "Experiment" in Mining Software Repositories Research. IEEE Trans. on Software Engineering 48, 11 (2022), 4229--4248.
[2]
Robert Baggen, José Pedro Correia, Katrin Schill, and Joost Visser. 2012. Standardized Code Quality Benchmarking for Improving Software Maintainability. Software Quality Journal 2 (2012), 287--307.
Digital Library
[3]
Markus Borg, Ilyana Pruvost, Enys Mones, and Adam Tornhill. 2024. Accompanying Replication Package. https://zenodo.org/records/10560722
[4]
Markus Borg, Adam Tornhill, and Enys Mones. 2023. U Owns the Code That Changes and How Marginal Owners Resolve Issues Slower in Low-Quality Source Code. In Proc. of the 27th Int'l. Conf. on Evaluation and Assessment in Software Engineering. 368--377.
Digital Library
[5]
Preetha Chatterjee, Tushar Sharma, and Paul Ralph. 2022. Empirical Standards for Repository Mining. In Proc. of the 19th Int'l. Conf. on Mining Software Repositories. 142--143.
Digital Library
[6]
B. Efron. 1979. Bootstrap Methods: Another Look at the Jackknife. The Annals of Statistics 7, 1 (1979), 1--26.
[7]
David Farley. 2021. Modern Software Engineering: Doing What Works to Build Better Software Faster. Addison-Wesley Professional, Boston, MA, USA.
[8]
Norman Fenton. 1994. Software Measurement: A Necessary Scientific Basis. IEEE Trans. on Software Engineering 20, 3 (1994), 199--206.
Digital Library
[9]
Nicole Forsgren, Jez Humble, and Gene Kim. 2018. Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations (1 ed.). IT Revolution Press, Portland, Oregon.
[10]
Nicole Forsgren, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler. 2021. The SPACE of Developer Productivity: There's more to it than you think. Queue 19, 1 (2021), 10:20--10:48.
Digital Library
[11]
Matthieu Foucault, Jean-Rémy Falleri, and Xavier Blanc. 2014. Code Ownership in Open-Source Software. In Proc. of the 18th Int'l. Conf. on Evaluation and Assessment in Software Engineering. 1--9.
Digital Library
[12]
Emilio Gianicolo, Martin Eichler, Oliver Muensterer, Konstantin Strauch, and Maria Blettner. 2020. Methods for Evaluating Causality in Observational Studies. Deutsches Arzteblatt Int'l. 117, 7 (2020), 101--107.
[13]
Emanuel Giger, Martin Pinzger, and Harald Gall. 2011. Comparing Fine-grained Source Code Changes and Code Churn for Bug Prediction. In Proc. of the 8th Working Conf. on Mining Software Repositories. 83--92.
Digital Library
[14]
Tracy Hall, Sarah Beecham, David Bowes, David Gray, and Steve Counsell. 2012. A Systematic Literature Review on Fault Prediction Performance in Software Engineering. IEEE Trans. on Software Engineering 38, 6 (2012), 1276--1304.
Digital Library
[15]
Kim Herzig, Sascha Just, and Andreas Zeller. 2013. It's Not a Bug, It's a Feature: How Misclassification Impacts Bug Prediction. In Proc. of the 35th Int'l. Conf. on Software Engineering. 392--401.
[16]
Seyedrebvar Hosseini, Burak Turhan, and Dimuthu Gunarathna. 2019. A Systematic Literature Review and Meta-Analysis on Cross Project Defect Prediction. IEEE Trans. on Software Engineering 45, 2 (2019), 111--147.
[17]
Andrew Hunt and David Thomas. 1999. The Pragmatic Programmer: From Journeyman to Master (1 ed.). Addison-Wesley Professional, Boston, MA, USA.
[18]
Helvio Jeronimo Junior and Guilherme Horta Travassos. 2022. Consolidating a Common Perspective on Technical Debt and its Management Through a Tertiary Study. Information and Software Technology 149 (2022), 106964.
Digital Library
[19]
Barbara Kitchenham, Lech Madeyski, David Budgen, Jacky Keung, Pearl Brereton, Stuart Charters, Shirley Gibbs, and Amnart Pohthong. 2017. Robust Statistical Methods for Empirical Software Engineering. Empirical Software Engineering 22, 2 (2017), 579--630.
Digital Library
[20]
Michael Klas, Adam Trendowicz, Yasushi Ishigai, and Haruka Nakao. 2011. Handling Estimation Uncertainty with Bootstrapping: Empirical Evaluation in the Context of Hybrid Prediction Methods. In Proc. of the Int'l. Symposium on Empirical Software Engineering and Measurement. 245--254.
Digital Library
[21]
Gunes Koru, Dongsong Zhang, Khaled El Emam, and Hongfang Liu. 2009. An Investigation into the Functional Form of the Size-Defect Relationship for Software Modules. IEEE Trans. on Software Engineering 35, 2 (2009), 293--304.
Digital Library
[22]
Guilherme Lacerda, Fabio Petrillo, Marcelo Pimenta, and Yann Gael Gueheneuc. 2020. Code Smells and Refactoring: A Tertiary Systematic Review of Challenges and Observations. Journal of Systems and Software 167 (2020), 110610.
[23]
Valentina Lenarduzzi, Terese Besker, Davide Taibi, Antonio Martini, and Francesca Arcelli Fontana. 2021. A Systematic Literature Review on Technical Debt Prioritization: Strategies, Processes, Factors, and Tools. Journal of Systems and Software 171 (2021), 110827.
[24]
William Leven, Hampus Broman, Terese Besker, and Richard Torkar. 2023. Testing the Broken Windows Theory in the context of Technical Debt.
[25]
Wei Li and Raed Shatnawi. 2007. An Empirical Study of the Bad Smells and Class Error Probability in the Post-Release Object-Oriented System Evolution. Journal of Systems and Software 80, 7 (2007), 1120--1128.
Digital Library
[26]
Alberto S. Nunez-Varela, Hector G. Perez-Gonzalez, Francisco E. Martinez-Perez, and Carlos Soubervielle-Montalvo. 2017. Source Code Metrics: A Systematic Mapping Study. Journal of Systems and Software 128 (2017), 164--197.
Digital Library
[27]
Steffen Olbrich, Daniela S. Cruzes, Victor Basili, and Nico Zazworka. 2009. The Evolution and Impact of Code Smells: A Case Study of Two Open Source Systems. In Proc. of the 3rd Int'l. Symposium on Empirical Software Engineering and Measurement. 390--400.
Digital Library
[28]
Judea Pearl. 2018. The Book of Why: The New Science of Cause and Effect (1 ed.). Ingram Publisher Services, La Vergne, TN, USA.
[29]
Danijel Radjenovic, Marjan Hericko, Richard Torkar, and Ales Zivkovic. 2013. Software Fault Prediction Metrics: A Systematic Literature Review. Information and Software Technology 55, 8 (2013), 1397--1418.
Digital Library
[30]
Mehwish Riaz, Emilia Mendes, and Ewan Tempero. 2009. A Systematic Review of Software Maintainability Prediction and Metrics. In Proc. of the 3rd Int'l. Symposium on Empirical Software Engineering and Measurement. 367--377.
Digital Library
[31]
Nicolli Rios, Manoel Gomes de Mendonca Neto, and Rodrigo Oliveira Spinola. 2018. A Tertiary Study on Technical Debt: Types, Management Strategies, Research Trends, and Base Information for Practitioners. Information and Software Technology 102 (2018), 117--145.
[32]
Jose Amancio M. Santos, Joao B. Rocha-Junior, Luciana Carla Lins Prates, Rogeres Santos do Nascimento, Mydia Falcao Freitas, and Manoel Gomes de Mendonca. 2018. A Systematic Review on the Code Smell Effect. Journal of Systems and Software 144 (2018), 450--477.
Digital Library
[33]
Dag Sjoberg and Gunnar Rye Bergersen. 2023. Improving the Reporting of Threats to Construct Validity. In Proc. of the 27th Int'l. Conf. on Evaluation and Assessment in Software Engineering. 205--209.
Digital Library
[34]
Dag I.K. Sjoberg, Aiko Yamash*ta, Bente C.D. Anda, Audris Mockus, and Tore Dyba. 2013. Quantifying the Effect of Code Smells on Maintenance Effort. IEEE Trans. on Software Engineering 39, 8 (2013), 1144--1156.
Digital Library
[35]
Zephyrin Soh, Aiko Yamash*ta, Foutse Khomh, and Yann-Gael Gueheneuc. 2016. Do Code Smells Impact the Effort of Different Maintenance Programming Activities?. In Proc. of the 23rd Int'l. Conf. on Software Analysis, Evolution, and Reengineering, Vol. 1. 393--402.
[36]
Vali Tawosi, Rebecca Moussa, and Federica Sarro. 2022. On the Relationship Between Story Points and Development Effort in Agile Open-Source Software. In Proc. of the 16th Int'l. Symposium on Empirical Software Engineering and Measurement. 183--194.
Digital Library
[37]
Adam Tornhill. 2018. Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis. Pragmatic Bookshelf.
[38]
Adam Tornhill and Markus Borg. 2022. Code Red: The Business Impact of Code Quality - A Quantitative Study of 39 Proprietary Production Codebases. In Proc. of the 5th Int'l. Conf. on Technical Debt. 11--20.
Digital Library
[39]
Zeynep Tufekci. 2022. The Shameful Open Secret Behind Southwest's Failure. The New York Times (Dec. 2022). https://www.nytimes.com/2022/12/31/opinion/southwest-airlines-computers.html
[40]
James Wilson and George Kelling. 1982. Broken Windows: The Police and Neighborhood Safety. Atlantic (1982), 29--38.
[41]
Aiko Yamash*ta and Leon Moonen. 2012. Do Code Smells Reflect Important Maintainability Aspects?. In Proc. of the 28th IEEE Int'l. Conf. on Software Maintenance. 306--315.
Digital Library
[42]
Nico Zazworka, Michele A. Shaw, Forrest Shull, and Carolyn Seaman. 2011. Investigating the Impact of Design Debt on Software Quality. In Proc. of the 2nd Workshop on Managing Technical Debt. 17--23.
Digital Library
[43]
Xiaofang Zhang, Yida Zhou, and Can Zhu. 2017. An Empirical Study of the Impact of Bad Designs on Defect Proneness. In Proc. of the Int'l. Conf. on Software Analysis, Testing and Evolution. 1--9.
Recommendations
- Code red: the business impact of code quality - a quantitative study of 39 proprietary production codebases
TechDebt '22: Proceedings of the International Conference on Technical Debt
Code quality remains an abstract concept that fails to get traction at the business level. Consequently, software companies keep trading code quality for time-to-market and new features. The resulting technical debt is estimated to waste up to 42% of ...
Read More
- Toward a novel taxonomy to capture code smells caused by refactoring
Highlights
- Investigate the associated risk of applying refactoring techniques and reveal the bad smells that may appear when fixing other bad smells.
- Conducted several controlled experiments to identify the smells that emerge after refactoring.
Abstract
Code smells tend to have an impact on software quality attributes such as reusability, maintainability, and understandability. These are code flaws that do not necessarily prevent the system from operating; rather, they increase the possibility ...
Read More
- U Owns the Code That Changes and How Marginal Owners Resolve Issues Slower in Low-Quality Source Code
EASE '23: Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering
[Context] Accurate time estimation is a critical aspect of predictable software engineering. Previous work shows that low source code quality increases the uncertainty in issue resolution times. [Objective] Our goal is to evaluate how developers’ ...
Read More
Comments
Information & Contributors
Information
Published In
TechDebt '24: Proceedings of the 7th ACM/IEEE International Conference on Technical Debt
April 2024
55 pages
ISBN:9798400705908
DOI:10.1145/3644384
- Chair:
- Matthias Galster
University of Canterbury, New Zealand
, - Program Chair:
- Zadia Codabux
University of Saskatchewan, Canada
, - Program Co-chair:
- Rodrigo Spinola
Virginia Commonwealth University, USA
Copyright © 2024 Copyright is held by the owner/author(s). Publication rights licensed to ACM.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [emailprotected].
Sponsors
- SIGSOFT: ACM Special Interest Group on Software Engineering
- IEEE CS
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Published: 07 June 2024
Check for updates
Author Tags
- mining software repositories
- source code quality
- maintainability
- technical debt
- business impact
Qualifiers
- Research-article
Conference
TechDebt '24
Sponsor:
- SIGSOFT
TechDebt '24: 7th ACM/IEEE International Conference on Technical Debt
April 14 - 15, 2024
Lisbon, Portugal
Acceptance Rates
Overall Acceptance Rate 14 of 31 submissions, 45%
Contributors
Other Metrics
View Article Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
Total Citations
16
Total Downloads
- Downloads (Last 12 months)16
- Downloads (Last 6 weeks)15
Other Metrics
View Author Metrics
Citations
View Options
Get Access
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in
Full Access
Get this Publication
View options
View or Download as a PDF file.
PDFeReader
View online with eReader.
eReaderMedia
Figures
Other
Tables