研究課題/領域番号 |
24500050
|
研究種目 |
基盤研究(C)
|
研究機関 | 立命館大学 |
研究代表者 |
丸山 勝久 立命館大学, 情報理工学部, 教授 (30330012)
|
研究分担者 |
大森 隆行 立命館大学, 情報理工学部, 助教 (90532903)
|
研究期間 (年度) |
2012-04-01 – 2015-03-31
|
キーワード | プログラム変更支援 / ソフトウェア保守と進化 / ソフトウェア開発環境 |
研究概要 |
本研究では、開発者や保守者が過去に行ったプログラムのソースコードの編集操作をすべて記録し、その編集操作履歴から将来のプログラム保守に役立つ情報を抽出する手法を確立する。平成24年度は、主に2つの研究を実施した。 1. 従来研究において開発した、編集操作記録ツール(OperationRecorder)の記録機能を改良した。このツールは、統合開発環境EclipseのJavaエディタ上でプログラマが行ったソースコードの編集操作を細粒度で記録できる。しかしながら、編集操作の記録はJavaエディタ上のファイルに基づき管理されており、ファイル名の変更などを正確に追従できない。そこで、Javaエディタ上で行われたものだけを記録するでなく、リソースの変更操作(ファイルの削除,移動,ファイル名の変更)や取り消し(undo/redo)操作を記録できるようにツールを拡張した。リソースの変更や取り消し操作を記録することで、編集操作の再演時において編集操作が正確に追従できるようになったことを確認した。 2. 記録した編集操作を効率的に活用するための内部表現として、編集操作グラフの改良を行った。従来の編集操作グラフでは、それぞれの編集操作の適用前後のソースコードのスナップショットに対して、クラスメンバを節点として、それらの節点間の編集に関する依存関係を表す辺が定義していた。しかしながら、単独のスナップショット内に存在する依存関係を組み込んだり、複数の開発者が行った編集操作を合成したりすることを考えると、このような依存関係に基づき特定される影響範囲は必要以上に大きくなる。そこで,グラフ表現の節点をクラスメンバから編集操作に変更し、編集操作間の依存関係を形式的に定義することで、より追跡性の高い編集操作グラフの考案した。同時に、このグラフ表現を編集操作記録ツールに組み込む作業を完了させた。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
交付申請書に記述した平成24年度の研究項目は、(1)編集操作を記録する仕組みの確立と(2)編集操作を追跡する仕組みの確立と履歴の内部表現の決定、である。 研究実績の概要に示したように、それぞれの研究項目に対して、編集操作記録機能の改良と内部表現の改良を達成した。特に、編集操作の内部表現の確立においては、編集操作の依存関係を応用したツールを国際会議ASE 2012で発表し、その有用性を国際的な場で示せたことで高い達成度が得られたと考えている。さらに、この国際会議において、研究の発展につながる議論ができたことは、今後の研究の遂行にとって非常に有利である。また、研究分担者および連携研究者との連携も効果的に働き、本研究課題に関連する研究成果をそれぞれの研究者とも国際会議で発表している点からも研究は順調に進展しているといえる。
|
今後の研究の推進方策 |
現在の研究が交付申請書に記述した通りに進展しているため,当初の予定通り,記録した編集操作を活用するツールの考案と構築に取り組む。たとえば、リファクタリングの検出、開発状況の推測、脆弱性混入の原因追跡,プログラム理解支援への活用を進める。このような編集操作履歴の活用場面を示すことで、従来のような版管理だけで実現できることに対して,編集履歴を用いることで新たにできるようになった支援を明確にしていく。また、再粒度で記録した編集操作はそのデータ量が膨大になることが分かっており,クラスタリング,マイニング,視覚化など編集操作そのものをどのように管理し,そこから有益な情報を取り出すかという課題も残されている。このような観点から,新たな研究展開も考えていく予定である。
|
次年度の研究費の使用計画 |
編集操作管理サーバおよびプライベートクラウド環境構築のためのサーバ群に関しては、大学研究室に存在する計算機を利用するため、特に設備備品の購入の予定はない。研究経費の多くは、昨年度と同様に、研究成果発表(論文掲載料、会議参加費,旅費)、および、連携研究者・研究協力者との研究打合わせの旅費に使用する。現時点で、論文投稿を3件、国際会議投稿を2件、国内会議投稿を2件予定している。
|