"方法であって、第1のフレームワークに対してアプリケーションコードをシンボリック実行する工程と、前記第1のフレームワークの前記シンボリック実行に基づいて第1のモデルを作成する工程と、第2のフレームワークに対して前記アプリケーションコードをシンボリック実行する工程と、前記第1のフレームワークの前記シンボリック実行に基づいて第2のモデルを作成する工程と、前記第1のモデルに基づいて、前記第1のフレームワークに関連付けられた1つ又は複数のパラメータを判定する工程と、前記第2のモデルに基づいて、前記第2のフレームワークに関連付けられた1つ又は複数のパラメータを判定する工程と、前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータの比較に基づいて、前記アプリケーションコードの実行のための所望のフレームワークとして前記第1のフレームワーク及び前記第2のフレームワークのうちの一方を選択する工程とを含む方法。請求項1記載の方法であって、前記アプリケーションコードはジャバスクリプトで記述された方法。請求項1記載の方法であって、前記第1のフレームワーク及び前記第2のフレームワークの少なくとも一方はジャバスクリプトフレームワークである方法。請求項1記載の方法であって、前記第1のモデル及び前記第2のモデルの少なくとも一方は制御フローグラフである方法。請求項1記載の方法であって、前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行時間である方法。請求項1記載の方法であって、前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行に必要な入力の数である方法。請求項1記載の方法であって、前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行において存在している制約の数である方法。実行されると、第1のフレームワークに対してアプリケーションコードをシンボリック実行する機能と、前記第1のフレームワークの前記シンボリック実行に基づいて第1のモデルを作成する機能と、第2のフレームワークに対して前記アプリケーションコードをシンボリック実行する機能と、前記第1のフレームワークの前記シンボリック実行に基づいて第2のモデルを作成する機能と、前記第1のモデルに基づいて、前記第1のフレームワークに関連付けられた1つ又は複数のパラメータを判定する機能と、前記第2のモデルに基づいて、前記第2のフレームワークに関連付けられた1つ又は複数のパラメータを判定する機能と、前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータの比較に基づいて前記アプリケーションコードの実行のための所望のフレームワークとして前記第1のフレームワーク及び前記第2のフレームワークのうちの一方を選択する機能とを行うよう動作可能なソフトウェアをコード化した、1つ又は複数のコンピュータ読み取り可能な有形の記憶媒体。請求項8記載の媒体であって、前記アプリケーションコードはジャバスクリプトで記述された媒体。請求項8記載の媒体であって、前記第1のフレームワーク及び前記第2のフレームワークの少なくとも一方はジャバスクリプトフレームワークである媒体。請求項8記載の媒体であって、前記第1のモデル及び前記第2のモデルの少なくとも一方は制御フローグラフである媒体。請求項8記載の媒体であって、前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行時間である媒体。請求項8記載の媒体であって、前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行に必要な入力の数である媒体。請求項8記載の媒体であって、前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータの少なくとも一方は、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行において存在している制約の数である媒体。システムであって、第1のフレームワークに対してアプリケーションコードをシンボリック実行するロジックと、前記第1のフレームワークの前記シンボリック実行に基づいて第1のモデルを作成するロジックと、第2のフレームワークに対して前記アプリケーションコードをシンボリック実行するロジックと、前記第1のフレームワークの前記シンボリック実行に基づいて第2のモデルを作成するロジックと、前記第1のモデルに基づいて、前記第1のフレームワークに関連付けられた1つ又は複数のパラメータを判定するロジックと、前記第2のモデルに基づいて、前記第2のフレームワークに関連付けられた1つ又は複数のパラメータを判定するロジックと、前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータの比較に基づいて前記アプリケーションコードの実行のための所望のフレームワークとして前記第1のフレームワーク及び前記第2のフレームワークのうちの一方を選択するロジックとを含むシステム。請求項15記載のシステムであって、前記アプリケーションコードはジャバスクリプトで記述されたシステム。請求項15記載のシステムであって、前記第1のフレームワーク及び前記第2のフレームワークの少なくとも一方はジャバスクリプトフレームワークであるシステム。請求項15記載のシステムであって、前記第1のモデル及び前記第2のモデルの少なくとも一方は制御フローグラフであるシステム。請求項15記載のシステムであって、前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータの少なくとも一方は、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行時間であるシステム。請求項15記載のシステムであって、前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行に必要な入力の数であるシステム。本発明は、従来の方法及びシステムに関連した欠点及び課題の少なくとも一部をかなりなくすか、又は軽減する、ソフトウェアフレームワークを比較するための方法及びシステムを提供する。本発明の特定の実施例によれば、方法は、第1のフレームワーク上のアプリケーションコードをシンボリック実行する工程を含み得る。方法は、第1のフレームワークのシンボリック実行に基づいて第1のモデルを作成する工程も含み得る。方法は更に、第2のフレームワーク上のアプリケーションコードをシンボリック実行する工程を含み得る。方法は、第1のフレームワークのシンボリック実行に基づいて第2のモデルを生成する工程を含み得る。方法は、第1のモデルに基づいて第1のフレームワークに関連付けられた1つ又は複数のパラメータを判定する工程も含み得る。方法は更に、第2のモデルに基づいて第2のフレームワークに関連付けられた1つ又は複数のパラメータを判定する工程を含み得る。方法は更に、第2のフレームワークに関連付けられた1つ又は複数のパラメータ、及び第1のフレームワークに関連付けられた1つ又は複数のパラメータの比較に基づいてアプリケーションコードの実行のための所望のフレームワークとして第1のフレームワーク及び第2のフレームワークのうちの一方を選択する工程も含み得る。本発明の特定の実施例の技術上の利点は、ソフトウェアフレームワークを比較することができる方法論を含む。他の技術上の利点は、図面、明細書、及び特許請求の範囲から、当業者に容易に明らかになるであろう。更に、特定の利点は上述しているが、種々の実施例は、上述された利点の全部若しくは一部を含み得るか、又は、上述の利点の何れも含まないことがあり得る。図1は、比較ツールキット22の例示的な環境10を示す。特定の実施例では、比較ツールキット22は、どのフレームワークが開発者による使用のためにより望ましいことがあり得るかに関する情報を含み得るか、又は、どのフレームワークがより望ましいことがあり得るかを判定するために開発者がレビューし得る情報を含み得る比較データ24を生成するよう複数のフレームワークを検査して、アプリケーションコード20に関して使用するためにフレームワークの比較を容易にする。例示的な環境10の構成部分は、図4を参照して以下に更に詳細に説明したものなどの1つ又は複数のコンピュータシステム内で実行若しくは動作し得る。アプリケーション20は、プロセッサによって実行されると、1つ又は複数のタスクを実行する例えば、ウェブアプリケーションの少なくとも一部分をレンダリングするよう動作可能な何れかの命令プログラムを含み得る。一部の実施例では、アプリケーション20は、ジャバスクリプトコードで記述し得る。上述の通り、比較ツールキット22は、少なくとも2つ以上のフレームワークに対するアプリケーションコード20の実行を比較し得る。特定の実施例では、フレームワークはジャバスクリプトフレームワーク例えば、ドジョ、YUI等を含み得る。前述及び他の実施例では、比較ツールキット22は、シンボリック実行を使用して各フレームワークにアプリケーションコード20を適用することにより、フレームワークを比較し得る。図2は、例示的なシンボリック実行を示す。図2に示すように、ツリー内の各経路は、実行経路の場合によっては無限の集合を表す。図2に示すようにシンボリック実行を使用して特性ifa>1b>0→c>2を検査するために、特性は、否定することができ否定は、ifa>1b>0→c≦2であり、否定は、シンボリック実行の各経路の終了時に検査し得る。φ={z=xyz≦0}で終了する実行経路の場合、整数線形プログラミングILPソルバ、又は適切な別の決定手続きを使用したソルバは、第1の式の組:x>1、y>0、z=xy、z≦0、及びz≦2に対する解を求めることを試行し得る。φ={z=xy1z≦0}で終了する実行経路の場合、ILPソルバ、又は適切な別の決定手続きを使用したソルバは、第2の式の組:x>1、y>0、z=xy1、z≦0、及びz≦2に対する解を求めることを試行し得る。何れの式の組においても、最初の2つの式x>1及びy>0は前提条件であり得、最後の式z≦2は後置条件であり得る。第1の式の組又は第2の式の組に対して解が求められなかった場合、特性ifa>1b>0→c>2は真である。第1の式の組又は第2の式の組に対して解が求められた場合、特性は偽であり、解は特性に違反する反例である。複数のフレームワークに対するアプリケーションコード20のシンボリック実行に基づいて、比較ツールキット22は、フレームワーク実行毎のモデル例えば、制御フローグラフ、ツリー、又は別の表現を作成し得る。比較ツールキット22は、各モデルに基づいて、フレームワーク実行毎の1つ又は複数のパラメータを判定し得る。一部の実施例では、前述のパラメータは、比較データ24として比較ツールキット22によって出力し得る。1つ又は複数のパラメータは、フレームワークを使用したアプリケーションコード20の推定実行時間、フレームワークを使用したアプリケーションコード20の実行に必要な入力の数、フレームワークを使用したアプリケーションコード20の実行の制約の数、又は何れかの他の適切なパラメータを含み得る。一部の実施例では、比較ツールキット22は、1つ又は複数のパラメータに基づいて、アプリケーションコード20に使用される対象の所望のフレームワークを判定し得る。前述の実施例のうちの特定の実施例では、所望のフレームワークの判定は、比較デ―タ24の一部分として比較ツールキット22によって出力し得る。他の実施例では、アプリケーションコード20の開発者、又は別の個人は、1つ又は複数のパラメータの解析に基づいて所望のフレームワークを判定し得る。図3は、本開示の特定の実施例による、ソフトウェアフレームワークを比較する例示的な方法300のフローチャートを示す。一実施例によれば、方法300は工程302で始まり得る。上述の通り、本開示の教示は、環境10の各種構成において実現し得る。そういうものとして、工程302乃至308を含む方法300の順序、方法300の好ましい初期化点は、選ばれた実現形態に応じ得る。工程302では、比較ツールキット22は、複数のフレームワークそれぞれに対してアプリケーションコード20をシンボリック実行し得る。工程304では、複数のフレームワークに対するアプリケーションコード20のシンボリック実行に基づいて、比較ツールキット22は、フレームワーク実行毎のモデル例えば、制御フローグラフ、ツリー、又は別の表現を作成し得る。工程306では、比較ツールキット22は、各モデルに基づいて、フレームワーク実行毎の1つ又は複数のパラメータを判定し得る。工程308では、比較ツールキット22、及び/又は、アプリケーションコード20の開発者は、1つ又は複数のパラメータに基づいて、アプリケーションコード20に使用される対象の所望のフレームワークを判定し得る例えば、比較ツールキット22は、アプリケーションコード20の最も速い実行をもたらすフレームワークを選択し得る。図3は方法300に関して行う対象の特定数の工程を開示しているが、方法300は、図3に表すよりも多い数又は少ない数の工程で実行し得る。更に、図3は、方法300に関して行う対象の特定の順序の工程を開示しているが、上記工程を含む方法300は何れの適切な順序でも完了し得る。方法300は、方法300を実現するよう動作可能な環境10又は何れかの他のシステムを使用して実現し得る。特定の実施例では、方法300は、コンピュータ読み出し可能な媒体に実施されたソフトウェアで部分的に、又は全部を実現し得る。図4は、例示的なコンピュータシステム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つ又は複数のコンピュータシステム600を含み、ユニタリー型であっても分散型であってもよく、複数の場所にまたがってもよく、複数のマシンにまたがってもよく、クラウド1つ又は複数のネットワーク内の1つ又は複数のクラウド構成部分を含み得るに常駐していてもよい。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による前述の命令の取り出しを高速化し得る。データキャッシュ内のデータは、プロセッサ602で命令が処理する対象の、メモリ604内又は記憶装置606内のデータの複製、プロセッサ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であり得る。本明細書及び特許請求の範囲は、何れかの適切な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装置との何れかの適切な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つ若しくは複数の他のコンピュータシステム600、又は1つ若しくは複数のネットワークとの間の例えば、パケットベースの通信などの通信のための1つ又は複数のインタフェースを提供するハードウェア、ソフトウェア、又は両方を含む。限定でなく例として、通信インタフェース610は、イーサネット登録商標若しくは他の有線ベースのネットワークと通信するためのネットワークインタフェースコントローラNIC若しくはネットワークアダプタ、又は、ワイファイネットワークなどの無線ネットワークと通信するための無線アダプタ若しくは無線NICWNICを含み得る。この開示は、何れかの適切なネットワーク、及び上記何れかの適切なネットワークとの何れかの適切な通信インタフェース610を想定している。限定でなく例として、コンピュータシステム600は、アドホックネットワーク、パーソナルエリアネットワークPAN、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、メトロポリタンエリアネットワークMAN、若しくは、インターネットの1つ若しくは複数の部分、又は、前述の2つ以上の組合せと通信し得る。前述の1つ又は複数のネットワークの1つ又は複数の部分は有線であっても無線であってもよい。例として、コンピュータシステム600は、例えば、ブルートゥースWPANなどの無線PANWPAN、ワイファイネットワーク、ワイマックスネットワーク、例えば、ジーエスエムGSMネットワークなどの携帯電話ネットワーク、若しくは他の適切な無線ネットワーク、又は前述のうちの2つ以上の組合せと通信し得る。コンピュータシステム600は、適宜、前述のネットワークの何れかのための、何れかの適切な通信インタフェース610を含み得る。通信インタフェース610は、適宜、1つ又は複数の通信インタフェース610を含み得る。本開示は特定の通信インタフェースを記載し、例証しているが、本開示は何れかの適切な通信インタフェースを想定している。特定の実施例では、バス612は、コンピュータシステム600の構成部分を互いに結合するハードウェア、ソフトウェア、又は両方を含む。限定でなく、例として、バス612は、アクセラレーテッドグラフィクスポートAGP若しくは他のグラフィクスバス、拡張業界標準アーキテクチャEISAバス、フロントサイドバスFSB、ハイパートランスポートHT相互接続、業界標準アーキテクチャISAバス、インフィニバンド相互接続、低ピンカウントLPCバス、メモリバス、マイクロチャネルアーキテクチャMCAバス、周辺装置相互接続PCIバス、PCIエクスプレスPCI-Xバス、シリアル高度技術アタッチメントSATAバス、ビデオ電子標準協会局所VLBバス、若しくは、別の適切なバス、又は、前述の2つ以上の組合せを含み得る。バス612は、適宜、1つ又は複数のメモリ612を含み得る。本開示は特定のバスを記載し、例証しているが、本開示は何れかの適切なバス又は相互接続を想定している。本明細書及び特許請求の範囲では、コンピュータ読み取り可能な記憶媒体への参照は、1つ又は複数の有形のコンピュータ読み取り可能な記憶媒体を有する構造を含む。限定でなく、例として、コンピュータ読み取り可能な記憶媒体は、適宜、例えば、フィールドプログラマブルゲートアレイFPGA又は特定用途向ICASICなどの半導体ベース又は他の集積回路IC、ハードディスク、HDD、ハイブリッドハードドライブHHD、光ディスク、光ディスクドライブODD、光磁気ディスク、光磁気ドライブ、フロッピー登録商標ディスク、フロッピー登録商標ディスクドライブFDD、磁気テープ、ホログラフィック記憶媒体、ソリッドステートドライブSSD、RAMドライブ、セキュアなディジタルカード、セキュアなディジタルドライブ、若しくは、別の適切なコンピュータ読み取り可能な媒体、又は、前述のうちの2つ以上の組合せを含み得る。本明細書及び特許請求の範囲では、コンピュータ読み取り可能な記憶媒体への言及は、米国特許法第101条の特許の保護の対象でない何れかの媒体である。本明細書及び特許請求の範囲では、コンピュータ読み取り可能な記憶媒体への言及は、米国特許法第101条の下で特許の保護の対象でない範囲で本来的には、伝搬する電気信号又は電磁気信号などの信号伝送の一時的な形態を除く。本開示は、何れかの適切な記憶装置を実現する1つ又は複数のコンピュータ読み取り可能な記憶媒体を想定している。特定の実施例では、コンピュータ読み取り可能な記憶媒体は、適宜、例えば、1つ若しくは複数の内部レジスタ又はキャッシュなどの、プロセッサ602の1つ若しくは複数の部分、メモリ604の1つ若しくは複数の部分、記憶装置606の1つ若しくは複数の部分、又は、前述の組合せを実現する。特定の実施例では、コンピュータ読み取り可能な記憶媒体はRAM又はROMを実現する。特定の実施例では、コンピュータ読み取り可能な記憶媒体は揮発性メモリ又はパーシスタントメモリを実現する。特定の実施例では、1つ又は複数のコンピュータ読み取り可能な記憶媒体はソフトウェアを実施する。本明細書及び特許請求の範囲では、ソフトウェアへの言及は、適宜、1つ若しくは複数のアプリケーション、バイトコード、1つ若しくは複数のコンピュータプログラム、1つ若しくは複数の実行可能形式、1つ若しくは複数の命令、ロジック、マシンコード、1つ若しくは複数のスクリプト、又はソースコード等を包含し得る。特定の実施例では、ソフトウェアは、1つ又は複数のアプリケーションプログラミングインタフェースAPIを含む。本明細書及び特許請求の範囲は、何れかの適切なプログラミング言語、又はプログラミング言語の組合せで記述されたか、又はその他のやり方で表現された何れかの適切なソフトウェアを想定している。特定の実施例では、ソフトウェアは、ソースコード又はオブジェクトコードとして表現される。特定の実施例では、ソフトウェアは、例えば、C、パール、又はその適切な拡張などの高水準プログラミング言語で表現される。特定の実施例では、ソフトウェアは、アセンブラ言語又はマシンコードなどの低水準プログラミング言語で表現される。特定の実施例では、ソフトウェアはJAVAで表現される。特定の実施例では、ソフトウェアは、ハイパテキストマークアップ言語HTML、拡張マークアップ言語XML、又は他の適切なマークアップ言語で表現される。例示的な環境10の構成部分はロジック及び/又はその他の適切な構成要素を含み得る。ロジックは、構成部分の動作を行い、例えば、入力から出力を生成する旨の命令を実行する。ロジックは、ハードウェア、ソフトウェア、及び/又は他のロジックを含み得る。ロジックは、1つ又は複数の有形なコンピュータ読み取り可能な記憶媒体にコード化され得、コンピュータによって実行されると動作を行い得る。プロセッサなどの特定のロジックは構成部分の動作を管理し得る。プロセッサの例には、1つ若しくは複数のコンピュータ、1つ若しくは複数のマイクロプロセッサ、1つ若しくは複数のアプリケーション、及び/又は他のロジックが含まれる。本発明は、特定の構成部分を識別して、詳細に説明してきたが、種々の変更及び修正を当業者に連想させ得、更に、本発明が、特許請求の範囲記載の範囲内に明らかに収まる前述の何れの変更及び修正も包含することが意図されている。更に、開示された特定の処理フローに関し、フロー内に記載された工程は何れも、本発明の範囲から逸脱しない限り、修正し、強化し、又は割愛し得る。更に、工程は、本発明の範囲から逸脱しない限り、何れかの適切な順序で、又は同時に行い得る。他の数多くの変更、置換、変形、改変、及び修正は当業者に確かめられ得、本発明が、特許請求の範囲に記載の範囲内に収まる前述の変更、置換、変形、改変、及び修正全てを包含することが意図されている。付記1第1のフレームワークに対してアプリケーションコードをシンボリック実行する工程と、前記第1のフレームワークの前記シンボリック実行に基づいて第1のモデルを作成する工程と、第2のフレームワークに対して前記アプリケーションコードをシンボリック実行する工程と、前記第1のフレームワークの前記シンボリック実行に基づいて第2のモデルを作成する工程と、前記第1のモデルに基づいて、前記第1のフレームワークに関連付けられた1つ又は複数のパラメータを判定する工程と、前記第2のモデルに基づいて、前記第2のフレームワークに関連付けられた1つ又は複数のパラメータを判定する工程と、前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータの比較に基づいて、前記アプリケーションコードの実行のための所望のフレームワークとして前記第1のフレームワーク及び前記第2のフレームワークのうちの一方を選択する工程とを含むことを特徴とする方法。付記2前記アプリケーションコードはジャバスクリプトで記述されたことを特徴とする付記1記載の方法。付記3前記第1のフレームワーク及び前記第2のフレームワークの少なくとも一方はジャバスクリプトフレームワークであることを特徴とする付記1記載の方法。付記4前記第1のモデル及び前記第2のモデルの少なくとも一方は制御フローグラフであることを特徴とする付記1記載の方法。付記5前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行時間であることを特徴とする付記1記載の方法。付記6前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行に必要な入力の数であることを特徴とする付記1記載の方法。付記7前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行において存在している制約の数であることを特徴とする付記1記載の方法。付記8実行されると、第1のフレームワークに対してアプリケーションコードをシンボリック実行する機能と、前記第1のフレームワークの前記シンボリック実行に基づいて第1のモデルを作成する機能と、第2のフレームワークに対して前記アプリケーションコードをシンボリック実行する機能と、前記第1のフレームワークの前記シンボリック実行に基づいて第2のモデルを作成する機能と、前記第1のモデルに基づいて、前記第1のフレームワークに関連付けられた1つ又は複数のパラメータを判定する機能と、前記第2のモデルに基づいて、前記第2のフレームワークに関連付けられた1つ又は複数のパラメータを判定する機能と、前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータの比較に基づいて前記アプリケーションコードの実行のための所望のフレームワークとして前記第1のフレームワーク及び前記第2のフレームワークのうちの一方を選択する機能とを行うよう動作可能なソフトウェアをコード化したことを特徴とする、1つ又は複数のコンピュータ読み取り可能な有形の記憶媒体。付記9前記アプリケーションコードはジャバスクリプトで記述されたことを特徴とする付記8記載の媒体。付記10前記第1のフレームワーク及び前記第2のフレームワークの少なくとも一方はジャバスクリプトフレームワークであることを特徴とする付記8記載の媒体。付記11前記第1のモデル及び前記第2のモデルの少なくとも一方は制御フローグラフであることを特徴とする付記8記載の媒体。付記12前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行時間であることを特徴とする付記8記載の媒体。付記13前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行に必要な入力の数であることを特徴とする付記8記載の媒体。付記14前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータの少なくとも一方は、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行において存在している制約の数であることを特徴とする付記8記載の媒体。付記15第1のフレームワークに対してアプリケーションコードをシンボリック実行するロジックと、前記第1のフレームワークの前記シンボリック実行に基づいて第1のモデルを作成するロジックと、第2のフレームワークに対して前記アプリケーションコードをシンボリック実行するロジックと、前記第1のフレームワークの前記シンボリック実行に基づいて第2のモデルを作成するロジックと、前記第1のモデルに基づいて、前記第1のフレームワークに関連付けられた1つ又は複数のパラメータを判定するロジックと、前記第2のモデルに基づいて、前記第2のフレームワークに関連付けられた1つ又は複数のパラメータを判定するロジックと、前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータの比較に基づいて前記アプリケーションコードの実行のための所望のフレームワークとして前記第1のフレームワーク及び前記第2のフレームワークのうちの一方を選択するロジックとを含むことを特徴とするシステム。付記16前記アプリケーションコードはジャバスクリプトで記述されたことを特徴とする付記15記載のシステム。付記17前記第1のフレームワーク及び前記第2のフレームワークの少なくとも一方はジャバスクリプトフレームワークであることを特徴とする付記15記載のシステム。付記18前記第1のモデル及び前記第2のモデルの少なくとも一方は制御フローグラフであることを特徴とする付記15記載のシステム。付記19前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータの少なくとも一方は、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行時間であることを特徴とする付記15記載のシステム。付記20前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行に必要な入力の数であることを特徴とする付記15記載のシステム。付記21前記第1のフレームワークに関連付けられた前記1つ又は複数のパラメータ、及び前記第2のフレームワークに関連付けられた前記1つ又は複数のパラメータは、前記アプリケーションコードが個別のフレームワークに適用される場合の前記アプリケーションコードの実行において存在している制約の数であることを特徴とする付記15記載のシステム。"