2012 Fiscal Year Research-status Report
データフロー検索と可視化によるオブジェクト指向プログラム理解の支援手法
Project/Area Number |
23650016
|
Research Institution | Nara Institute of Science and Technology |
Principal Investigator |
久米 出 奈良先端科学技術大学院大学, 情報科学研究科, 助手 (10301285)
|
Keywords | プログラム理解 / フレームワーク学習 / 動的解析 / オブジェクト指向プログラミング |
Research Abstract |
オブジェクト指向フレームワークのアプリケーションに関する非局在化された意図(Delocalized Plans)をメソッドの実行時の依存関係によって表現する機能要素モデル(Feature Component Model)を考察した。機能要素モデルはプログラムの実行時に呼び出されたメソッドの内部挙動を(1)データの流れ、(2)制御の流れ、(3)状態遷移の側面から抽象化し、メソッド同士の依存関係を表現する。 一般にフレームワークアプリケーションの実行時には制御の反転(Inversion of Controls)に代表される複雑なメソッド呼び出し構造が発生する。機能要素モデルはこうしたフレームワークアプリケーションに固有な呼び出しの下で発生する依存関係を、フレームワークとアプリケーション固有部分のコード間の協調や衝突として解釈する。これによって保守作業者がフレームワークの開発者とその利用者(アプリケーション開発者)双方の意図の整合性の確認やや衝突の特定が容易になった。 我々は実際に第三者が開発した実用的なフレームワークの誤利用事例に機能要素モデルを適用し、意図の衝突の存在とその発生箇所の特定に成功した。またソフトウェア開発現場の技術者の知見や助言を元にして、意図の衝突の存在を早期に特定し、かつ衝突の発生過程を効率的に解析するための手法を考察した。 上記の結果から分かるように、本研究の意義は動的解析によって複雑な内部挙動とフレームワーク利用に関する意図という高次の概念の対応付けが可能になった点に有る。こソフトウェア開発の現場ではフレームワーク利用が普遍化すると共にその利用の学習支援が重要な課題となっている。我々の研究はフレームワーク利用の学習支援という、実用上重要な問題を取り扱っていると考えられる。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究は局在化された意図の復元を支援する動的解析ツールの開発とその評価を目的としている。平成23年度の研究の進展により、フレームワーク利用の意図理解の問題が局在化された意図の復元問題の一種である事が判明した。以降ではフレームワーク利用意図の整合性に研究の焦点が置かれるようになった。また解析結果を表現する機能要素モデルが定義され、モデル構築がツールの用途として定められた。このように平成23年度までは、新たに得られた知見を取り入れる形で方向性が修正されながらも、研究は順調に展開した。 平成24年度では当初の予定通りツールを効率的に利用する手法の確立に取り組んだ。具体的には(1)動的解析ツールの試作完了、(2)試作ツールを用いた予備実験の実施とその評価、(3)試作ツールを効率的に利用するための操作パターンの確立、の三点の実施を目標としていた。 ツールの開発に関しては可視化の部分等一部機能が未実装であるが、予備実験の実施に必要最低限の機能の実装を完了した。予備実験を実施してソフトウェア開発の技術者の意見を得た。予備実験の結果、意図の衝突の検出や解析範囲の特定に必要なヒントをツール側で生成する機能が必要となる事が判明した。これは研究の開始当初では予想していなかった重要な知見であった。現在これらヒント生成機能を実現するための手法を考察し、論文投稿の準備を進めている段階である。 結果としてツールの開発に若干の遅れは生じたものの、今後の研究を推進する上で重要な知見が得られた事により、予備実験の目的は達成されたと考えられる。よって研究はおおむね順調に進展していると評価出来る。
|
Strategy for Future Research Activity |
上記「現在までの達成度」の欄で述べたように、試作ツールを用いて予備実験を実施した結果、ツールを効率的に利用するためにはヒント生成機能が必要である事が判明した。このヒント生成機能に関して研究開始時には予測していなかっため、ツールの開発と実装実験に関する予定を若干変更する必要が生じた。加えて2013年度に確立した機能要素モデルの内容から、実証実験の内容に関しても項目の追加が必要になった。 こうした研究計画の変更に対応するために、実証実験の内容とツールの開発計画に変更を加える。当初はツール利用者の操作履歴を取得して手法の有効性を評価する予定であった。しかしながら上記予備実験の実施結果より、手法の有効性はヒント生成機能に大きく依存する事が予想されるようになった。よってヒント生成機能の評価に焦点を当てる形で実証実験を再設計する。またツールの可視化機能に関しても生成されたヒントの表示に焦点を当てた仕様を策定、それを実装する。
|
Expenditure Plans for the Next FY Research Funding |
実証実験を実施する計算機環境を構築するためのノートPCの購入費用、及び学外の被験者が実験に参加するための旅費が必要である。 前年度に引き続き、研究協力者(論文の共著者や実証実験に協力してくれる大学や企業の人員)との打ち合わせに伴う出張費用が必要となる。さらに研究成果を発表するための旅費、会議の参加費、論文の英文校閲費用等が必要である。研究成果を発表する国際会議の日程の都合により、次年度への予算の繰り越しが必要になった。
|
-
-
-
-
-
-
[Presentation] A Feature Model of Framework Applications
Author(s)
Izuru Kume, Masahide Nakamura, Naoya Nitta, Etsuya Shibayama
Organizer
14th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2013)
Place of Presentation
Honolulu, Hawaii, U.S.A.