核心概念
自己認識された技術的負債(SATD)の除去と追加は、リファクタリング、バグ修正、新機能の追加、テストなどの他のソフトウェア開発活動と密接に関連している。
要約
本研究は、77件のオープンソースJavaプロジェクトを分析し、自己認識された技術的負債(SATD)と他のソフトウェア開発活動の関係性を探索的に調査した。
主な結果は以下の通り:
SATDの除去は95%のプロジェクトでリファクタリングと同時に発生し、SATDの追加は89%のプロジェクトでリファクタリングと同時に発生する。
バグ修正とSATDの同時発生は半数のプロジェクトで見られた。
SATDが存在する場合、「クラスの移動」、「メソッドの削除」、「属性の移動」といった特定のリファクタリングタイプが頻繁に行われるが、全体的なリファクタリングタイプの分布は変わらない。
これらの結果は、SATDの管理とソフトウェア品質の向上に役立つ知見を提供する。
統計
SATDの除去とリファクタリングは95%のプロジェクトで同時に発生する。
SATDの追加とリファクタリングは89%のプロジェクトで同時に発生する。
バグ修正とSATDの同時発生は半数のプロジェクトで見られた。
引用
"Technical debt is a crucial concept in computer software engineering, defined as 'not quite right code which we postpone making it right' [1]."
"SATD can persist in code for extended periods, sometimes for over a decade, and can eventually lead to a decline in code quality [3]."
"Refactoring can enhance code quality and can be viewed as a way of metaphorically paying off technical debt [9]."