#author("2020-10-11T19:49:28+00:00","","")
#author("2020-10-11T19:59:45+00:00","","")
[[木村/Research Subject]]



* Technical Debt [#h003f002]
**Research Memo [#icc9891c]
- Issue で TD(Technical Debt) を扱っているプロジェクトの抽出
-- Rest API を使って,スター数から上位5000プロジェクトを抽出
-- 各プロジェクトで扱っている Issue ラベルを収集
-- Technical Debt に関連するラベルを含むプロジェクトを抽出
- Issue で扱われているトピックを分析・分類
-- 自動分類を行った時に,False Positive となった Issue を理解するため
- 自然言語処理・機械学習を用いて,TD に関連する Issue を自動分類

- 関数のトピック化
-- Issue の内容とその Issue をもとに変更された箇所を学習させれば,Issue から修正対象コードの位置が推定できる?

***Technical DebtとBugやCode Smellとの違いとは? [#a2c6d248]
- Technical DebtのラベルがついたIssueとTechnical DebtのラベルがついていないIssueをそれぞれTD-IssueとNon-TD-Issueと暫定的に定義する
- Commit MessageからIssue IDを抽出しFixing CommitとIssueの紐付けを行う
- さらに,Commit Guruを用いて,Fixing Commitの修正対象CommitであるInducing Commitを抽出し,Fixing CommitとInducing Commitの紐付けを行う
-- (紐付けのイメージ) Issue - Fixing Commit - Inducing Commit
- TD-Issueと紐づいたInducing CommitをTD-Code,Non-TD-Issueと紐づいたInducing CommitをNon-TD-Codeと暫定的に定義する
- TD-CodeとNon-TD-Codeの比較を行う
-- 変更量,複雑度,変更ファイルの種類(コーディング規約など),Fan-In,Fan-Outなど
-- (検討)変更ファイル数,他になにがあるかわからん...
- TD-Codeと Non-TD-Codeに違いがなかった場合
-- Issueのラベルに基づいてTD-CodeとNon-TD-Codeをさらに細分化し比較を行う
-- (例)UIのTD-CodeとNon-TD-Codeの比較

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS