Further Investigation of the Survivability of Code Technical Debt Items
Context: Technical Debt (TD) discusses the negative impact of sub-optimal decisions to cope with the need-for-speed in software development. Code Technical Debt Items (TDIs) are atomic elements of TD that can be observed in code artifacts. Empirical results on open-source systems demonstrated how code-smells are introduced and "survive" during release cycles. However, little is known about whether the results on the survivability of code-smells hold for other types of code TDIs (i.e., bugs and vulnerabilities), and how code TDIs are handled in industrial projects. Goal: Understanding the survivability of code TDIs by conducting an empirical study analyzing five systems, including two industrial cases. Method: We analyzed 85,022 code TDIs to assess their survivability using Survivability Models. In one industrial system, we also analyzed how certain development activities contribute to removing code TDIs. Results: In general, code TDIs have a high probability of being removed from the system fast. However, code TDIs that survive over a certain threshold tend to remain much longer, confirming previous results. Results also suggest that bugs tend to be removed faster. Furthermore, Refactoring and New Development are responsible for removing more than 30 useful when prioritizing TD repayment activities.
READ FULL TEXT