An insight into the technical debt-fix trade off in software backporting
Jarin Tasnim, Debasish Chakroborti, Chanchal K. Roy, Kevin A. Schneider

TL;DR
This paper investigates the occurrence and causes of technical debt during software backporting across multiple ecosystems, revealing patterns related to project type, release phase, and developer experience.
Contribution
It provides a large-scale empirical analysis of technical debt in backporting, identifying key factors influencing debt introduction and offering insights for better maintenance practices.
Findings
Approximately 4.3% of backports introduce new technical debt.
Apache has the highest absolute number of debt instances.
Python and Eclipse have higher debt-to-commit ratios than Apache.
Abstract
Maintaining software is an ongoing process that stretches beyond the initial release. Stable software versions continuously evolve to fix bugs, add improvements, address security issues, and ensure compatibility. This ongoing support involves Backporting, which means taking a fix or update from a newer version and applying it to an older version of the same software. As software versions evolve, new technical debt can arise during backport maintenance activities. This study examines the technical debt involved in fixing 105,396 commits from 31,076 backport sources across 87 repositories in three software ecosystems (Apache, Eclipse, and Python). The goal is to identify when and why new technical debt arises during backporting in stable source code. Our results indicate that approximately 4.3% of backports introduce new technical debt. Apache contributes the most absolute instances,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software System Performance and Reliability
