"1つ以上のコンピュータ装置により使用される方法であって、ソフトウェアアプリケーションの一群のユースケースにアクセスするステップと、前記一群のユースケースから、良好度対コストの比率が所定の条件を満たすユースケースの一部分を選択するステップとを有し、前記ソフトウェアアプリケーションは、該ソフトウェアアプリケーションのユーザが該ソフトウェアアプリケーションとやり取りできるようにする1つ以上のユーザインタフェース要素を有し、前記一群のユースケースに属するユースケースの各々は、前記ユーザインタフェース要素のうちの特定のものについて行われる1つ以上のユーザアクションを含み、前記ユーザアクションの各々は該ユーザアクションを実行することに関する第1のコストに関連付けられ、ユースケースの前記一部分に対する前記良好度対コストの比率を算出する際、ユースケースの前記一部分に属するユースケース各々について、ユースケースのユーザアクションに関する前記第1のコストの総和である第2のコストを算出し、前記第2のコストの総和である第3のコストを算出し、ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出し、前記第1の良好度の総和である第2の良好度を算出し、前記第2の良好度と前記第3のコストとの比率である前記良好度対コストの比率を算出する、方法。ユースケースの前記一部分は、前記一群のユースケースから選択される全ての可能なユースケースの一部分の中で、最良の良好度対コストの比率を有する、請求項1記載の方法。ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出する際に、ユースケースの前記一部分に属するユースケースの固有のペアについて、ユーザインタフェース要素に関するユースケースのペアの間の第1の距離を算出し、該第1の距離は、前記ユーザインタフェース要素について行うユーザアクションに関し、ユースケースの該ペアにおけるユーザアクション同士の間の相違を示し、前記第1の距離の総和である第2の距離を算出し、前記第2の距離に基づいて前記第1の良好度を算出する、請求項1記載の方法。ユースケースの前記一部分を選択する前記ステップが、前記一群のユースケースの中で、少なくとも1つの前記ユーザインタフェース要素を固有に使用するユーザアクションを有するユースケースのみ、又はユーザアクション及びユーザインタフェース要素の少なくとも1つの固有の組み合わせをなすユースケースのみに該当する全てのユースケースを、前記一群のユースケースの中から選択し、選択したユースケースをユースケースの前記一部分に含め、ユースケースの前記一部分に含めたユースケースに基づいて、ユースケースの前記一部分に対する前記良好度対コストの比率を算出し、前記一群のユースケース内に残っている1つ以上のユースケースの名から、ユースケースの一部分に対する良好度対コストの比率を最大限増やすユースケースを選択し、選択したユースケースをユースケースの一部分に含めることを、ユースケースの一部分に追加的なユースケースを含めてもユースケースの一部分に対する良好度対コストの比率がもはや増加しなくなるまで反復的に実行するステップを有する請求項1記載の方法。ユースケースの前記一部分を選択する前記ステップにおいて、ブランチアンドバウンドアルゴリズムを利用して、前記一群のユースケースのうちの全ての可能な一部分の中で、最良の良好度対コストの比率をもたらすユースケースの一部分を特定することを反復的に行う、請求項1記載の方法。ユースケースの前記一部分を用いて、ユーザインタフェース要素のマッピングツールをトレーニングするステップをさらに有し、前記ユーザインタフェース要素のマッピングツールは、第2のユーザインタラクティブソフトウェアアプリケーションの第2のユーザインタフェース要素と、第2のソフトウェアアプリケーションのソースコードの部分とを対応付ける、請求項1記載の方法。ソフトウェアアプリケーションの一群のテストケースの中から、前記一群のユースケースを抽出するステップをさらに有する、請求項1記載の方法。1つ以上のプロセッサにより実行可能な命令を有するメモリと、前記メモリに結合され、前記命令を実行する1つ以上のプロセッサとを有するシステムであって、前記命令は前記1つ以上のプロセッサに方法を実行させ、該方法は、ソフトウェアアプリケーションの一群のユースケースにアクセスするステップと、前記一群のユースケースから、良好度対コストの比率が所定の条件を満たすユースケースの一部分を選択するステップとを有し、前記ソフトウェアアプリケーションは、該ソフトウェアアプリケーションのユーザが該ソフトウェアアプリケーションとやり取りできるようにする1つ以上のユーザインタフェース要素を有し、前記一群のユースケースに属するユースケースの各々は、前記ユーザインタフェース要素のうちの特定のものについて行われる1つ以上のユーザアクションを含み、前記ユーザアクションの各々は該ユーザアクションを実行することに関する第1のコストに関連付けられ、ユースケースの前記一部分に対する前記良好度対コストの比率を算出する際、ユースケースの前記一部分に属するユースケース各々について、ユースケースのユーザアクションに関する前記第1のコストの総和である第2のコストを算出し、前記第2のコストの総和である第3のコストを算出し、ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出し、前記第1の良好度の総和である第2の良好度を算出し、前記第2の良好度と前記第3のコストとの比率である前記良好度対コストの比率を算出する、システム。ユースケースの前記一部分は、前記一群のユースケースから選択される全ての可能なユースケースの一部分の中で、最良の良好度対コストの比率を有する、請求項8記載のシステム。ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出する際に、ユースケースの前記一部分に属するユースケースの固有のペアについて、ユーザインタフェース要素に関するユースケースのペアの間の第1の距離を算出し、該第1の距離は、前記ユーザインタフェース要素について行うユーザアクションに関し、ユースケースの該ペアにおけるユーザアクション同士の間の相違を示し、前記第1の距離の総和である第2の距離を算出し、前記第2の距離に基づいて前記第1の良好度を算出する、請求項8記載のシステム。ユースケースの前記一部分を選択する前記ステップが、前記一群のユースケースの中で、少なくとも1つの前記ユーザインタフェース要素を固有に使用するユーザアクションを有するユースケースのみ、又はユーザアクション及びユーザインタフェース要素の少なくとも1つの固有の組み合わせをなすユースケースのみに該当する全てのユースケースを、前記一群のユースケースの中から選択し、選択したユースケースをユースケースの前記一部分に含め、ユースケースの前記一部分に含めたユースケースに基づいて、ユースケースの前記一部分に対する前記良好度対コストの比率を算出し、前記一群のユースケース内に残っている1つ以上のユースケースの名から、ユースケースの一部分に対する良好度対コストの比率を最大限増やすユースケースを選択し、選択したユースケースをユースケースの一部分に含めることを、ユースケースの一部分に追加的なユースケースを含めてもユースケースの一部分に対する良好度対コストの比率がもはや増加しなくなるまで反復的に実行するステップを有する請求項8記載のシステム。ユースケースの前記一部分を選択する前記ステップにおいて、ブランチアンドバウンドアルゴリズムを利用して、前記一群のユースケースのうちの全ての可能な一部分の中で、最良の良好度対コストの比率をもたらすユースケースの一部分を特定することを反復的に行う、請求項8記載のシステム。ユースケースの前記一部分を用いて、ユーザインタフェース要素のマッピングツールをトレーニングするステップをさらに有し、前記ユーザインタフェース要素のマッピングツールは、第2のユーザインタラクティブソフトウェアアプリケーションの第2のユーザインタフェース要素と、第2のソフトウェアアプリケーションのソースコードの部分とを対応付ける、請求項8記載のシステム。ソフトウェアアプリケーションの一群のテストケースの中から、前記一群のユースケースを抽出するステップをさらに有する、請求項8記載のシステム。1つ以上のコンピュータ装置に方法を実行させるソフトウェアを有する1つ以上のコンピュータ読取可能な一時的なものではない記憶媒体であって、ソフトウェアアプリケーションの一群のユースケースにアクセスするステップと、前記一群のユースケースから、良好度対コストの比率が所定の条件を満たすユースケースの一部分を選択するステップとを有し、前記ソフトウェアアプリケーションは、該ソフトウェアアプリケーションのユーザが該ソフトウェアアプリケーションとやり取りできるようにする1つ以上のユーザインタフェース要素を有し、前記一群のユースケースに属するユースケースの各々は、前記ユーザインタフェース要素のうちの特定のものについて行われる1つ以上のユーザアクションを含み、前記ユーザアクションの各々は該ユーザアクションを実行することに関する第1のコストに関連付けられ、ユースケースの前記一部分に対する前記良好度対コストの比率を算出する際、ユースケースの前記一部分に属するユースケース各々について、ユースケースのユーザアクションに関する前記第1のコストの総和である第2のコストを算出し、前記第2のコストの総和である第3のコストを算出し、ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出し、前記第1の良好度の総和である第2の良好度を算出し、前記第2の良好度と前記第3のコストとの比率である前記良好度対コストの比率を算出する、記憶媒体。ユースケースの前記一部分は、前記一群のユースケースから選択される全ての可能なユースケースの一部分の中で、最良の良好度対コストの比率を有する、付記15記載の記憶媒体。ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出する際に、ユースケースの前記一部分に属するユースケースの固有のペアについて、ユーザインタフェース要素に関するユースケースのペアの間の第1の距離を算出し、該第1の距離は、前記ユーザインタフェース要素について行うユーザアクションに関し、ユースケースの該ペアにおけるユーザアクション同士の間の相違を示し、前記第1の距離の総和である第2の距離を算出し、前記第2の距離に基づいて前記第1の良好度を算出する、付記15記載の記憶媒体。ユースケースの前記一部分を選択する前記ステップが、前記一群のユースケースの中で、少なくとも1つの前記ユーザインタフェース要素を固有に使用するユーザアクションを有するユースケースのみ、又はユーザアクション及びユーザインタフェース要素の少なくとも1つの固有の組み合わせをなすユースケースのみに該当する全てのユースケースを、前記一群のユースケースの中から選択し、選択したユースケースをユースケースの前記一部分に含め、ユースケースの前記一部分に含めたユースケースに基づいて、ユースケースの前記一部分に対する前記良好度対コストの比率を算出し、前記一群のユースケース内に残っている1つ以上のユースケースの名から、ユースケースの一部分に対する良好度対コストの比率を最大限増やすユースケースを選択し、選択したユースケースをユースケースの一部分に含めることを、ユースケースの一部分に追加的なユースケースを含めてもユースケースの一部分に対する良好度対コストの比率がもはや増加しなくなるまで反復的に実行するステップを有する付記15記載の記憶媒体。ユースケースの前記一部分を選択する前記ステップにおいて、ブランチアンドバウンドアルゴリズムを利用して、前記一群のユースケースのうちの全ての可能な一部分の中で、最良の良好度対コストの比率をもたらすユースケースの一部分を特定することを反復的に行う、付記15記載の記憶媒体。ソフトウェアアプリケーションの一群のユースケースにアクセスする手段と、前記一群のユースケースから、良好度対コストの比率が所定の条件を満たすユースケースの一部分を選択する手段とを有し、前記ソフトウェアアプリケーションは、該ソフトウェアアプリケーションのユーザが該ソフトウェアアプリケーションとやり取りできるようにする1つ以上のユーザインタフェース要素を有し、前記一群のユースケースに属するユースケースの各々は、前記ユーザインタフェース要素のうちの特定のものについて行われる1つ以上のユーザアクションを含み、前記ユーザアクションの各々は該ユーザアクションを実行することに関する第1のコストに関連付けられ、ユースケースの前記一部分に対する前記良好度対コストの比率を算出する際、ユースケースの前記一部分に属するユースケース各々について、ユースケースのユーザアクションに関する前記第1のコストの総和である第2のコストを算出し、前記第2のコストの総和である第3のコストを算出し、ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出し、前記第1の良好度の総和である第2の良好度を算出し、前記第2の良好度と前記第3のコストとの比率である前記良好度対コストの比率を算出する、システム。本発明の課題は、ソフトウェアアプリケーションのユーザインタフェース要素を各自のコードに対応付けるコンポーネントコードマッピングツールを効率的にトレーニングできるようにすることである。開示される発明による方法は、1つ以上のコンピュータ装置により使用される方法であって、ソフトウェアアプリケーションの一群のユースケースにアクセスするステップと、前記一群のユースケースから、良好度対コストの比率が所定の条件を満たすユースケースの一部分を選択するステップとを有し、前記ソフトウェアアプリケーションは、該ソフトウェアアプリケーションのユーザが該ソフトウェアアプリケーションとやり取りできるようにする1つ以上のユーザインタフェース要素を有し、前記一群のユースケースに属するユースケースの各々は、前記ユーザインタフェース要素のうちの特定のものについて行われる1つ以上のユーザアクションを含み、前記ユーザアクションの各々は該ユーザアクションを実行することに関する第1のコストに関連付けられ、ユースケースの前記一部分に対する前記良好度対コストの比率を算出する際、ユースケースの前記一部分に属するユースケース各々について、ユースケースのユーザアクションに関する前記第1のコストの総和である第2のコストを算出し、前記第2のコストの総和である第3のコストを算出し、ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出し、前記第1の良好度の総和である第2の良好度を算出し、前記第2の良好度と前記第3のコストとの比率である前記良好度対コストの比率を算出する、方法である。以下、添付図面に示されているようないくつかの実施例とともに開示される発明を説明する。以下の説明において、開示内容の理解を促すために多くの具体的な詳細が説明される。しかしながら、開示される発明はそのような具体的な詳細の全部又は一部によらずに実現されてもよい。また、開示される発明を曖昧にしてしまう避けるため、周知の処理ステップ及び/又は構造は詳細には説明されない。さらに、開示される発明は特定の実施例に関連して説明されるが、本説明は開示される発明を説明した実施例に限定することを意図するものではないことが、理解されるべきである。むしろ本願の説明は、代替例、変形例及び均等物が、添付の特許請求の範囲により規定されている発明の範囲及び精神の中に包含されるように意図されている。ユーザインタラクティブソフトウェアアプリケーションはユーザインタフェースを含み、そのユーザインタフェースを通じて、アプリケーションのユーザはアプリケーションとやり取りすることができる。特定の実施例において、アプリケーションのユーザインタフェースは、任意の数の例えば、1つ以上の提示可能な表示を含んでいてもよい。特定の実施例において、特定の表示は、アプリケーションのユーザがアプリケーションに入力を与えることを可能にし、あるいはアプリケーションの出力をユーザに表示するために使用される。特定の実施例において、表示は1つ以上のユーザインタフェース要素又はコンポーネントを含み、ユーザインタフェース要素は、例えば、ウィンドウ、パネル、フレーム、プルダウンメニュー、プルアップメニュー、クリック可能なリンク、ボタン、チェックボックス、選択用のリスト又はテキストフィールド等であるがこれらに限定されない。ユーザは、特定の表示に含まれている特定のユーザインタフェース要素を介して、アプリケーションに入力を与える。同様に、アプリケーションは、特定の表示に含まれている特定のユーザインタフェース要素を用いて、アプリケーションの出力をユーザに表示する。ユーザインタフェース要素は、ユーザインタフェースアーチファクト又はウィジェットとして言及されてもよい。ウェブアプリケーションは、ユーザインタラクティブソフトウェアアプリケーションの一般的な具体例である。概して、ウェブアプリケーションは1つ以上のウェブページを含み、ウェブページの各々が、ウェブアプリケーションの提示可能な表示と考えることができる。ウェブページの各々は任意の数のユーザインタフェース要素又はウィジェットを含んでもよく、ユーザインタフェース要素は、例えば、フレーム、クリック可能なリンク、テキストフィールド、ボタン、チェックボックス又は選択用のリスト等であるがこれらに限定されない。ウェブアプリケーションのユーザは、特定のウェブページに含まれている特定のユーザインタフェース要素又はウィジェットを通じてウェブアプリケーションとやり取り相互作用を行う。特定の実施例において、ソフトウェアアプリケーションのユーザインタフェースの特定の表示に含まれているユーザインタフェース要素は、階層的に組織されていてもよい。図1はソフトウェアアプリケーションのユーザインタフェースの具体的な表示100を示す。表示100は階層的に構成された様々なタイプのユーザインタフェース要素を含んでもよい。例えば、階層の最上位レベルにウィンドウ116がある。ウィンドウ116は、パネル102、フレーム104及び2つのボタン112、114を含み、これらは階層構造における第2のレベルを構成する。フレーム104は3つのテキストフィールド106、108及び110をさらに有し、これらは階層構造における第3のレベルを構成する。特定の実施例において、ソフトウェアアプリケーションを実行するプログラムコードは、アプリケーションのユーザインタフェースを実現する特定の部分を含む。特定の実施例において、ユーザインタフェース要素の各々は、そのユーザインタフェース要素の機能を実現するコードの各自が関連する部分を有する。特定の実施例において、コンピュータソフトウェア、ハードウェア又はそれらの組み合わせとして実現されるツールは、ユーザインタフェース要素をそれが関連するコードすなわち、ユーザインタフェース要素の機能を実現する特定のコードに自動的に対応付けるようにトレーニングtrained又は構築される。より具体的には、特定の実施例において、ソフトウェアアプリケーションのユーザインタフェースの提示可能な表示様々なタイプのユーザインタフェース要素を幾つ含んでいてもよいに関し、コンポーネント及びコードのマッピングツールが、その表示を分析し、その表示に含まれる個々のユーザインタフェース要素を特定し、そのユーザインタフェース要素の機能を実現するソフトウェアアプリケーションのコードの特定の部分に、特定のユーザインタフェース要素を自動的に対応付ける。特定の実施例において、コンポーネント及びコードのマッピングツールは、ソフトウェアアプリケーションのユーザインタフェース要素を正しく特定し、個々のユーザインタフェース要素を各自が関連するコードに対応付けることができるようになる前に、トレーニングされていることを必要とする。特定の実施例において、コンポーネント及びコードのマッピングツールは、1つ以上のソフトウェアアプリケーションにそれぞれ関連付けられている1つ以上のユースケースusecase群を用いてトレーニングされる。特定の実施例では、ソフトウェアアプリケーションに関連する一群のユースケースの中から一部のユースケースを選択し、その一部のユースケースは、所定の閾値条件を満たす良好度及びコストの比率goodness-to-costratioを有し、その一部のユースケースを用いてコンポーネント及びコードのマッピングツールをトレーニングする。図2はコンポーネント及びコードのマッピングツールをトレーニングするためのシステム例200を示す。特定の実施例において、図2に示されているシステム200のコンポーネントの各々は、コンピュータソフトウェア、ハードウェア又はそれらの組み合わせとして実現されてもよい。図3はコンポーネント及びコードのマッピングツールをトレーニングするための方法例を示す。図2及び図3を参照しながら説明を行う。さらに、図2は1つのソフトウェアアプリケーションとそのソフトウェアアプリケーションに関連付けられた一群のユースケースとに関連して説明されているが、図2に示される処理又はステップは、複数のソフトウェアアプリケーションとそれらのソフトウェアアプリケーションに関連付けられた複数のユースケース群とについて反復的に使用されてもよい。コンポーネント及びコードのマッピングツールは、例えばパフォーマンスを改善するために複数のユースケース群を用いて反復的にトレーニングされてもよい。特定の実施例において、ソフトウェアアプリケーションは一群のテストケースに関連付けられている。テストケースは、適切な如何なる方法で構築又は取得されてもよい。例えば、ソフトウェアアプリケーションの仕様に基づいて、又はソフトウェアアプリケーションの開発及び実装処理の一部として、テストケースが設計及び構築されてもよい。なぜなら、全てのソフトウェアアプリケーションはそれらが配備できるようになる前に検査テストされ有効性を確認するからである。特定の実施例において、テストケースの各々は、ユースケースと、そのユースケースに関して実行される特定のテストの説明又は定義とを含んでもよい。特定の実施例において、テストケースに含まれているユースケースは、ソフトウェアアプリケーションに関して実行される一連のアクション又は処理を指定していてもよい。例えば、一連のアクションは、ソフトウェアアプリケーションの特定のユーザインタフェース要素に関してアプリケーションのユーザにより実行される一連のユーザのアクション又は処理であり例えば、ボタン又はリンクをクリックし、テキストフィールドに言葉をタイプ入力し、ボックスをチェックし、あるいはメニューアイテムを洗濯すること等である、ユーザのアクションを実行することで、アプリケーションに様々な入力を与える。一連のアクションは、ソフトウェアアプリケーションが実際にどのように使用されるべきかを反映する。例えば、ウェブアプリケーションに関して実行されてもよい一連のアクションは、以下のものを含んでもよい:1ユーザ名のフィールドに名前をタイプ入力すること、2パスワードのフィールドにパスワードをタイプ入力すること、3ログインloginボタンをクリックすること、4MP3プレーヤに関連付けられているショッピングカートに追加のボタンをクリックすること、5精算checkoutのボタンをクリックすること、及び6クレジットカード番号のフィールドにクレジットカード番号をタイプ入力すること。特定の実施例において、テストケースに含まれるテストの説明は、テストに関する如何なる情報を指定してもよく、例えば、テストケース中のユースケースに含まれている一連のアクションがソフトウェアアプリケーションに対するテスト入力としてどのように適用されるべきか、ソフトウェアアプリケーションについてテストが実行されるランタイム環境runtimeenvironment、対応するユースケースを用いて実行される特定のテスト又は試験、テストのカバレッジ又は適用範囲、確認される特定のタイプのエラー、ソフトウェアアプリケーションの正しい出力又は動作すなわち、テストについて予想される結果等を指定してもよいが、これらに限定されない。図3のステップ302に示されているように、特定の実施例は、ソフトウェアアプリケーションに関連する一群のテストケースの中から一群のユースケースを抽出する。特定の実施例において、ステップ302は図2に示されているシステム200の要素又はコンポーネント202により実行されてもよい。特定の実施例において、コンポーネント202は、ユーザインタラクティブソフトウェアアプリケーション214及びソフトウェアアプリケーション214に関連する一群のテストケース212を入力として取得する。コンポーネント202は、テストケース212の各々を分析し、テストケース212に含まれているユースケースを抽出し、個々のテストケース212から抽出したユースケースを含む一群のユースケースを構築する。コンポーネント202は、テストケース212から抽出したユースケース216を出力として提供する。特定の実施例において、ユースケースの各々は、ソフトウェアアプリケーションに関してユーザが実行するアクション処理のような一連のアクションを含み、特定のユースケースにアクションが幾つ含まれていてもよい。特定の実施例において、各々のアクションは、<アクション,タイプ,名称>の形式による3つ組みにより又は<アクション,タイプ,名称,値>の形式による4つ組みにより表現されてもよい。特定の実施例において、アクション及びタイプは、ユースケースが関連付けられているソフトウェアアプリケーションを実行するのに使用されるプログラミング言語に基づいて規定されてもよい。例えば、アクションは、ソフトウェアアプリケーションのユーザインタフェース要素に関してジコウされる特定のアクション例えば、アクションは、クリック、指定、マウスでカーソルを重ねることの内の何れかであるアクション∈{クリック,指定,マウスでカーソルを重ねる}を指定するのに使用されてもよいし、タイプは、例えば、タイプは、リンク、ボタン、入力ボックスの内の何れかであるタイプ∈{リンク,ボタン,入力ボックス}アクションを実行するソフトウェアアプリケーションの特定のユーザインタフェース要素を指定するのに使用されてもよい。特定の実施例において、名称はユーザ又はソフトウェアアプリケーションの開発者が指定した任意の文字列でよい。例えば、名称はアクションを実行するユーザインタフェース要素の名称を示すのに使用されてもよい。特定の実施例において、値は、特定のアクションに関してユーザにより適用される実際の値例えば、文字列数でもよい。例えば、サブミットsubmitのボタンをクリックするアクションは、<クリック,ボタン,サブミット>のような3つ組みを用いて表現されてもよい。数量入力フィールドに値2を入力するアクションは、<指定assign,入力ボックス,数量,2>のような4つ組みを用いて表現されてもよい。以下の例はユースケースの具体例を示し、ユースケースにおける各々のアクションは3つ組み又は4つ組みを用いて表現される。[ユースケースの具体例]ソフトウェアアプリケーションに関する一群のユースケースがあった場合例えば、ソフトウェアアプリケーションに関連する一群のテストケースから一群のユースケースが抽出された場合、特定の実施例では、図3のステップ304に示されているように、一群のユースケースの中から一部のユースケースを選択する。特定の実施例において、選択された一部のユースケース選択されたユースケースの部分集合は、コンポーネント及びコードのマッピングツールをトレーニングする観点から最適なユースケースの部分であってもよい。特定の実施例において、ステップ304は図2に示されているシステム200の要素204により実行されてもよい。特定の実施例において、コンポーネント204は、一群のユースケース216を入力として取得し、一部分を出力としてより具体的には、ユースケース216から選択されたユースケースの最適な部分集合218として提供する。特定の実施例において、コンポーネント及びコードのマッピングツールをトレーニングするのに最適なユースケースの部分が、ある所望の特性又は性質を有するものと考えてよい。例えば、特定の実施例は、その部分のコスト及びサイズを小さくする一方、その部分のコンポーネントカバレッジcomponentcoverageを最大化することで、ユースケースの一部分を選択してもよい。特定の実施例において、ソフトウェアアプリケーションに関連する一群のユースケースは、任意の数のすなわち、1つ以上のユースケースを含んでよく、ユースケースの各々は、任意の数のすなわち、1つ以上のアクションを含む一連のアクションを含んでいてよい。が、一群のnU個のユースケースを表すものとする。ただし、nU≧1であり、Uに属するuiの各々ui∈UはUに含まれる特定のユースケースを示す。特定の実施例において、Uは一群のユースケースであり、その一群のユースケースの中から、コンポーネント及びコードのマッピングツールをトレーニングするのに最適なユースケースの一部分が選択される。が、Uから選択されたnUS個のユースケースの部分であるとする。ただし、である。さらに、特定の実施例において、ユースケースの各々は一連のアクションを含んでいるので、が、特定のユースケースuに含まれているna個の一連のアクションを示すものとする。ここで、na≧1であり、uに属するaiai∈uはuに含まれている特定のアクションを示す。特定の実施例において、一連のアクションはそれらが指定されているのと同じ順番で実行されてもよい。例えば、という一連のアクションの場合、a1が最初に実行され、それに続いてa2が2番目に実行され、それに続いてa3が3番目に実行され、以下同様に実行されてもよい。さらに、一群のユースケース例えば、Uが関連付けられているソフトウェアアプリケーションの特定のユーザインタフェース要素例えば、ウィジェットに関して、各アクションaiが実行されてもよく、アクションのシーケンス一連のアクション各々において、個々のアクションが、同一の又は相違するユーザインタフェース要素に関連して実行されてもよい。一実施例において、ユースケース各々に含まれているアクション各々を実行することに関するコストが存在してもよい。特定の実施例において、アクションに関連付けられるコストは、限定ではないが例えば、時間、コンピュータリソース及び人であるユーザの賃金等の観点による、アクションを実行する人であるユーザのコストを表してもよい。したがって、アクションに関するコストは非負の数であるとしてもよい。特定の実施例において、実験データ又は経験的なデータに基づいてアクション各々についてコストを判定してもよいし、あるいは各アクションについてデフォルトのコスト例えば、1を選択してもよい。特定の実施例において、ユースケースに含まれるアクションの各々は、a=<w,i,d,c>の形式により、アクションを実行することに関するコストを考慮に入れた別の4つ組みを用いて表現されてもよい。ここで、1wは、アクションを実行することに関するログインボタン、クリック可能なリンク又はテキストフィールド等のようなユーザインタフェース要素すなわち、ウィジェットを表現し、2iは例えばクリック、マウスによりカーソルを重ねること、又は文字入力等のようなwについて実行される特定のユーザのアクションを表現し、3dはアクションに関するデータを記述する文字列を表し、空白列でもよく例えばテキストフィールドに入力されるパスワード又はユーザ名を表現する文字列でもよい、4cはアクションを実行することに関連するコストを表し、0以上であるすなわち、非負の数であり、例えば1である。特定の実施例において、ユースケース各々を実行することに関するコストが存在してもよい。特定の実施例において、ユースケースに関するコストは、そのユースケースに含まれている一連のアクション全てを実行する場合における人であるユーザに関するコストを表してもよい。特定の実施例において、ユースケースに関するコストは、そのユースケースに含まれている個々のアクションに関する個々のコストの総和であってもよい。Caiがアクションaiに関するコストを表し、aiがユースケースuに含まれていた場合すなわち、ai∈u、特定の実施例において、uに関するコストは、として定義されてもよい。同様に、特定の実施例において、一群のユースケース例えば、U又はUSに関するコストは、その群中の個々のユースケースに関する個々のコストの総和であってもよい;すなわちであってもよい。コンポーネント及びコードのマッピングツールをトレーニングする場合において、ユースケースの一部分USを選択する際、特定の実施例ではCUSを最小化するように選択する。特定の実施例において、ユースケースが、ユーザインタフェース要素に関して実行される少なくとも1つのアクション例えば、ユーザインタフェース要素で実行される少なくとも1つのアクションを含んでいた場合、ユーザインタフェース要素例えば、ウィジェットは、そのユースケースにより試行される、使用される又は含められる。ユースケースに含まれる又はカバーされるユーザインタフェース要素に関し、そのユーザインタフェース要素において実行するアクションは、そのユースケースに含まれている一連のアクションにおける任意のアクションでもよい。コンポーネントマッピングツールをトレーニングするためにユースケースの一部分USを選択する場合に、特定の実施例では、その一部分に含まれているユースケースがカバーする包含するユーザインタフェース要素の数を最大にするようにするすなわち、その一部分によるユーザインタフェース要素のカバレッジを最大にする。さらに、特定の実施例では、ユーザインタフェース要素に関して行われるアクションのダイバーシチ又は多様性diversityを増やすようにしてもよい。例えば、あるユーザインタフェース要素に関し、特定の実施例は、ユーザインタフェース要素に関して実行される特定のアクションに通じる別のユースケースに含まれている別の一連のアクションを選択するようにし、ユーザインタフェース要素が異なるシナリオで使用されるようにしてもよい。同様に、特定の実施例は、ユーザインタフェース要素に関して実行される異なるタイプのアクションを含む異なるユースケースを選択するようにしてもよい。特定の実施例において、あるユースケースのペアu1、u2及びユーザインタフェース要素wに関し、wはu1及びu2の双方で使用される場合すなわち、wに関して実行されるu1における少なくとも1つのアクション及びu2における少なくとも1つのアクションが存在する場合、u1は、として規定され、u2は、として規定されてもよい。特定の実施例において、wに関するu1及びu2間の距離は、Dwu1,u2として記述され、これはとして規定されてもよい。ここで、aj1≠aj2の場合にはxj=1であり、それ以外についてはxj=0である。本質的には、Dwu1,u2は、wが実行される点に至るまでにおける、u1及びu2それぞれに含まれている2つの一連のアクションの相違数を表す。特定の実施例において、u1及びu2に含まれているwについて実行する複数のアクションがあった場合、a1i1がwに関して実行する一連のu1において最初のアクションであり、a2i2がwに関して実行する一連のu2において最初のアクションである。特定の実施例において、ユースケースU又はUS及びユーザインタフェース要素wの組に関し、ユーザインタフェース要素に関する一群のユースケースの差分は、その群におけるユースケースの全ての固有のペアに関するペアの距離の総和であってもよい。すなあwち、wに対するUに関する距離は、として定義されてもよい。wに対するUSに関する距離は、として定義されてもよい。コンポーネントマッピングツールをトレーニングするためにソフトウェアアプリケーションに関して一群のユースケースUの中から一部のユースケースUSを選択する場合に、特定の実施例では、USがソフトウェアアプリケーションのユーザインタフェース要素について与えるカバレッジを表すUSに関する良好度指標goodnessmeasureGUSを判定してもよい。すなわち、GUSは、US内のユースケースに含まれているアクション、ユーザインタフェース要素に関して実行する異なるタイプのアクション、及びユーザインタフェース要素wが実行するシナリオにより、どの程度多くのユーザインタフェース要素が実行されるかを示す。特定の実施例は、一群のユースケースUから選択された一部のユースケースUSの良好度指標を最大化するようにする。特定の実施例では、一部のユースケースによりカバーされる全てのユーザインタフェース要素に関する一部のユースケースの良好度指標は、一部のユースケースによりカバーされる個々のユーザインタフェース要素に関する良好度指標の総和であるとしてもよい。GwUSが、US内のユースケースによりカバーされる特定のユーザインタフェース要素wに関するUSの良好度指標であるとする。特定の実施例において、USに属するユースケースによりカバーされるユーザインタフェース要素全てに関し、良好度指標GUSは、として定義されてもよい。特定の実施例において、GwUSが、として定義されてもよい。ここで、1fwUS/UはUに対するUSで表現されるwに関するアクションの割合fractionを表し、2Cx、Ca及びCdはそれぞれユーザインタフェース要素例えば、wをカバーする、より多くのアクションをカバーする、及び多様性のあるシナリオをカバーする恩恵をもたらす相対的な重みに対する係数コストmultiplicativecostである。より具体的には、ユーザインタフェース要素wに関し、fwUS/Uは、wに関して実行されるUS内のユースケースに含まれているアクション数と、wに関して実行されるU内のユースケースに含まれているアクション数との間の比率、すなわちを表す。Cxは、ある特定のユーザインタフェース要素を含めることが、ソフトウェアアプリケーションの別の特定のユーザインタフェース要素を含めることに対して有する相対的な重要度寄与度の観点から、各ユーザインタフェース要素の相対的なウェイトに対するコスト係数を表す。Caは個々のユーザインタフェース要素に関し、できるだけ多くの異なるアクションをカバーする際の重要度寄与度の観点からのコスト係数を表す。Cdは一連の異なるアクションのような多様性のあるシナリオとともにユーザインタフェース要素をカバーする際の重要度寄与度の観点からのコスト係数を表す。Cx、Ca及びCdの値は、実験的なデータ、経験的なデータ又は指定されたデフォルト値に基づいて決定されてもよい。特定の実施例において、一部のユースケースUSに関し、良好度対コストの比率は、として定義されてもよい。特定の実施例は、1USがUによってカバーされるようなユーザインタフェース要素に関の全部又はほとんどをカバーする場合、2USがUによりカバーされるようなユーザインタフェース要素に関して時一考される異なるアクションの全部又はほとんどをカバーする場合、3USがUによりカバーされるようなユーザインタフェース要素が使用される異なるシナリオの全部又はほとんどをカバーする場合、及び4USを実行するコストが相対的に最小化されている場合に、USを最適であると判断する。これらの目的を達成する場合において、コンポーネントマッピングツールをトレーニングするため、一群のユースケースUから一部のユースケースUSを選択する場合、特定の実施例は、GUSだけでなくCUSも最大化しようとする、すなわちRUSの値を最大化しようとする。したがって、特定の実施例において、一群のユースケースに関し、一群のユースケースから選択されたユースケースの最適な一部分は、一群のユースケースから生じる全ての可能なユースケースの部分の中で、良好度とコストの比率が最も高い又は相対的に高いものである。任意の一群のユースケースUに関し、Uから一部のユースケースUS全ての可能なUの部分の中でRUSの値が最高であるものを見出す方法の1つは、Uの全ての可能な部分各々についてRUSの値を計算し、RUSの値が最大である部分を選択することである。これは、ブランチアンドバウンドbranchandboundアルゴリズムを用いて行われてもよい。その場合、選択されたユースケースの一部分は、全ての可能なUの部分の中で、良好度とコストの比率RUSが最高の値を有する。しかしながら、U内のユースケースの数が比較的大きい場合、Uの可能な部分の数は非常に大きくなる。この場合、全ての可能なUの部分各々についてRUSの値を確認するために非常に多くのリソース例えば、計算時間やコンピュータリソースが必要になり、実際のアプリケーションにおいて必ずしも実用的であるとは言えなくなってしまう。つまり、何らかの一群のユースケースUに関し、Uのサイズ及び複雑さに依存して、Uから最適な一部のユースケースUSすなわち、RUSの値が最高になるUの部分集合を選択することは、しばしばNP完全な演算負担NP-completecomputationalcomplexityの問題を有することになる。そのような場合、事実上、Uから厳密に最適なユースケースの部分を発見することは不可能である或いは非常に困難である。特定の実施例の場合、従来とは異なり、グリーディgreedyアルゴリズムを用いてユースケースの最適な部分を近似する。一群のユースケースUに関し、特定の実施例は、先ず、Uの中から或るユースケース群を選択し、そのユースケース群は、ユーザインタフェース要素をカバーし又はコンポーネント及びアクションの組み合わせを含み、かつ一部のユースケースUSを含んでいる。すなわち、選択された各々のユースケースは、Uの中で唯一のユースケースであり、特定のユーザインタフェース要素をカバーする又は特定のコンポーネント及びアクションの組み合わせを含むものである。次に、特定の実施例は、Uの中の残りのユースケースを一度に一つ検査する。特定の実施例は、Uから残りの1つのユースケースを選択し、仮にUSに追加した場合に、RUSを最大限増加させる場合すなわち、RUSの値を最も大きく増加させる場合、そのユースケースをUSに追加する。特定の実施例は、仮にUSに追加してもRUSをさらに増加させるユースケースが残っていなくなるまで、その処理Uから残っているユースケースを1つ選択し、それを仮にUSに追加した場合にRUSを最大限増加させる場合、そのユースケースをUSに追加する処理を反復する。この段階において、特定の実施例は、USを、Uから選択したユースケースの最適な一部分に対する十分な近似であると判断する。したがって、特定の実施例は、異なるユースケースがUSに追加される毎に、上記の数式を用いてRUSを計算する必要がある。あるいは、特定の実施例において、焼きなまし法又はシミュレーテッドアニーリング法SimulatedAnnealingを用いて、ユースケースの最適な部分集合を近似してもよい。特定の実施例において、シミュレーテッドアニーリング法の場合、概して、Uの中からユースケースのシード部分集合seedsubsetを選択し、ユースケースの部分集合が許容可能なRUSを有するようになるまで、発見的方法heuristicsを用いてRUSの値を反復的に改善することを試みる。許容可能な値を有するに至った段階において、特定の実施例は、USを、Uから選択されたユースケースの最適な部分に対する十分な近似であると判断する。一群のユースケースの中から選択したユースケースの最適な部分を近似する場合において、特定の実施例は、部分集合USについてのRUSの値と、所定の閾値又は他の何らかのタイプの条件とを比較してもよい。USについてのRUSの値がその所定の条件を満たしていた場合、特定の実施例は、USを、コンポーネント及びコードのマッピングツールをトレーニングするために十分に最適なものであると判断する。特定の実施例において、選択されたユースケースの一部部分集合USは、図3のステップ306に示されているように、コンポーネント及びコードのマッピングツールをトレーニング又は調整するために使用される。特定の実施例において、ステップ306は図2に示されているシステム200の要素206により実行されてもよい。特定の実施例において、要素206は、ユースケースの部分集合218とコンポーネント及びコードのマッピングツール222とを入力として取得し、選択されたユースケース218を用いてコンポーネント及びコードのマッピングツール222をトレーニング調整、修正、適合化し、トレーニングの後にコンポーネント及びコードのマッピングツールを出力として提供する。特定の実施例において、トレーニング後のコンポーネント及びコードのマッピングツールは、ウェブアプリケーションのユーザインタフェース要素と各自が対応するコードとを対応付けるために使用される。特定の実施例において、ウェブアプリケーションは任意の数のウェブページを含んでもよく、そのウェブページの各々は、任意の数のユーザインタフェース要素例えば、パネル、フレーム、テキストフィールド、ボタン、チェックボックス又はメニューリストを含んでもよい。各ウェブページはドキュメントオブジェクトモデルDocumentObjectModel:DOMを用いてDOM階層構造又はDOMツリーとして表現されてもよい。この場合、ウェブページに含まれているユーザインタフェース要素の各々は、一群の1つ以上のDOM要素を含むDOMサブツリーとして表現されてもよい。特定の実施例において、DOMサブツリーは、ルートDOMノード及び1つ以上のチャイルドDOMノードを含んでもよい。場合によっては、ルートDOMノード又はサブツリールートノードの1つ以上のチャイルドDOMノードは、対応するユーザインタフェース要素に関するイベントハンドラeventhandlerを含んでいてもよい。コンポーネント及びコードのマッピングツールは、DOM構造を分析し、具体的な特定のユーザインタフェース要素を表す個々のDOMサブツリーを判定し、ユーザインタフェース要素と各自が対応するコードとを対応付けてもよい。このようにしてトレーニングされたコンポーネント及びコードのマッピングツールは、多くの実際のアプリケーションに使用されてもよい。例えば、図4は、ソフトウェアアプリケーションを検査して正式に有効にするテスト環境400を示す。特定の実施例において、テスト環境400は、ガイダンスエンジン410、ウェブクローラcrawler412、条件生成部416、フォームデータ支援部418及び有効化ツールキット420を含む。テスト環境400のこれらの要素の各々は、ハードウェア、ソフトウェア又はそれらの組み合わせとして実現されてもよい。特定の実施例において、図2に示されているプロセスは、フォームデータ支援部の一部となっていてもよく、ウェブアプリケーション422用のユーザ入力データ430を自動的に生成する。特定の実施例において、ガイダンスエンジン410の支援とともに、ウェブアプリケーションクローラ412はウェブアプリケーションにアクセス及びクロールcrawlし、ウェブアプリケーション422のためのナビゲーションモデル421を出力する。特定の実施例において、条件生成部416は、ユーザレベルの有効化条件426例えば、ユースケースに少なくとも部分的に基づいて、実施レベルの有効化条件を生成する。特定の実施例において、有効化条件428は有効化ツールキット420の入力として使用され、有効化ツールキット420は、有効化条件428に関してナビゲーションモデル424を用いてウェブアプリケーションを有効化し、有効化の結果434を出力する。特定の実施例において、コンポーネント及びコードのマッピングツールは、条件生成部416の一部分であってもよく、例えば、ウェブアプリケーション422のようなテストされるソフトウェアアプリケーションのユーザインタフェース要素を確認又は特定し、それらのユーザインタフェース要素と、そのユーザインタフェース要素の機能を実行する各自が関連するコードとを対応付ける。特定の実施例はネットワーク環境において使用されてもよい。図5はソフトウェアの有効化をサービスとして提供するのに適したネットワーク環境例500を示す。ネットワーク環境500は、1つ以上のサーバ520と1つ以上のクライアントとを互いに結合するネットワーク510を含む。特定の実施例において、ネットワーク510は、イントラネット、エクストラネット、仮想プライベートネットワークVPN、ローカルエリアネットワークLAN、無線LANWLAN、広域ネットワークWAN、メトロポリタンエリアネットワークMAN、インターネットの一部、他のネットワーク510、又はそのようなネットワーク510の2つ以上の組み合わせである。本願は適切な如何なるネットワーク510をも想定している。1つ以上のリンク550はサーバ520又はクライアント530とネットワーク510とを結合する。特定の実施例において、1つ以上のリンク550の各々は、1つ以上の有線リンク、無線リンク又は光リンク550を含む。特定の実施例において、1つ以上のリンク550の各々は、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、MAN、インターネットの一部、他のリンク550、又はそのようなリンク550の2つ以上の組み合わせを含む。本願はサーバ520及びクライアント530をネットワークに結合する適切な如何なるリンク550をも想定している。特定の実施例において、サーバ520の各々は、ユニタリサーバ又は単一のサーバであってもよく、あるいは複数のコンピュータや複数のデータセンタにわたる分散されたサーバでもよい。サーバ520は様々なタイプのものであってよく、例えば、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告又は通知サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、又はプロキシサーバ等であるがこれらに限定されない。特定の実施例において、サーバ520の各々は、ハードウェア、ソフトウェア、内蔵論理要素、又はサーバにより実行又はサポートされる適切な機能を実行する2つ以上の要素の組み合わせを含んでいてもよい。例えば、概してウェブサーバはウェブページ又はウェブページの内の特定の要素を含むウェブサイトに対するホスト機能を実行することができる。より具体的には、ウェブサーバは、HTMLファイル又はその他のファイル形式に対するホスト機能を行ってもよいし、あるいは必要に応じてファイルを動的に生成又は構成し、クライアントからのHTTP又は他のリクエストに応じてそれらをクライアントに送信してもよい。メールサーバは、概して、様々なクライアント530に対して電子メールサービスを提供することが可能である。データベースサーバは、概して、1つ以上のデータ記憶部に保存されているデータを管理するためのインタフェースを提供することができる。特定の実施例において、1つ以上のデータ記憶部540は、1つ以上のリンク550を介して1つ以上のサーバ520に通信可能にリンクされていてもよい。特定の実施例において、データ記憶部540は様々なタイプの情報を保存するのに使用されてもよい。特定の実施例において、データ記憶部540に保存される情報は、特定のデータ構造に従って組織化されていてもよい。特定の実施例において、データ記憶部540の各々はリレーショナルデータベースであってもよい。特定の実施例は、サーバ520又はクライアント530が、データ記憶部540に保存されているデータを管理例えば、抽出、修正、追加又は削除することを可能にするインタフェースを提供する。特定の実施例において、クライアント530の各々は、ハードウェア、ソフトウェア、内蔵論理要素、又はクライアント530により実行又はサポートされる適切な機能を実行する2つ以上の要素の組み合わせであってもよい。例えば、クライアント530は、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ノートブックコンピュータシステム、携帯用電子装置又は移動電話等であるがこれらに限定されない。本願は適切な如何なるクライアント530をも想定している。クライアント530はクライアント530におけるネットワークユーザがネットワーク510にアクセスできるようにする。クライアント530は、クライアントのユーザが、他のクライアント530における他のユーザと通信できるようにする。クライアント530は、MICROSOFTINTERNETEXPLORER登録商標、GOOGLECHROME登録商標又はMOZILIAFIREFOXのようなウェブブラウザを有し、TOOLBAR登録商標又はYAHOOTOOLBAR登録商標のような1つ以上のアドオンadd-ons、プラグインその他の拡張機能部を有していてもよい。クライアント530におけるユーザは、ユニフォームリソースロケータURL又はその他のアドレスを入力し、ウェブブラウザをサーバ520に仕向け、ウェブブラウザ532はハイパーテキストトランスファプロトコルHTTPリクエストを生成し、そのHTTPリクエストをサーバ520に通知する。サーバ520は、HTTPリクエストを受け入れ、そのHTTPリクエストに応じて1つ以上のハイパーテキストマークアップ言語HTMLファイルをクライアント530に送信する。クライアント530は、サーバ520からのHTMLファイルに基づいて、ウェブページをユーザに提示するように処理する。本願は適切な如何なるウェブページファイルをも想定している。一例として、ウェブページは、具体的な要請に応じて、HTMLファイルから、拡張可能ハイパーテキストマークアップ言語XHTMLファイル又は拡張可能マークアップ言語XMLファイルを表示するが、本願はこの形態に限定されない。そのようなページはスクリプトを実行するが、そのスクリプトは、例えば、JAVASCRIPT登録商標、JAVA登録商標、MICROSOFTSILBERLIGHT登録商標、又はAJAX非同期JAVASCRIPT及びXML登録商標のようなスクリプト及びマークアップ言語の組み合わせ等であるがこれらに限定されない。ウェブページとして言及されるものは、1つ以上の対応するウェブページファイルブラウザがウェブページを表示するのに使用してもよいを含んでもよいし、必要に応じて逆の関係が成立してもよい。特定の実施例は1つ以上のコンピュータシステムにおいて実施されてもよい。図6はコンピュータシステム例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から命令を抽出フェッチし、それらをデコードして実行し、内部レジスタ、内部キャッシュ、メモリ604又は記憶部606に対して1つ以上の結果を書き込む。特定の実施例において、プロセッサ602は、データ、命令又はアドレスに関する1つ以上の内部キャッシュを含んでいてもよい。本願は必要に応じて適切な任意の内部キャッシュを適切な任意の数だけ含むプロセッサ602をも想定している。非限定的な一例として、プロセッサ602は1つ以上の命令キャッシュ、1つ以上のデータキャッシュ、及び1つ以上のトランスレーションルックアサイドバッファTLBを含んでいてもよい。命令キャッシュにおける命令は、メモリ604及び記憶部606のける命令のコピーでもよく、命令キャッシュはプロセッサ602による命令の取得を高速化する。データキャッシュのデータは、プロセッサ602が実行する命令のためのメモリ604又は記憶部606におけるデータのコピーでもよいし、プロセッサ602で以前に実行され、プロセッサ602で実行する次の命令によりアクセスされる又はメモリ604や記憶部606に書き込まれる結果でもよいし、その他の適切なデータでもよい。データキャッシュはプロセッサによる読み取り又は書き込みの処理を高速化する。TLBはプロセッサ602のための仮想アドレス変換を高速化する。特定の実施例において、プロセッサ602は、データ、命令又はアドレスのための1つ以上の内部レジスタを含む。本願は必要に応じて適切な任意の内部レジスタを適切な任意の数だけ含むプロセッサ602をも想定している。必要に応じてプロセッサ602は1つ以上の論理ユニットALUを含んでいてもよいし、マルチコアプロセッサでもよいし、1つ以上のプロセッサを含んでいてもよい。本願は特定のプロセッサを記述又は説明しているが、本願は適切な如何なるプロセッサをも想定している。特定の実施例において、メモリ604は、プロセッサ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、電気的に変更可能なROMEAPROM、フラッシュメモリ、又はそれらの2つ以上の組み合わせを含む。本願は適切な任意の物理形態の大容量記憶部606を想定している。記憶部606は、必要に応じて、プロセッサ602及び記憶部606の間の通信を支援する1つ以上のストレージ制御ユニットを含んでいてもよい。必要に応じて記憶部606は1つ以上の記憶部606を含んでいてもよい。本願は特定の記憶部を記述及び説明しているが、本願は適切な任意の記憶部をも想定している。一実施例において、I/Oインタフェース608は、コンピュータシステム600と1つ以上のI/O装置との間で通信するための1つ以上のインタフェースを提供するハードウェア、ソフトウェア又はそれら双方を含む。コンピュータシステム600は、必要に応じて1つ以上のI/O装置を含んでもよい。1つ以上のI/O装置は人とコンピュータとの間の通信を可能にする。非限定的な一例として、I/O装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、静止カメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、その他の適切なI/O装置又はそれら2つ以上の組み合わせを含む。I/O装置は1つ以上のセンサを含んでいてもよい。本願は適切な任意のI/O装置及びそのための適切な任意のI/Oインタフェース608をも想定している。必要に応じて、I/Oインタフェース608は、プロセッサ602が1つ以上のI/O装置を駆動できるようにする1つ以上の装置又はソフトウェアドライブを含んでいてもよい。インタフェース608は必要に応じて1つ以上のI/O装置608を含んでもよい。本願は特定のI/Oインタフェースを記述及び説明しているが、本願は適切な任意のI/Oインタフェースをも想定している。特定の実施例において、通信インタフェース610は、コンピュータシステム600と1つ以上の他のコンピュータシステム600又は1つ以上のネットワークとの間の通信例えば、パケット形式の通信のための1つ以上のインタフェースを提供するハードウェア、ソフトウェア又はそれら双方を含む。非限定的な一例として、通信インタフェース610は、イーサーネット又は他の有線ネットワークと通信するためのネットワークインタフェースコントローラNIC又はネットワークアダプタ、あるいはWi-Fiネットワークのような無線ネットワークと通信するための無線NICWNIC又は無線アダプタを含んでいてもよい。本願は適切な任意のネットワーク及びそのための適切な任意の通信インタフェース610をも想定している。非限定的な一例として、コンピュータシステム600は、アドホックネットワーク、パーソナルエリアネットワークPAN、ローカルエリアネットワークLAN、広域ネットワークWAN、メトロポリタンエリアネットワークMAN、インターネットの一部分、又はそれらの2つ以上の組み合わせ等と通信してもよい。1つ以上のこれらのネットワークのうちの一部分は、有線でもよいし、無線でもよい。一例として、コンピュータシステム600は、無線PANWPAN、Wi-Fiネットワーク、Wi-MAXネットワーク、セルラ電話網例えば、移動通信用グローバルシステムGSMネットワーク、その他の適切な任意の無線ネットワーク、又はそれらの2つ以上の組み合わせ等と通信してもよい。コンピュータシステム600は、必要に応じて、これらのネットワークの内の任意のものに対する適切な任意の通信インタフェース610を含む。通信インタフェース610は、必要に応じて、1つ以上の通信インタフェース610を含んでいてもよい。本願は特定の通信インタフェースを記述及び説明しているが、本願は適切な任意の通信インタフェースをも想定している。特定の実施例において、バス612は、コンピュータシステム600の要素を互いに結合するハードウェア、ソフトウェア又は双方を含む。非限定的な一例として、バス612は、アクセラレーテッドグラフィックスポートAGP又はその他のグラフィックスバス、エンハンストインダストリスタンダードアーキテクチャEISAバス、フロントサイドバスFSB、ハイパートラスポートHYPERTRANSPORT:HT相互接続、インダストリスタンダードアーキテクチャISAバス、インフィニバンドINFINIBAND相互接続、ローピンカウントlow-pin-count:LPCバス、メモリバス、マイクロチャネルアーキテクチャMCAバス、ペリフェラルコンポーネント相互接続PCIバス、PCIエクスプレスPCI-Xバス、シリアルアドバンストテクノロジアタッチメントSATAバス、ビデオエレクトロニクススタンダードアソシエーションローカルVLBバス、その他の適切なバス、又はそれらの2つ以上の組み合わせを含んでもよい。バス612は必要に応じて1つ以上のバス612を含んでもよい。本願は特定のバスを記述及び説明しているが、本願は適切な如何なるバス又は相互接続をも想定している。本願において、コンピュータ読取可能な媒体が示すものは、1つ以上の一時的なものではない有形のコンピュータ読取可能な記憶媒体処理構造を包含する。非限定的な一例として、コンピュータ読取可能な媒体は、必要に応じて、半導体集積回路又は他の集積回路例えば、フィールドプログラマブルゲートアレイFPGA又は特定用途向けICASIC、ハードディスク、HDD、ハイブリッドハードドライブHHD、光ディスク、光ディスクドライブODD、磁気光ディスク、磁気光ドライブ、フロッピディスク、フロッピディスクドライブFDD、磁気テープ、ホログラフィック記憶媒体、ソリッドステートドライブSSD、RAMドライブ、セキュアディジタルカード、セキュアディジタルドライブ、その他の適切なコンピュータ読取可能な記憶媒体、又はそれらの2つ以上の組み合わせを含んでもよい。本願において、コンピュータ読取可能な記憶媒体が示すものは35U.S.C.§101により発明保護に適切でない媒体を排除する概念である。本願において、コンピュータ読取可能な記憶媒体が示すものは、35U.S.C.§101により発明保護に適切でない信号伝送における一時的な形態例えば、伝搬する電気的又は電磁的な信号自体を排除する概念である。本願は適切な任意の記憶部を実現する1つ以上のコンピュータ読取可能な記憶媒体を想定している。特定の実施例において、コンピュータ読取可能な記憶媒体は、必要に応じて、プロセッサ602の1つ以上の部分例えば、1つ以上の内部レジスタ又はキャッシュ、メモリ604の1つ以上の部分、記憶部606の1つ以上の部分又はそれらの組み合わせを実現する。特定の実施例において、コンピュータ読取可能な記憶媒体は、RAM又はROMを実現する。特定の実施例において、コンピュータ読取可能な記憶媒体は揮発性又は永久メモリを実現する。特定の実施例において、1つ以上のコンピュータ読取可能な記憶媒体はソフトウェアと一体化されている。本願において、ソフトウェアを示すものは、1つ以上のアプリケーション、バイトコード、1つ以上のコンピュータプログラム、1つ以上の実行ファイル、1つ以上の命令、論理ロジック、マシンコード、1つ以上のスクリプト、ソースコード等を適切に包含する概念である。特定の実施例において、ソフトウェアは1つ以上のアプリケーションプログラミングインタフェースAPIを含む。本願は適切な任意のプログラミング言語又はプログラミング言語の組み合わせにより書かれた又は表現された適切な任意のソフトウェアをも想定している。特定の実施例において、ソフトウェアはソースコード又はオブジェクトコードとして表現される。特定の実施例において、ソフトウェアは、例えば、C、Perl又はそれらの適切な拡張版等のような上位レベルのプログラミング言語により表現される。特定の実施例において、ソフトウェアは、アセンブリ言語又はマシンコード等のような低位レベルのプログラミング言語により表現されてもよい。特定の実施例において、ソフトウェアはJAVAにより表現されている。特定の実施例において、ソフトウェアは、ハイパーテキストマークアップ言語HTML、拡張可能マークアップ言語XML又は他の適切なマークアップ言語で表現されている。本願は説明された実施例に対する当業者が理解できる変更、置換、変形、代替及び修正の全てを包含する。同様に、添付の特許請求の範囲は、説明された実施例に対する当業者が理解できる変更、置換、変形、代替及び修正の全てを適切に包含する。以下、開示される発明の実施形態を例示的に列挙する。付記11つ以上のコンピュータ装置により使用される方法であって、ソフトウェアアプリケーションの一群のユースケースにアクセスするステップと、前記一群のユースケースから、良好度対コストの比率が所定の条件を満たすユースケースの一部分を選択するステップとを有し、前記ソフトウェアアプリケーションは、該ソフトウェアアプリケーションのユーザが該ソフトウェアアプリケーションとやり取りできるようにする1つ以上のユーザインタフェース要素を有し、前記一群のユースケースに属するユースケースの各々は、前記ユーザインタフェース要素のうちの特定のものについて行われる1つ以上のユーザアクションを含み、前記ユーザアクションの各々は該ユーザアクションを実行することに関する第1のコストに関連付けられ、ユースケースの前記一部分に対する前記良好度対コストの比率を算出する際、ユースケースの前記一部分に属するユースケース各々について、ユースケースのユーザアクションに関する前記第1のコストの総和である第2のコストを算出し、前記第2のコストの総和である第3のコストを算出し、ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出し、前記第1の良好度の総和である第2の良好度を算出し、前記第2の良好度と前記第3のコストとの比率である前記良好度対コストの比率を算出する、方法。付記2ユースケースの前記一部分は、前記一群のユースケースから選択される全ての可能なユースケースの一部分の中で、最良の良好度対コストの比率を有する、付記1記載の方法。付記3ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出する際に、ユースケースの前記一部分に属するユースケースの固有のペアについて、ユーザインタフェース要素に関するユースケースのペアの間の第1の距離を算出し、該第1の距離は、前記ユーザインタフェース要素について行うユーザアクションに関し、ユースケースの該ペアにおけるユーザアクション同士の間の相違を示し、前記第1の距離の総和である第2の距離を算出し、前記第2の距離に基づいて前記第1の良好度を算出する、付記1記載の方法。付記4ユースケースの前記一部分を選択する前記ステップが、前記一群のユースケースの中で、少なくとも1つの前記ユーザインタフェース要素を固有に使用するユーザアクションを有するユースケースのみ、又はユーザアクション及びユーザインタフェース要素の少なくとも1つの固有の組み合わせをなすユースケースのみに該当する全てのユースケースを、前記一群のユースケースの中から選択し、選択したユースケースをユースケースの前記一部分に含め、ユースケースの前記一部分に含めたユースケースに基づいて、ユースケースの前記一部分に対する前記良好度対コストの比率を算出し、前記一群のユースケース内に残っている1つ以上のユースケースの名から、ユースケースの一部分に対する良好度対コストの比率を最大限増やすユースケースを選択し、選択したユースケースをユースケースの一部分に含めることを、ユースケースの一部分に追加的なユースケースを含めてもユースケースの一部分に対する良好度対コストの比率がもはや増加しなくなるまで反復的に実行するステップを有する付記1記載の方法。付記5ユースケースの前記一部分を選択する前記ステップにおいて、ブランチアンドバウンドアルゴリズムを利用して、前記一群のユースケースのうちの全ての可能な一部分の中で、最良の良好度対コストの比率をもたらすユースケースの一部分を特定することを反復的に行う、付記1記載の方法。付記6ユースケースの前記一部分を用いて、ユーザインタフェース要素のマッピングツールをトレーニングするステップをさらに有し、前記ユーザインタフェース要素のマッピングツールは、第2のユーザインタラクティブソフトウェアアプリケーションの第2のユーザインタフェース要素と、第2のソフトウェアアプリケーションのソースコードの部分とを対応付ける、付記1記載の方法。付記7ソフトウェアアプリケーションの一群のテストケースの中から、前記一群のユースケースを抽出するステップをさらに有する、付記1記載の方法。付記81つ以上のプロセッサにより実行可能な命令を有するメモリと、前記メモリに結合され、前記命令を実行する1つ以上のプロセッサとを有するシステムであって、前記命令は前記1つ以上のプロセッサに方法を実行させ、該方法は、ソフトウェアアプリケーションの一群のユースケースにアクセスするステップと、前記一群のユースケースから、良好度対コストの比率が所定の条件を満たすユースケースの一部分を選択するステップとを有し、前記ソフトウェアアプリケーションは、該ソフトウェアアプリケーションのユーザが該ソフトウェアアプリケーションとやり取りできるようにする1つ以上のユーザインタフェース要素を有し、前記一群のユースケースに属するユースケースの各々は、前記ユーザインタフェース要素のうちの特定のものについて行われる1つ以上のユーザアクションを含み、前記ユーザアクションの各々は該ユーザアクションを実行することに関する第1のコストに関連付けられ、ユースケースの前記一部分に対する前記良好度対コストの比率を算出する際、ユースケースの前記一部分に属するユースケース各々について、ユースケースのユーザアクションに関する前記第1のコストの総和である第2のコストを算出し、前記第2のコストの総和である第3のコストを算出し、ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出し、前記第1の良好度の総和である第2の良好度を算出し、前記第2の良好度と前記第3のコストとの比率である前記良好度対コストの比率を算出する、システム。付記9ユースケースの前記一部分は、前記一群のユースケースから選択される全ての可能なユースケースの一部分の中で、最良の良好度対コストの比率を有する、付記8記載のシステム。付記10ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出する際に、ユースケースの前記一部分に属するユースケースの固有のペアについて、ユーザインタフェース要素に関するユースケースのペアの間の第1の距離を算出し、該第1の距離は、前記ユーザインタフェース要素について行うユーザアクションに関し、ユースケースの該ペアにおけるユーザアクション同士の間の相違を示し、前記第1の距離の総和である第2の距離を算出し、前記第2の距離に基づいて前記第1の良好度を算出する、付記8記載のシステム。付記11ユースケースの前記一部分を選択する前記ステップが、前記一群のユースケースの中で、少なくとも1つの前記ユーザインタフェース要素を固有に使用するユーザアクションを有するユースケースのみ、又はユーザアクション及びユーザインタフェース要素の少なくとも1つの固有の組み合わせをなすユースケースのみに該当する全てのユースケースを、前記一群のユースケースの中から選択し、選択したユースケースをユースケースの前記一部分に含め、ユースケースの前記一部分に含めたユースケースに基づいて、ユースケースの前記一部分に対する前記良好度対コストの比率を算出し、前記一群のユースケース内に残っている1つ以上のユースケースの名から、ユースケースの一部分に対する良好度対コストの比率を最大限増やすユースケースを選択し、選択したユースケースをユースケースの一部分に含めることを、ユースケースの一部分に追加的なユースケースを含めてもユースケースの一部分に対する良好度対コストの比率がもはや増加しなくなるまで反復的に実行するステップを有する付記8記載のシステム。付記12ユースケースの前記一部分を選択する前記ステップにおいて、ブランチアンドバウンドアルゴリズムを利用して、前記一群のユースケースのうちの全ての可能な一部分の中で、最良の良好度対コストの比率をもたらすユースケースの一部分を特定することを反復的に行う、付記8記載のシステム。付記13ユースケースの前記一部分を用いて、ユーザインタフェース要素のマッピングツールをトレーニングするステップをさらに有し、前記ユーザインタフェース要素のマッピングツールは、第2のユーザインタラクティブソフトウェアアプリケーションの第2のユーザインタフェース要素と、第2のソフトウェアアプリケーションのソースコードの部分とを対応付ける、付記8記載のシステム。付記14ソフトウェアアプリケーションの一群のテストケースの中から、前記一群のユースケースを抽出するステップをさらに有する、付記8記載のシステム。付記151つ以上のコンピュータ装置に方法を実行させるソフトウェアを有する1つ以上のコンピュータ読取可能な一時的なものではない記憶媒体であって、ソフトウェアアプリケーションの一群のユースケースにアクセスするステップと、前記一群のユースケースから、良好度対コストの比率が所定の条件を満たすユースケースの一部分を選択するステップとを有し、前記ソフトウェアアプリケーションは、該ソフトウェアアプリケーションのユーザが該ソフトウェアアプリケーションとやり取りできるようにする1つ以上のユーザインタフェース要素を有し、前記一群のユースケースに属するユースケースの各々は、前記ユーザインタフェース要素のうちの特定のものについて行われる1つ以上のユーザアクションを含み、前記ユーザアクションの各々は該ユーザアクションを実行することに関する第1のコストに関連付けられ、ユースケースの前記一部分に対する前記良好度対コストの比率を算出する際、ユースケースの前記一部分に属するユースケース各々について、ユースケースのユーザアクションに関する前記第1のコストの総和である第2のコストを算出し、前記第2のコストの総和である第3のコストを算出し、ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出し、前記第1の良好度の総和である第2の良好度を算出し、前記第2の良好度と前記第3のコストとの比率である前記良好度対コストの比率を算出する、記憶媒体。付記16ユースケースの前記一部分は、前記一群のユースケースから選択される全ての可能なユースケースの一部分の中で、最良の良好度対コストの比率を有する、付記15記載の記憶媒体。付記17ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出する際に、ユースケースの前記一部分に属するユースケースの固有のペアについて、ユーザインタフェース要素に関するユースケースのペアの間の第1の距離を算出し、該第1の距離は、前記ユーザインタフェース要素について行うユーザアクションに関し、ユースケースの該ペアにおけるユーザアクション同士の間の相違を示し、前記第1の距離の総和である第2の距離を算出し、前記第2の距離に基づいて前記第1の良好度を算出する、付記15記載の記憶媒体。付記18ユースケースの前記一部分を選択する前記ステップが、前記一群のユースケースの中で、少なくとも1つの前記ユーザインタフェース要素を固有に使用するユーザアクションを有するユースケースのみ、又はユーザアクション及びユーザインタフェース要素の少なくとも1つの固有の組み合わせをなすユースケースのみに該当する全てのユースケースを、前記一群のユースケースの中から選択し、選択したユースケースをユースケースの前記一部分に含め、ユースケースの前記一部分に含めたユースケースに基づいて、ユースケースの前記一部分に対する前記良好度対コストの比率を算出し、前記一群のユースケース内に残っている1つ以上のユースケースの名から、ユースケースの一部分に対する良好度対コストの比率を最大限増やすユースケースを選択し、選択したユースケースをユースケースの一部分に含めることを、ユースケースの一部分に追加的なユースケースを含めてもユースケースの一部分に対する良好度対コストの比率がもはや増加しなくなるまで反復的に実行するステップを有する付記15記載の記憶媒体。付記19ユースケースの前記一部分を選択する前記ステップにおいて、ブランチアンドバウンドアルゴリズムを利用して、前記一群のユースケースのうちの全ての可能な一部分の中で、最良の良好度対コストの比率をもたらすユースケースの一部分を特定することを反復的に行う、付記15記載の記憶媒体。付記20ユースケースの前記一部分を用いて、ユーザインタフェース要素のマッピングツールをトレーニングするステップをさらに有し、前記ユーザインタフェース要素のマッピングツールは、第2のユーザインタラクティブソフトウェアアプリケーションの第2のユーザインタフェース要素と、第2のソフトウェアアプリケーションのソースコードの部分とを対応付ける、付記15記載の記憶媒体。付記21ソフトウェアアプリケーションの一群のテストケースの中から、前記一群のユースケースを抽出するステップをさらに有する、付記15記載の記憶媒体。付記22ソフトウェアアプリケーションの一群のユースケースにアクセスする手段と、前記一群のユースケースから、良好度対コストの比率が所定の条件を満たすユースケースの一部分を選択する手段とを有し、前記ソフトウェアアプリケーションは、該ソフトウェアアプリケーションのユーザが該ソフトウェアアプリケーションとやり取りできるようにする1つ以上のユーザインタフェース要素を有し、前記一群のユースケースに属するユースケースの各々は、前記ユーザインタフェース要素のうちの特定のものについて行われる1つ以上のユーザアクションを含み、前記ユーザアクションの各々は該ユーザアクションを実行することに関する第1のコストに関連付けられ、ユースケースの前記一部分に対する前記良好度対コストの比率を算出する際、ユースケースの前記一部分に属するユースケース各々について、ユースケースのユーザアクションに関する前記第1のコストの総和である第2のコストを算出し、前記第2のコストの総和である第3のコストを算出し、ユースケースの前記一部分に属する少なくとも1つのユースケースにおける少なくとも1つのユーザアクションにより使用されるユーザインタフェース要素の各々について、ユースケースの前記一部分がユーザインタフェース要素についてもたらすユーザアクションカバレッジのレベルを示す第1の良好度を算出し、前記第1の良好度の総和である第2の良好度を算出し、前記第2の良好度と前記第3のコストとの比率である前記良好度対コストの比率を算出する、システム。"