Automatic Identification of Self-Admitted Technical Debt from Four Different Sources

要約

タイトル:四つの異なるソースからの自己認定技術的負債の自動識別

要約:

– 技術的負債とは、長期的なメンテナンス性と進化性を犠牲にして、短期的な目標を達成するためにショートカットを取ることを指します。
– 大部分の技術的負債は、開発者自身が明示的に報告しています。これは一般的に「自己認定技術的負債(SATD)」と呼ばれます。
– 従来の研究では、ソースコードコメントやイシュートラッカーからSATDを識別することに焦点が当てられてきました。しかし、コミットメッセージやプルリクエストなどの他のソースからSATDを自動的に識別する方法はありません。
– そこで、私たちはソースコードコメント、コミットメッセージ、プルリクエスト、イシュートラッキングシステムの4つのソースを統合した自動SATD識別手法を提案して評価しました。
– 私たちの調査結果は、私たちの手法がベースライン手法を上回り、4つのSATDタイプ(すなわち、コード/デザイン負債、要件負債、ドキュメント負債、テスト負債)を4つのソースから検出する際の平均F1スコアが0.611に達することを示しています。
– その後、私たちは103のオープンソースプロジェクトで23.6Mのコードコメント、1.3Mのコミットメッセージ、3.7Mのイシューセクション、1.7Mのプルリクエストセクションを分析して、SATDを特徴づけました。
– さらに、私たちはSATDのキーワードと異なるソース間のSATDの関係について調査しました。その結果、以下のことが示されました。

1. SATDはすべてのソースに均等に分布しています。
2. イシューとプルリクエストは、共有されるSATDキーワードの数において最も類似した2つのソースであり、それに続いてコミットメッセージ、そしてそれに続いてコードコメントです。
3. 異なるソースのSATDアイテム間には、4つの種類の関係があります。

要約(オリジナル)

Technical debt refers to taking shortcuts to achieve short-term goals while sacrificing the long-term maintainability and evolvability of software systems. A large part of technical debt is explicitly reported by the developers themselves; this is commonly referred to as Self-Admitted Technical Debt or SATD. Previous work has focused on identifying SATD from source code comments and issue trackers. However, there are no approaches available for automatically identifying SATD from other sources such as commit messages and pull requests, or by combining multiple sources. Therefore, we propose and evaluate an approach for automated SATD identification that integrates four sources: source code comments, commit messages, pull requests, and issue tracking systems. Our findings show that our approach outperforms baseline approaches and achieves an average F1-score of 0.611 when detecting four types of SATD (i.e., code/design debt, requirement debt, documentation debt, and test debt) from the four aforementioned sources. Thereafter, we analyze 23.6M code comments, 1.3M commit messages, 3.7M issue sections, and 1.7M pull request sections to characterize SATD in 103 open-source projects. Furthermore, we investigate the SATD keywords and relations between SATD in different sources. The findings indicate, among others, that: 1) SATD is evenly spread among all sources; 2) issues and pull requests are the two most similar sources regarding the number of shared SATD keywords, followed by commit messages, and then followed by code comments; 3) there are four kinds of relations between SATD items in the different sources.

arxiv情報

著者 Yikun Li,Mohamed Soliman,Paris Avgeriou
発行日 2023-04-21 11:39:33+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, OpenAI

カテゴリー: cs.AI, cs.SE パーマリンク