データベースのデータベース設定データを分析するステップと、前記データベースにアクセスするための1つ以上のデータベースアプリケーションプログラミングインタフェースを分析するステップと、前記分析に基づいて1つ以上のスタブを生成するステップであり、該1つ以上のスタブは、実行されたときに、前記データベースにデータが投入されているかのように前記データベースをモデル化するよう構成される、生成するステップと、を有するデータベースモデルを生成する方法。前記1つ以上のスタブはJavaコードで記述される、請求項1に記載の方法。前記1つ以上のスタブをテスト対象アプリケーションのコードベースと結合して、該テスト対象アプリケーションを分析するためのホモジニアスな非分散型アプリケーションを生成するステップ、を更に有する請求項1に記載の方法。前記テスト対象アプリケーションはウェブアプリケーションである、請求項3に記載の方法。前記非分散型アプリケーションはJavaコードで記述される、請求項3に記載の方法。コンピュータプログラムを格納したコンピュータ読み取り可能記憶媒体であって、該コンピュータプログラムは、実行されたときに、データベースのデータベース設定データを分析し、前記データベースにアクセスするための1つ以上のデータベースアプリケーションプログラミングインタフェースを分析し、且つ前記分析に基づいて1つ以上のスタブを生成し、該1つ以上のスタブは、実行されたときに、前記データベースにデータが投入されているかのように前記データベースをモデル化するよう構成される、ように構成されている、コンピュータ読み取り可能記憶媒体。データベーススタブ生成モジュールを有するシステムであって、該データベーススタブ生成モジュールは、データベースのデータベース設定データを分析し、前記データベースにアクセスするための1つ以上のデータベースアプリケーションプログラミングインタフェースを分析し、且つ前記分析に基づいて1つ以上のスタブを生成し、該1つ以上のスタブは、実行されたときに、前記データベースにデータが投入されているかのように前記データベースをモデル化するよう構成される、ように構成されている、システム。開示の技術は、先行技術に係る方法及びシステムに伴う欠点及び問題のうちの少なくとも一部を実質的に排除あるいは抑制することが可能な、データベースアプリケーションの分析用のデータベースモデルを生成するシステム及び方法を提供する。本発明の特定の一実施形態によれば、データベースモデルを生成する方法は、データベースのデータベース設定データを分析することを含む。当該方法はまた、前記データベースにアクセスするための1つ以上のデータベースアプリケーションプログラミングインタフェースを分析することを含む。当該方法は更に、前記分析に基づいて1つ以上のスタブを生成することを含み、該1つ以上のスタブは、実行されたときに、前記データベースにデータが投入されているかのように前記データベースをモデル化するよう構成される。例えばモデル検査、記号的実行、静的分析及びテスティングなどの複数の技術によって使用されることが可能なテストハーネスと言い得るような、データベースをモデル化するスタブが生成される。その他の技術的効果が、以下の詳細な説明、特許請求の範囲及び図面から、当業者に明らかになる。なお、特定の効果を上述したが、様々な実施形態は、上述の効果の全て若しくは一部を含むこともあるし、上述の効果を含まないこともあり得る。図1は、この開示の特定の実施形態に従ったウェブアプリケーションドメイン10の一例を示す簡略図である。図1は、クライアント12、データベース18、及びサーバ14例えば、J2EEサーバを含んでいる。ウェブアプリケーションドメイン10の構成要素は、例えば図5を参照して更に詳細に後述するコンピュータシステムなどの1つ以上のコンピュータシステム内で実行あるいは動作する。この開示によれば、ウェブアプリケーション用の環境生成environmentgenerationが創出され得る。環境生成の創出の一例に係る方法は、米国特許出願第11/865435号に記載されている。なお、この文献の全体をここに援用する。その方法は、特にJavaで記述された開いたヘテロジニアスな分散型ウェブアプリケーションを、正規の検証技術例えば、Javaモデル検査などによって分析される準備の整った、閉じたホモジニアスな非分散型Javaプログラムに変換することができる。この技術は、ドライバ及びスラブの生成を提供する。ドライバ生成は、配備時に行われる、ウェブアプリケーションのイベント処理機構を構築するとともに、ユーザコンポーネントのJava実装を作成する。スタブ生成は、例えばデータベースコンポーネント及びJ2EEコンポーネントなどの実際のコンポーネントを、重要な挙動を保存するが非分散型プログラムにて実行されるJava実装で置き換えることができる。ドライバ及びスタブが生成されると、それらは元のアプリケーション特有のコードベース元のライブラリを除くと組み合わされ、閉じたホモジニアスな非分散型Javaプログラムが作成される。このような手法を用いることには数多くの利点が存在する。例えば、提供される方法は、独立型スタンドアロンツールとしてパッケージ化されることができる。さらに、これらのツールは、特定のドメインに基づいて設定及び拡張を施されることができる。故に、これらのツールは多様なアプリケーションに適用されることが可能である。また、この方法は、例えばモデル検査、静的分析及びテスティングなどの複数の技術によって使用可能なテストハーネスと言い得るドライバ及びスタブを生み出す。図1を再び参照するに、用語‘開いた’は、ユーザコンポーネントが、ウェブブラウザ、アプレット又はグラフィカルユーザインタフェースGUIを介してアプリケーションを押し進める状況を意味する。用語‘ヘテロジニアス異種環境’は、Javaに加えて、例えばHTML、JavaScript、PHP、Perlなどの数多くのその他の言語が使用されることを意味する。本発明の状況において、‘複合’は、アプリケーションの主要部がデプロイメント記述子ファイルに従って配備時に生成される、典型的に事実上分散される多階層技術を暗示する。このような方法は、特にJavaで記述された開いたヘテロジニアスな分散型ウェブアプリケーションから、閉じたホモジニアスな非分散型Javaアプリケーションを生成し得る。このようなアプリケーション用の環境生成は、モデル検査、静的分析及びテスティングと組み合わせて使用されることが可能な独立型ツールとしてパッケージ化されることができる。開いたヘテロジニアスな分散型ウェブアプリケーションをモデル検査するためのこのような環境生成は、既存のシステムでは現状において明らかにされていない。Javaクラス例えば、再使用可能なライブラリを除くアプリケーション特有コードベースの集合として被分析モジュールが与えられると、環境生成は該モジュールのドライバ及びスタブを作成する。ドライバは、制御のスレッドを保持するJavaクラスであり、通常、該モジュールにコールをかける。残りの環境クラスはスタブと呼ばれる。ウェブアプリケーションのドメインにおいて、ドライバはエンドユーザをシミュレートし、スタブは例えばデータベース及びJ2EEライブラリなどのバックエンドコンポーネントをモデル化する。図2は、この開示の特定の実施形態に従ったウェブアプリケーションの環境生成の一例を示す簡略ブロック図である。図2は、一組のドライバ26、モジュール30例えば、ウェブアプリケーションの実行をシミュレートするサーブレット、エンタープライズJavaビーンズEJB及び/又はその他のコンポーネントを含み得る、及び一組のスタブ34例えば、データベース18などのデータベースをモデル化するためのjava.sqlコンポーネント及び/又はその他の好適なコンポーネントを含み得るを含んでいる。モジュール30は、本発明の処理を実行するために必要なアイテムを含み得るデータベースに結合される。環境生成20の構成要素は、例えば図5を参照して更に詳細に後述するコンピュータシステムなどの1つ以上のコンピュータシステム内で実行あるいは動作し得る。典型的にウェブアプリケーションの開発者によって記述されるコードであるアプリケーションコードが、図2のモジュール30内に含められ得る。ドライバ26は、配備時に発生するアイテム例えば、アプリケーションのイベントハンドラを設定すること及びユーザアクションをシミュレートし得る。ドライバ26の生成は、この開示の範囲を超える事項であり、ドライバ26の生成方法は、同時継続中の米国特許出願第11/865435号にて議論されている。図3は、この開示の特定の実施形態に従った、データベーススタブ生成モジュール50を有するデータベーススタブ34の生成システム40を例示する簡略ブロック図である。システム40の構成要素は、例えば図5を参照して更に詳細に後述するコンピュータシステムなどの1つ以上のコンピュータシステム内で実行あるいは動作し得る。図3に示すように、データベーススタブ生成モジュール50は、データベース設定データ42とデータベースAPI44とを分析し、該分析に基づいてスタブ34を生成し得る。データベース設定データ42は、データベース例えば、データベース18の設定パラメータを説明する如何なるファイルであってもよい。設定パラメータは、データベースに関する如何なる情報例えば、そのテーブル、コラム、及び保持するデータエントリの種類を含んでいてもよい。一部の実施形態において、設定パラメータは、例えば図4の設定データ42に示されるような1つ以上の拡張マークアップ言語XMLファイルにて具現化され得る。データベースAPI44は、ウェブアプリケーション例えば、サーバ14上で実行されるように構成されたウェブアプリケーションがデータベース関連機能例えば、データベースからテーブルを取得する機能、データベースからコラム若しくはローを取得する機能、データベースに書き込む機能などを実行することを可能にするソフトウェアによって実装される1つ以上のアプリケーションプログラミングインタフェースとし得る。特定の実施形態において、データベースAPIは、1つ以上のSQLStructuredQueryLanguageデータベースを有し得る。上述のように、データベーススタブ生成モジュール50は、データベース設定データ42とデータベースAPI44とを分析し、該分析に基づいてスタブ34を生成し得る。例えば、図4に示すように、データベース設定データ42は、loginと呼ぶテーブルtableを含むデータベースを記述する。テーブルloginは、loginidと呼ぶフィールドとpasswdと呼ぶフィールドとを有している。データベーススタブ生成モジュール50は、設定データ42を分析し、loginなるタイプのレコードを保持するloginと呼ぶテーブルを投入されたデータベースを有するスタブ34を作成し得る。データベースのデータ値例えば、loginid及びpasswdは、具体値例えば、loginid0及びpasswd0を用いて、あるいは記号値例えば、STRING_SYMBOLICを用いて生成される。記号値は記号的実行技術によって解釈されることができ、次いで記号的実行技術によって興味ある具体値が生成され得る。データベーススタブ生成モジュール50は、例えば、データタイプ当たり作成すべきレコード数や、生成すべきデータ値のタイプ例えば、具体的又は記号的などといったユーザ提供値によってパラメータ化されてもよい。このようなシナリオにて、ウェブアプリケーション用の有利な環境生成技術が提供され得る。分散されたオープンシステム必ずしもJavaで記述される必要はなく、その他の言語も容易に使用され得るは、該データを以下のように変換することができる。すなわち、最終結果が、例えばモデル検査、記号的実行、静的分析及びテスティングなどの既存のJava分析技術によって実行されるように準備された、ホモジニアスで非分散型の純粋なJavaプログラムになるように、該データを変換することができる。図5は、一例に係るコンピュータシステム600を示している。特定の実施形態において、1つ以上のコンピュータシステム600が、ここに記載あるいは図示した1つ以上の方法の1つ以上のステップを実行する。特定の実施形態において、1つ以上のコンピュータシステム600が、ここに記載あるいは図示した機能を提供する。特定の実施形態において、1つ以上のコンピュータシステム600上で実行されるソフトウェアが、ここに記載あるいは図示した1つ以上の方法の1つ以上のステップを実行し、あるいは、ここに記載あるいは図示した機能を提供する。特定の実施形態は、1つ又は複数のコンピュータシステム600の1つ以上の部分を含む。この開示は、如何なる好適な数のコンピュータシステム600をも意図している。この開示は、如何なる物理形態を採るコンピュータシステム600をも意図している。非限定的な一例として、コンピュータシステム600は、組込型コンピュータシステム、システムオンチップSOC、シングルボードコンピュータシステムSBC例えば、コンピュータオンモジュールCOM若しくはシステムオンモジュールSOMなど、デスクトップ型コンピュータシステム、ラップトップ型若しくはノート型のコンピュータシステム、対話式キオスク端末、メインフレーム、メッシュ状コンピュータシステム、携帯電話、携帯情報端末PDA、サーバ、又はこれらの2つ以上の組み合わせとし得る。必要に応じて、コンピュータシステム600は、単一あるいは分散型の;複数の位置にまたがる;複数の機械にまたがる;あるいはクラウド1つ以上のネットワーク内に1つ以上のクラウド要素を含み得る内の;1つ以上のコンピュータシステム600を含んでいてもよい。必要に応じて、1つ以上のコンピュータシステム600は、ここに記載あるいは図示した1つ以上の方法の1つ以上のステップを、空間的あるいは時間的な実質的な制約なく実行し得る。非限定的な一例として、1つ以上のコンピュータシステム600は、ここに記載あるいは図示した1つ以上の方法の1つ以上のステップを、リアルタイムあるいはバッチモードで実行し得る。必要に応じて、1つ以上のコンピュータシステム600は、相異なる時点で、あるいは相異なる位置で、ここに記載あるいは図示した1つ以上の方法の1つ以上のステップを実行してもよい。特定の実施形態において、コンピュータシステム600は、プロセッサ602、メモリ604、ストレージ606、入力/出力I/Oインタフェース608、通信インタフェース610、及びバス612を含んでいる。この開示は、特定の構成にされた特定数の特定の構成要素を有する特定のコンピュータシステムを図示して説明しているが、この開示は、如何なる好適配置にされた如何なる好適数の如何なる好適構成要素を有する如何なる好適なコンピュータシステムをも意図している。特定の実施形態において、プロセッサ602は、例えばコンピュータプログラムを構築する命令などの命令を実行するハードウェアを含む。非限定的な一例として、命令を実行するために、プロセッサ602は、内部レジスタ、内部キャッシュ、メモリ604、又はストレージ606から命令を取り出しすなわち、フェッチし;それを復号化して実行し;その後、1つ以上の結果を内部レジスタ、内部キャッシュ、メモリ604、又はストレージ606に書き込み得る。特定の実施形態において、プロセッサ602は、データ、命令又はアドレス用の1つ以上の内部キャッシュを含み得る。この開示は、プロセッサ602が必要に応じて、如何なる好適数の如何なる好適な内部キャッシュを含むことをも意図している。非限定的な一例として、プロセッサ602は、1つ以上の命令キャッシュと、1つ以上のデータキャッシュと、1つ以上のトランスレーションルックアサイドバッファTLBとを含み得る。命令キャッシュ内の命令は、メモリ604又はストレージ606内の命令の複製としてもよく、命令キャッシュは、プロセッサ602によるこれら命令の取り出しを高速化し得る。データキャッシュ内のデータは、メモリ604又はストレージ606内の、プロセッサ602にて実行されている命令が処理すべきデータの複製;プロセッサ602にて実行される後続の命令によるアクセスのための、あるいはメモリ604又はストレージ606に書き込むための、プロセッサ602にて実行された以前の命令の結果;又はその他の好適データとし得る。データキャッシュは、プロセッサ602による読み出し処理又は書き込み処理を高速化し得る。TLBは、プロセッサ602のために仮想アドレス変換を高速化し得る。特定の実施形態において、プロセッサ602は、データ、命令又はアドレス用の1つ以上の内部レジスタを含み得る。この開示は、プロセッサ602が適宜、如何なる好適数の如何なる好適な内部レジスタを含むことをも意図している。必要に応じて、プロセッサ602は、1つ以上の演算論理ユニットALUを含んでいてもよく;マルチコアプロセッサであってもよく;あるいは1つ以上のプロセッサ602を含んでいてもよい。この開示は特定のプロセッサを図示して説明しているが、この開示は如何なる好適なプロセッサをも意図している。特定の実施形態において、メモリ604は、プロセッサ602が実行する命令、又はプロセッサ602が処理するデータを格納するメインメモリを含む。非限定的な一例として、コンピュータシステム600はストレージ606又は別のソース例えば、別のコンピュータシステム600などからメモリ604に命令をロードし得る。その後、プロセッサ602は、メモリ604から内部レジスタ又は内部キャッシュに命令をロードし得る。命令を実行するため、プロセッサ602は、内部レジスタ又は内部キャッシュから命令を取り出し、取り出した命令を復号化する。命令の実行中又は実行後、プロセッサ602は、1つ以上の結果中間結果又は最終結果とし得るを内部レジスタ又は内部キャッシュに書き込み得る。そして、プロセッサ602は、それらの結果のうちの1つ以上をメモリ604に書き込み得る。特定の実施形態において、プロセッサ602は、1つ以上の内部レジスタ若しくは内部キャッシュ又はメモリ604内の命令のみを実行してもよくストレージ606又はその他の場所の命令を実行するのとは異なる、また、1つ以上の内部レジスタ若しくは内部キャッシュ又はメモリ604内のデータのみを処理してもよいストレージ606又はその他の場所のデータを処理するのとは異なる。1つ以上のメモリバス各々がアドレスバス及びデータバスを含み得るが、プロセッサ602をメモリ604に結合してもよい。バス612は、後述のように、1つ以上のメモリバスを含み得る。特定の実施形態において、1つ以上のメモリ管理装置MMUが、プロセッサ602とメモリ604との間に存在し、プロセッサ602により要求されるメモリ604へのアクセスを容易にし得る。特定の実施形態において、メモリ604は、ランダムアクセスメモリRAMを含む。このRAMは、適当であれば、揮発性メモリであってもよい。必要に応じて、このRAMはダイナミックRAMDRAM又はスタティックRAMSRAMにされ得る。また、必要に応じて、このRAMは、シングルポート又はマルチポートのRAMにされ得る。この開示は、如何なる好適なRAMをも意図している。メモリ604は、必要に応じて、1つ以上のメモリ604を含んでいてもよい。この開示は特定のメモリを図示して説明しているが、この開示は如何なる好適なメモリをも意図している。特定の実施形態において、ストレージ606は、データ又は命令用の大容量記憶装置を含む。非限定的な一例として、ストレージ606は、HDD、フロッピー登録商標ディスクドライブ、フラッシュメモリ、光ディスク、磁気光ディスク、磁気テープ、若しくはユニバーサルシリアルバスUSBドライブ、又はこれらの2つ以上の組み合わせを含み得る。ストレージ606は、必要に応じて、リムーバブル取り外し可能あるいは非リムーバブルすなわち、固定のメディアを含み得る。ストレージ606は、必要に応じて、コンピュータシステム600の内部にあってもよいし、外部にあってもよい。特定の実施形態において、ストレージ606は、不揮発性のソリッドステートメモリである。特定の実施形態において、ストレージ606は、読み出し専用メモリROMを含む。必要に応じて、このROMは、マスクプログラムされたROM、プログラマブルROMPROM、消去可能PROMEPROM、電気的消去可能PROMEEPROM、電気的消去再書込可能ROMEAROM、若しくはフラッシュメモリ、又はこれらの2つ以上の組み合わせとし得る。この開示は、如何なる好適な物理形態を有する大容量記憶装置606をも意図している。ストレージ606は、必要に応じて、プロセッサ602とストレージ606との間での通信を容易にする1つ以上のストレージ制御装置を含み得る。必要に応じて、ストレージ606は1つ以上のストレージ606を含んでいてもよい。この開示は特定のストレージを図示して説明しているが、この開示は如何なる好適なストレージをも意図している。特定の実施形態において、I/Oインタフェース608は、コンピュータシステム600と1つ以上のI/O装置との間での通信のための1つ以上のインタフェースを提供するハードウェア、ソフトウェア、又はこれら双方を含む。コンピュータシステム600は、必要に応じて、これらI/O装置のうちの1つ以上を含んでいてもよい。これらI/O装置のうちの1つ以上は、個人とコンピュータシステム600との間での通信を可能にし得る。非限定的な一例として、I/O装置は、キーボード、キーパッド、マイク、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラスペン、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、その他の好適なI/O装置、又はこれらの2つ以上の組み合わせを含み得る。I/O装置は、1つ以上のセンサを含んでいてもよい。この開示は、如何なる好適なI/O装置、及びそれ用の如何なる好適なI/Oインタフェース608をも意図している。必要に応じて、I/Oインタフェース608は、プロセッサ602がこれらのI/O装置のうちの1つ以上を駆動することを可能にする1つ以上の装置又はソフトウェアドライバを含んでいてもよい。I/Oインタフェース608は、必要に応じて、1つ以上のI/Oインタフェース608を含んでいてもよい。この開示は特定のI/Oインタフェースを図示して説明しているが、この開示は如何なる好適なI/Oインタフェースをも意図している。特定の実施形態において、通信インタフェース610は、コンピュータシステム600と、1つ以上のその他のコンピュータシステム若しくは1つ以上のネットワークとの間での通信例えば、パケットベースの通信などのための1つ以上のインタフェースを提供するハードウェア、ソフトウェア、又はこれら双方を含む。非限定的な一例として、通信インタフェース610は、イーサネット若しくはその他のワイヤベースのネットワークと通信するためのネットワークインタフェースコントローラNIC若しくはネットワークアダプタ、又は例えばWi-Fiネットワークなどの無線ネットワークと通信するための無線NICWNIC若しくは無線アダプタを含み得る。この開示は、如何なる好適なネットワーク及びそれ用の如何なる好適な通信インタフェース610をも意図している。非限定的な一例として、コンピュータシステム600は、アドホックネットワーク、パーソナルエリアネットワークPAN、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、メトロポリタンエリアネットワークMAN、若しくはインターネットの1つ以上の部分、又はこれらの2つ以上の組み合わせと通信し得る。これらのネットワークのうちの1つ以上の、1つ以上の部分は、有線であってもよいし、無線であってもよい。一例として、コンピュータシステム600は、無線PANWPAN例えば、ブルートゥースWPANなど、Wi-Fiネットワーク、Wi-MAXネットワーク、携帯電話ネットワーク例えば、グローバルシステムフォーモバイルコミュニケーションズGSMネットワークなど、若しくはその他の好適な無線ネットワーク、又はこれらの2つ以上の組み合わせと通信し得る。コンピュータシステム600は、必要に応じて、これらのネットワークの何れかのための如何なる好適な通信インタフェース610を含んでいてもよい。通信インタフェース610は、必要に応じて、1つ以上の通信インタフェース610を含んでいてもよい。この開示は特定の通信インタフェースを図示して説明しているが、この開示は如何なる好適な通信インタフェースをも意図している。特定の実施形態において、バス612は、コンピュータシステム600の構成要素を相互に結合するための、ハードウェア、ソフトウェア、又はこれら双方を含む。非限定的な一例として、バス612は、アクセラレーテッドグラフィクスポートAGP若しくはその他のグラフィック専用バス、EISAExtendedIndustryStandardArchitectureバス、フロントサイドバスFSB、ハイパートランスポートHTインターコネクト、業界標準アーキテクチャISAバス、インフィニバンドインターコネクト、LPClowpincountバス、メモリバス、マイクロチャネルアーキテクチャMCAバス、コンピュータ用拡張バスアーキテクチャPCIバス、PCIエクスプレスPCI-Xバス、シリアルATASATAバス、VLBVideoElectronicsStandardsAssociationlocalバス、若しくはその他の好適なバス、又はこれらの2つ以上の組み合わせを含み得る。バス612は、必要に応じて、1つ以上のバス612を含んでいてもよい。この開示は特定のバスを図示して説明しているが、この開示は如何なる好適なバス又はインターコネクトをも意図している。ここで、コンピュータ読み取り可能記憶媒体への言及は、1つ以上の有形のコンピュータ読み取り可能記憶媒体保有構造をも包含するものである。非限定的な一例として、コンピュータ読み取り可能記憶媒体は、必要に応じて、半導体ベースあるいはその他の集積回路IC例えば、フィールドプログラマブルゲートアレイFPGA、又は特定用途向けICASICなど、ハードディスク、HDD、ハイブリッド式ハードドライブHHD、光ディスク、光ディスクドライブODD、磁気光ディスク、磁気光ドライブ、フロッピー登録商標ディスク、フロッピーディスクドライブFDD、磁気テープ、ホログラフィック記憶媒体、ソリッドステートドライブSSD、RAMドライブ、セキュアデジタルSDカード、セキュアデジタルドライブ、若しくはその他の好適なコンピュータ読み取り可能記憶媒体、又はこれらの2つ以上の組み合わせを含み得る。この開示は、何らかの好適なストレージを実現する1つ以上のコンピュータ読み取り可能記憶媒体を意図している。特定の実施形態において、コンピュータ読み取り可能記憶媒体は、必要に応じて、プロセッサ602の1つ以上の部分例えば、1つ以上の内部レジスタ若しくはキャッシュなど、メモリ604の1つ以上の部分、ストレージ606の1つ以上の部分、又はこれらの組み合わせを実現してもよい。特定の実施形態において、コンピュータ読み取り可能記憶媒体はRAM又はROMを実現する。特定の実施形態において、コンピュータ読み取り可能記憶媒体は揮発性あるいは永続的なメモリを実現する。特定の実施形態において、1つ以上のコンピュータ読み取り可能記憶媒体がソフトウェアを具現化する。ここで、ソフトウェアへの言及は適宜、1つ以上のアプリケーション、バイトコード、1つ以上のコンピュータプログラム、1つ以上の実行ファイル、1つ以上の命令、ロジック、機械語、1つ以上のスクリプト、又はソースコードを包含するものであり、この逆もまた然りである。特定の実施形態において、ソフトウェアは、1つ以上のアプリケーションプログラミングインタフェースAPIを含む。この開示は、如何なる好適なプログラミング言語又は複数のプログラミング言語の組み合わせで書き込まれ、あるいはその他の方法で表現された、如何なる好適なソフトウェアをも意図している。特定の実施形態において、ソフトウェアはソースコード又はオブジェクトコードとして表現される。特定の実施形態において、ソフトウェアは、例えばC、Perl又はこれらの好適な拡張版など、より高級高水準なプログラミング言語で表現される。特定の実施形態において、ソフトウェアは、例えばアセンブリ言語又は機械語など、より低水準のプログラミング言語で表現される。特定の実施形態において、ソフトウェアはJAVAで表現される。特定の実施形態において、ソフトウェアはハイパーテキストマークアップ言語HTML、拡張マークアップ言語XML、又はその他の好適なマークアップ言語で表現される。具体的な構成要素を特定して本発明を詳細に説明してきたが、当業者には様々な変形及び変更が示唆され得る。本発明は、添付の請求項の範囲に含まれることが明らかな如何なる変形及び変更をも包含するものである。また、開示した具体的な処理フローについて、フロー内で議論されたステップは本発明の範囲を逸脱することなく変更、増加あるいは省略され得る。さらに、ステップ群は、本発明の範囲を逸脱することなく、如何なる好適な順序で実行されてもよいし、あるいは同時に実行されてもよい。数多くのその他の変更、代用、変形、改変及び改良が当業者に明らかになり得る。本発明は、添付の請求項の範囲に入る全ての変更、代用、変形、改変及び改良を包含するものである。以上の説明に関し、更に以下の付記を開示する。付記1データベースのデータベース設定データを分析するステップと、前記データベースにアクセスするための1つ以上のデータベースアプリケーションプログラミングインタフェースを分析するステップと、前記分析に基づいて1つ以上のスタブを生成するステップであり、該1つ以上のスタブは、実行されたときに、前記データベースにデータが投入されているかのように前記データベースをモデル化するよう構成される、生成するステップと、を有するデータベースモデルを生成する方法。付記2前記設定データは拡張マークアップ言語コードで記述される、付記1に記載の方法。付記3前記1つ以上のデータベースアプリケーションプログラミングインタフェースは、1つ以上のSQLデータベースを有する、付記1に記載の方法。付記4前記1つ以上のスタブはJavaコードで記述される、付記1に記載の方法。付記5前記1つ以上のスタブをテスト対象アプリケーションのコードベースと結合して、該テスト対象アプリケーションを分析するためのホモジニアスな非分散型アプリケーションを生成するステップ、を更に有する付記1に記載の方法。付記6前記テスト対象アプリケーションはウェブアプリケーションである、付記5に記載の方法。付記7前記非分散型アプリケーションはJavaコードで記述される、付記5に記載の方法。付記8コンピュータプログラムを格納したコンピュータ読み取り可能記憶媒体であって、該コンピュータプログラムは、実行されたときに、データベースのデータベース設定データを分析し、前記データベースにアクセスするための1つ以上のデータベースアプリケーションプログラミングインタフェースを分析し、且つ前記分析に基づいて1つ以上のスタブを生成し、該1つ以上のスタブは、実行されたときに、前記データベースにデータが投入されているかのように前記データベースをモデル化するよう構成される、ように構成されている、コンピュータ読み取り可能記憶媒体。付記9前記設定データは拡張マークアップ言語コードで記述される、付記8に記載のコンピュータ読み取り可能記憶媒体。付記10前記1つ以上のデータベースアプリケーションプログラミングインタフェースは、1つ以上のSQLデータベースを有する、付記8に記載のコンピュータ読み取り可能記憶媒体。付記11前記1つ以上のスタブはJavaコードで記述される、付記8に記載のコンピュータ読み取り可能記憶媒体。付記12前記コンピュータプログラムは更に、実行されたときに、前記1つ以上のスタブをテスト対象アプリケーションのコードベースと結合して、該テスト対象アプリケーションを分析するためのホモジニアスな非分散型アプリケーションを生成するように構成されている、付記8に記載のコンピュータ読み取り可能記憶媒体。付記13前記テスト対象アプリケーションはウェブアプリケーションである、付記12に記載のコンピュータ読み取り可能記憶媒体。付記14前記非分散型アプリケーションはJavaコードで記述される、付記12に記載のコンピュータ読み取り可能記憶媒体。付記15データベーススタブ生成モジュールを有するシステムであって、該データベーススタブ生成モジュールは、データベースのデータベース設定データを分析し、前記データベースにアクセスするための1つ以上のデータベースアプリケーションプログラミングインタフェースを分析し、且つ前記分析に基づいて1つ以上のスタブを生成し、該1つ以上のスタブは、実行されたときに、前記データベースにデータが投入されているかのように前記データベースをモデル化するよう構成される、ように構成されている、システム。付記16前記設定データは拡張マークアップ言語コードで記述される、付記15に記載のシステム。付記17前記1つ以上のデータベースアプリケーションプログラミングインタフェースは、1つ以上のSQLデータベースを有する、付記15に記載のシステム。付記18前記1つ以上のスタブはJavaコードで記述される、付記15に記載のシステム。付記19前記データベーススタブ生成モジュールは更に、前記1つ以上のスタブをテスト対象アプリケーションのコードベースと結合して、該テスト対象アプリケーションを分析するためのホモジニアスな非分散型アプリケーションを生成するように構成されている、付記15に記載のシステム。付記20前記テスト対象アプリケーションはウェブアプリケーションである、付記19に記載のシステム。付記21前記非分散型アプリケーションはJavaコードで記述される、付記19に記載のシステム。