富士通研究所など、Javaプログラムを網羅的に検証する新技術-NASA製ツールを拡張


 Fujitsu Laboratories of Americaと株式会社富士通研究所は1月12日、Javaプログラムを網羅的に検証する新技術を開発し、Webアプリケーション数万行の検証に成功したと発表した。米NASAが開発したJavaプログラム向け検証ツール「Java PathFinder」を拡張し、数値型の入力データだけでなく、文字列型の入力データを効率よく扱えるようにすることで実現している。開発した技術の一部は、オープンソースとして公開される。

 Java PathFinderでは、与えられたJavaプログラムのソースコードに対して、具体的なテストデータを与えなくても、入力データのさまざまなバリエーションによって引き起こされる動作を自動的に実行する「シンボリック実行モード」を備えている。これによって、動作条件をすべて効率的に実行するテストデータの生成や、プログラムが指定されたアプリケーション仕様を満たしているか、といった検証を自動で行えるという。

 しかしJava PathFinderは、想定すべきバリエーションが多い文字列型データを扱えないことから、処理対象データの多くが文字列型データである業務アプリケーションには対応できていなかった。

 今回富士通研究所が開発したのは、シンボリック実行モードにおいて、文字列型データを扱えるようにする技術。入力された文字列に関連する条件を自動的に抽出し、コンパクトな表現形式でモデル化するため、シンボリック実行を効率よく行うことができる。また、文字列のシンボリック実行機能を拡張するための共通インターフェイスも開発されており、Java PathFinderの利用者はモデル化方式などの変更や独自の拡張を容易に行える。

 なお、富士通研究所は共通インターフェイス部分をオープンソースとして公開するので、世界中の開発者や研究者が、Java PathFinderを用いた文字列シンボリック実行機能を利用したり、拡張したりできるようになるとのこと。

 富士通研究所が行った実験では、JavaベースのWebアプリケーション数万行を処理することに成功しており、従来の手作業のテストに比べて検証の網羅性が大幅に向上したことが実証された。今後同社では、大規模で複雑なJavaアプリケーションでも検証を進め、本格的な実用化を目指すとしている。


(石井 一志)

2010/1/12 14:55