Further Investigation of the Survivability of Code Technical Debt Items

by   Ehsan Zabardast, et al.

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.


page 1

page 4

page 5

page 6

page 8

page 9

page 12

page 15


Can Clean New Code reduce Technical Debt Density?

While technical debt grows in absolute numbers as software systems evolv...

On Relating Technical, Social Factors, and the Introduction of Bugs

As collaborative coding environments make it easier to contribute to sof...

Refactoring for Reuse: An Empirical Study

Refactoring is the de-facto practice to optimize software health. While ...

Symptoms of Architecture Erosion in Code Reviews: A Study of Two OpenStack Projects

The phenomenon of architecture erosion can negatively impact the mainten...

Does Migrate a Monolithic System to Microservices Decreases the Technical Debt?

Background. The migration from monolithic systems to microservices invol...

Some SonarQube Issues have a Significant but SmallEffect on Faults and Changes. A large-scale empirical study

Context. Companies commonly invest effort to remove technical issues bel...

Controlled Update of Software Components using Concurrent Exection of Patched and Unpatched Versions

Software patching is a common method of removing vulnerabilities in soft...