2025年8月23日
今週の活動
- ODCデータセットに関する論文を読んだ
- 達成できたこと
- バグレポートとODC属性を用いて、3つのNoSQLにおける合計約4000個のバグを分類
- 3つのNoSQL間で、バグの特性に類似性があることを確認
- 8つのODC属性のうち、6つの属性について手動分類を行い、研究者間の合意率を算出
- 達成できなかったこと
- ODC分類の自動化
- 本研究では、複数の研究者が約4000個のバグを手作業で分類した
- AgeとSourceの評価
- バグレポートの制約により、AgeとSourceの信頼性を評価できなかった
- ODC属性の選定基準
- AgeとSourceはバグレポートから取得できない
- それ以外はバグレポートから取得できる
- ODC属性の有用性
- 高(カッパ係数が約0.9): Target, Defect Type, Qualifier
- 中(カッパ係数が約0.8): Impact
- 低(カッパ係数が0.7未満): Activity, Trigger
- 不明(バグレポートの制約により未調査): Age, Source
得られた成果
- ODCのCloser Sectionの属性のうち、Target, Defect Type, Qualifierは手動分類においては信頼性が高い
- 自動分類の信頼性については先ほどの論文では述べられていないため、改めて検討が必要
- ODCのCloser Sectionの属性のうち、AgeとSourceの信頼性については未調査だが、特定のコミットで変更されたファイルのメタデータを用いて自動分類できると思われる
- 同様に、Target属性もファイルのメタデータから自動分類できると考えられる
- Defect TypeとQualifierはコードの差分を見て文脈を判断する必要があるため、高い精度での自動分類は難しい
直面した課題
- 各ODC属性がバグの有無の予測とバグの特徴付けにどの程度寄与するか不明
- 仮にAge, Source, Targetを自動分類するプログラムを作ったとしても、それらの特徴量が実際にバグ予測の精度向上に貢献し、バグ分析に役立つ情報を提供するかは不透明
来週の計画