IPA


開発成果一覧へ





2004年度第1回未踏ソフトウェア創造事業  採択案件評価書


 



1.担当PM


 加藤 和彦 (筑波大学 電子・情報工学系 教授)



2.採択者氏名


 代表者

西澤 無我(東京工業大学 情報理工学研究科 博士課程)

共同開発者

なし



3.プロジェクト管理組織


 日本エンジェルズ・インベストメント株式会社



4.委託金支払額


 2,996,710円



5.テーマ名


 分散ソフトウェア用のアスペクト指向テスティングフレームワーク



6.関連Webサイト


 http://www.csg.is.titech.ac.jp/~muga/mitou2004/



7.テーマ概要


 分散ソフトウェア、特に J2EE アプリケーション、のテスティングの効率を向上させるため、AOP 技術を利用した新しい分散ソフトウェア専用のテスティング・フレームワークを提案・開発した。本フレームワークでは、利用者に分散ソフトウェアのテストプログラムをアスペクトで記述させる。これにより、利用者は分散ソフトウェアの white-box testing のためのプログラムをより簡潔に書くことができる。このフレームワークを実現させるため、Java 用のアスペクトコンパイラと、JUnit に似せた JBoss 用のテストの実行時ライブラリを開発した。



8.採択理由


 分散ソフトウェアのテストの生産性を改善する提案であり,新規性と有用性が共にある提案である.すでにプロトタイピングを行っており,開発を成功させる可能性は十分に高い.



9.開発目標


 テスト作成者が分散ソフトウェアのより簡潔な white-box test プログラムを効率良く記述・開発できるようにする。簡潔なテストプログラムを実現するには,下記の2点が必要であると考えられる.
 ・ テスト対象プログラムに手を加えることなく、テスト対象プログラムの変数の値を取得できること.
 ・ 複数ホスト上で動作するプログラムから構成される分散ソフトウェアのテストであっても、テストプログラムは分散を意識せず、テストのアルゴリズムにのみ注目して記述できること.



10.進捗概要


 Java 用のアスペクトコンパイラとテストの実行時ライブラリを開発した.本フレームワークでは、利用者にテストプログラムをアスペクトで記述させる。アスペクトはオブジェクト指向技術のクラスモジュールを拡張したモジュールであるため、独自の言語コンストラクトを使用して定義される場合がある。本フレームワークの利用者は、アスペクトを Java 用の汎用的な AOP 言語として知られる AspectJ を拡張した文法で記述する。そのため、利用者が記述したアスペクトを解釈するコンパイラが必要になる。本コンパイラは、利用者が記述したアスペクトを読み込み、Java の通常のクラスファイルを生成する。
 本フレームワークのテストの実行時ライブラリは、テストの実行時に、JUnit の実行時ライブラリと同様、複数のテストプログラムを順次実行するためのメカニズムを提供する。また、この実行時ライブラリは、分散ソフトウェア内の変数値を自動でテストプログラム (アスペクト) に通知する仕組みも提供する。本プロジェクトでは、これらの機能を提供するテストの実行時ライブラリを JBoss web application server のサービスの一つとして開発する。



11.成果


 開発したアスペクトコンパイラは、多くのJ2EE アプリケーション内の変数値を取得し、テストプログラムに通知するために必要な文法を解釈することができる。しかし、AspectJ 言語が提供している言語機構の中で、本コンパイラがサポートしていない言語機構もある。また、実装したコンパイラ内のバグをすべてフィックスしているとは言いがたい。
 テストの実行時ライブラリは、テストの実行時、終了時に必要となる基本的な機能をサポートしている。




12.プロジェクト評価


 学術研究を行いつつ,実用を目指したソフトウェア開発を行っている.両者を両立することは容易ではなく,懸命に研究とソフトウェア開発に取り組んだ姿勢は評価できる.



13.今後の課題


 開発したコンパイラにはバグが残っているようであり,完成度を高めて実用に耐えうるレベルに達して頂きたい.また,JBossコミュニティへのアピールなども積極的に行い,実用性を実証して頂きたい.



  ページトップへ   






  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004