For FOSE2012†

問題†

既存研究では不具合の依頼が一部の開発者に偏る

解決したいもの†

開発者への不具合の提供量

要因†

条件†

開発者†

不具合†

note†

一般のプロジェクトでWPを単位にしたTaskAllocation(線形計画法)との違い

アイデア†

ナップサック問題を使う†

目的関数:重要度
目的変数:0・1(不具合を修正するかしないか)
制約条件:修正予測時間に基づいて、ある一定期間における予測修正量<開発者の修正可能量
アルゴリズム:

  1. 修正可能な修正者をリストアップ
  2. 修正予測時間を算出→Cost
  3. 不具合の重要度を算出→Value
  4. ナップサック適用(1つ選ぶ)
  5. 不具合がまだあるなら1に戻る
  6. 開発者に不具合割当

整数計画法を使う†

目的関数:�凜灰好函潴榲�変数
目的変数:ある開発者があるコンポーネントを何個直すか
制約条件:ある開発者の可能修正量,あるコンポーネントの必要修正量(P1の個数など)
アルゴリズム:

  1. 修正者がコンポーネントの修正にかかるコストを算出→目的関数
  2. コンポーネントの必要修正量の算出→制約条件
  3. 修正者の可能修正量の算出→制約条件
  4. 制約条件の下に目的関数を最小にする目的変数を求める→答え
  5. 開発者の過去の修正量を基に誰にどの不具合を割り当てるか決める
    例:
    目的関数:
    3xA1+2xA2+xA3+2xB1+3xB2+2xB3
    制約条件:
    xA1+xA2+xA3≦2
    xB1+xB2+xB3≦4
    xA1+xB1≧2
    xA1+xB1≧1
    x≧0かつ整数
    注意:xA1とは開発者Aがコンポーネント1を直す個数である

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS