• 自己認識技術的負債(SATD)は、開発者がコードで認識している意図的なショートカットや最適でない解決策を指す
  • SATDは、「TODO」や「FIXME」などのコメント形式で現れ、現在の実装が理想的でないことを示し、将来的に見直す必要があることを示す
  • コードレビューにおけるSATDの導入の役割に焦点を当てた研究が行われ、SATDコメントは現代のコードレビュー中に頻繁に導入されていることが分かった
  • 機械学習を使用して、課題追跡システムでSATDを自動的に識別する方法が研究され、従来のアプローチを凌駕する結果が示された
  • グラフニューラルネットワークを使用した検出方法の進展があり、GGSATDと呼ばれる新しいアプローチがSATDをより効果的に検出して説明することが示されている
  • 産業におけるSATDの認識と管理の研究があり、実世界のプロジェクトで開発者がSATDをどのように認識し管理しているかが明らかにされている
  • Dockerfileなど特定のコンテキストでのSATDの存在も調査され、DockerfileにおけるSATDが約3%含まれていることが分かった

技術的負債は、簡単な解決策を選択することで追加の再作業による暗黙のコストを意味し、SATDは開発者が明示的に認識する特定の技術的負債であり、コードを通じてしばしば示される。

機械学習は、アルゴリズムと統計モデルを使用してコンピュータに明示的な指示なしでタスクを実行させる人工知能のサブセットであり、パターンと推論に依存する。

グラフニューラルネットワークは、グラフとして構造化されたデータを処理するために設計されたニューラルネットワークであり、ノード間の関係と相互作用を効果的に捉える。

元記事: https://www.nature.com/research-intelligence/self-admitted-technical-debt-in-software-development