柏
ゴール†
- 優先度の自動設定ができるようにする
- 優先度が意味があるものと証明すること
- なぜ優先されるのかを明らかにする
- 不具合の優先度づけは大変
- テストフェーズには大量の不具合が報告される
- 報告される不具合はプロジェクトのコア開発者が不具合の内容を精査し,修正するかや優先度を決める
- この精査は多くの時間を要する
- リリースまでにプロジェクトの品質を上げるために,直すべき不具合を適切に把握・優先度は適切に設定し,リソースを上手く最大限活用して,優先すべき不具合を修正するべき
- 優先度の予測研究が行われている
- 精度は40%程度と低い
- 特にP1は低く,ソフトウェアは1件の不具合でもシステムが停止することがあるため,P1値はより,正確に見積もる必要がある
関連研究†
柏/ネタ帳/HighPriorityDefect/関連研究
研究設問†
RQ1 :開発者はいつ優先度をつけるか†
RQ2:優先度は守られているか(意味があるか)†
RQ3:優先度は誰が付けているか(コアな開発者か)†
RQ4:なぜ優先されるのか(優先度をつける基準は何か)†
- 優先度ごとに以下を比較
- リリースまでの時間を比較
- 修正したソースコードがコア部分
- 深刻度
- セキュリティに関するワードが含まれるか
RQ5:(RQ4)で違いがでた値は予測に使えるか†
Eclipse†
RQ1 :開発者はいつ優先度をつけるか†
RQ2:優先度は誰が付けているか(コアな開発者か)†
- 8割の優先度の変更は半分以下の開発者で行われている
- コアの定義が未定のため保留
RQ3:優先度は守られているか(意味があるか)†
- 修正日数は優先度が高いほど短い
- 修正完了率は優先度が高いほど高い
RQ4:優先度をつける基準は何か†
Discussion†
優先度が予測できるようになると,次のリリースまでにこのプロジェクトが直してくれるかがわかる†
全部の不具合が優先度を変更されていないのはめんどくさいから?†
- さっと直せるものは良いとして,リリース直前のものは,ちゃんとつけるべき
- でも,それが面倒くさいから,優先度をちゃんとつけてないのでは?
- 結局,リリースまでの時間を鑑みて,相対的に付けなければならないから,人間には容易ではない
- 優先度は深刻度を見てつける(by David Lo)
- そもそも優先度と深刻度の違いは?
- 修正時間は無視した方が良い←吉行の研究で結果が出なかったことを考慮
- ただし,優先度が設定され直してから修正されるまでの時間であれば変わる可能性がある
- 年度ごとにバラツキはあるか?
- 月によって違いはあるか
- 3.4.5.6月でたくさんプライオリティが変更されているが,
- それぞれの月で違いがあるか
- また,その他の月と違いはあるか
- 優先度の指標は人によって違うのか
- 特徴量や単語を抽出できるか?
- プロダクトやコンポーネントによって重要視されているものが違うのか?
- 正常系処理に関する欠陥がおおいのか?
その他†
- 研究者は優先度は当てにならないと言っているが,開発者もそう思っているのか
- 高い優先度の欠陥はすべて直されてリリースされてる?
- 直す直さないの境目はどこ?
- 高い優先度はセキュリティが多いのか?
- 経験のない人が付ける優先度は無視されてるのではないか?
- 優先度や重要度が高い不具合は経験がある開発者が担当するのか
るか
- 優先度は,まず,テスターによってセットされ,最終的にはプロダクト・プロジェクトマネージャーが変更し直す.
- 80%の不具合は,最初に付けた優先度から変更されずに修正されている
- 残り20%は誰が,どのタイミングで,なぜ,変更しているのか
- リリース付近もよく見たほうが良い