研究課題/領域番号 |
26280025
|
研究機関 | 国立研究開発法人産業技術総合研究所 |
研究代表者 |
森 彰 国立研究開発法人産業技術総合研究所, 情報技術研究部門, 研究グループ長 (30311682)
|
研究分担者 |
橋本 政朋 国立研究開発法人理化学研究所, 計算科学研究機構, 研究員 (60357770)
|
研究期間 (年度) |
2014-04-01 – 2017-03-31
|
キーワード | ソフトウェア変更解析 / リファクタリングパターン / ソースコード / 木差分計算 |
研究実績の概要 |
今年度は、昨年度に構築したソースコードの変更データベースを利用して、ソフトウェア開発にとって問題となったり、重要な設計判断を反映したりする特徴的なコード変更パターンを、効率よくかつ正確に同定するための技術について研究を行った。Java言語によるソフトウェアプロジェクトについては、Fowlerらによって整理されたオブジェクト指向プログラムにおけるリファクタリングパターンを中心に、また、C言語によるプロジェクトについては、局所変数の導入や削除などの変更パターンを中心に、同定実験の作業を行った。全体として60個程度の変更パターンについて、SPARQLによる問い合わせ文を記述し、変更データベースにおいて検索を行い、検索結果が正しいかを目視で確認した。Javaについては、Apache Antプロジェクトを始めとするオープンソースプロジェクトを対象に、また、CについてはLinuxカーネル2.6を対象として実験を行った。結果として検出精度は90%を超え、これは既存研究(概ね70%程度)と比較しても非常に良好な結果である。さらに、検出された変更パターンがバージョンを超えて関連しているかを調べる実験も行った。例えば、プログラムの可読性を向上するために導入された局所変数について、その初期値が後になってインライン展開されるような逆戻り変更パターンを検出することが可能になった。これは、年月を経るにつれて、当初の変更の意図があいまいになり、一見無駄とも思える変更が生じてしまうことを意味し、ソフトウェア開発における興味深い現象を初めて明らかにする技術として非常に興味深い研究結果と言える。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
当初想定した成果が達成できている一方で、予期していなかった詳細レベルの課題の同定と克服が行われており、研究活動が生産的に行われていると判断できる。しかし、研究発表については、外注で予定していた実験環境の整備や実験データの整理を、研究代表者自ら行う必要が生じたことから、成果発表のための時間が十分に確保できていない。次年度に向けて努力が必要である。
|
今後の研究の推進方策 |
研究所における成果発表において、大規模製造業を中心とする企業から本研究への興味が大きいことを確認した。実際に、いくつかの企業との連携も検討されており、学術的な成果だけでなく、産業界にアピールする研究ができていると感じている。今後は、学術研究と産業応用の両者の活動を組み合わせることで、特徴のある研究を推進していく予定である。
|
次年度使用額が生じた理由 |
前年度まで、研究協力者として参加していた研究者が企業へ就職したため、当該企業への外注費を予算計上したものの、条件が折り合わず発注できなかった。このため、外注費が消化されなかったことに加え、想定していた当面の作業(変更データベースのシステム管理と実験データの整理)を研究代表者が行った影響で、成果発表のための時間を取ることができず、旅費を消化することができなかった。
|
次年度使用額の使用計画 |
外注費については、次年度に仕切り直して外注を行うこととし、旅費については、学会発表等で使用する予定である。また、外注の作業を遠隔で行うための設備を新に購入することとした。
|