研究の経過 |
近年,互いに連携し共同開発を行うことを想定して,開発者が自分の担当する部分のソースコードを進捗にあわせてCVSなどの構成管理ツールに登録していくことで開発の進捗を管理するケースが増えている.本研究では,構成管理ツールに登録されているソースコードの時間経過による変化に着目し,登録されている各バージョンに対してコンポーネントランクを計算し,各部品におけるコンポーネントランク(順位と評価値)の変動の度合いによって,開発状況を推測する手法を提案し,評価実験を行った. |
また,この研究結果に基づき,情報処理学会の研究会で発表を行った. |
提案手法の手順 |
1.CVSリポジトリの更新履歴から更新日の一覧を取得する. |
2.更新日のソースコードを取得し,コンポーネントランクとその評価値を計算する. |
3.2.の結果を部品ごとにまとめ,部品毎の時間による推移を求める. |
4.3.の結果から平均変動率などを計算し,開発状況の推測を行う. |
評価実験 |
実際のオープンソースプロジェクトに対して本手法を適用したところ,以下のことが確認できた.これらの情報をグラフ化することで,利用関係の推移を読み取ることができ,開発における現状の直感的な把握がやりやすくなると考えられる. |
・ |
開発過程の全般において,上位に来る部品はエラー処理用のクラス,値を設定するクラス,ライブラリ利用のためのクラスなど,中心的な機能を果たす部品であった. |
・ |
評価値の推移の変動が他の部品と一致する部品や,変動の一致が受け継がれた部品が存在した.部品間の密接な利用関係や,部品機能が別部品に吸収されたことがわかる. |
・ |
前半は順位の変動が大きいが,後半になるにつれて,順位の変動が起こりにくくなる.利用関係が次第に安定していくことを示していると考えられる. |
・ |
平均変動率は,時間の経過とともに下がっていき,利用関係が次第に安定していく.この指標を用いることで,開発の各時点で行われた変更について,その変更規模を示す指標として利用できるのではないかと考えている. |
今後の課題 |
手順の3.4.における集計を自動化するツールを作成し,大量の(オープンソース)プロジェクトに対して適用することで,以下のような観点から平均変動率などのメトリクスが持つ意味を明らかにすることが必要であると考えている. |
・ |
一般的に時間経過により利用関係が安定する傾向にあるのか |
・ |
どのような変更が行われた場合に,大きな変動があるのか |