特開2016-212846(P2016-212846A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧
特開2016-212846テスト・スイート最小化を利用した方法、装置、およびコンピュータ・プログラム
<>
  • 特開2016212846-テスト・スイート最小化を利用した方法、装置、およびコンピュータ・プログラム 図000005
  • 特開2016212846-テスト・スイート最小化を利用した方法、装置、およびコンピュータ・プログラム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2016-212846(P2016-212846A)
(43)【公開日】2016年12月15日
(54)【発明の名称】テスト・スイート最小化を利用した方法、装置、およびコンピュータ・プログラム
(51)【国際特許分類】
   G06Q 50/20 20120101AFI20161118BHJP
   G06Q 50/22 20120101ALI20161118BHJP
【FI】
   G06Q50/20
   G06Q50/22
【審査請求】未請求
【請求項の数】16
【出願形態】OL
【全頁数】15
(21)【出願番号】特願2016-83538(P2016-83538)
(22)【出願日】2016年4月19日
(31)【優先権主張番号】14/698884
(32)【優先日】2015年4月29日
(33)【優先権主張国】US
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ワラック、エウゲニウシュ
(72)【発明者】
【氏名】ズロトニク、アヴィアド
(72)【発明者】
【氏名】キシレフ、パーベル
【テーマコード(参考)】
5L049
5L099
【Fターム(参考)】
5L049CC34
5L099AA00
5L099AA04
5L099AA26
(57)【要約】
【課題】テスト・スイート最小化を利用した方法、装置、およびコンピュータ・プログラム製品を提供する。
【解決手段】方法、コンピューティング・システム、およびコンピュータ・プログラム製品が、本発明の実施形態を実装し、それらの実施形態は、第1の数のカテゴリを定義することであって、カテゴリの各々がそれぞれの第2の数の値を有する、定義することと、試験問題のセット内の各々の所与の試験問題に、それぞれの第3の数のカテゴリ、および、第3の数のカテゴリの各々に対する少なくとも1つの所与の値を割り当てることとを含む。要件のセットが検索され、各々の所与の要件が、それぞれの第4の数のカテゴリ要件、および、カテゴリ要件の各々に対するそれぞれの値要件を含み、テスト・スイート最小化アルゴリズムが、カテゴリ要件および値要件を含む、カテゴリおよびそれぞれの値を有する、試験問題の最小サブセットを選択するために実行される。
【選択図】図1
【特許請求の範囲】
【請求項1】
方法であって、
第1の数のカテゴリを定義するステップであって、前記カテゴリの各々がそれぞれの第2の数の値を有する、前記定義するステップと、
試験問題のセット内の各々の所与の試験問題に、それぞれの第3の数のカテゴリ、および、前記第3の数のカテゴリの各々に対する少なくとも1つの所与の値を割り当てるステップと、
要件のセットを検索するステップであって、各々の所与の要件が、それぞれの第4の数のカテゴリ要件、および、前記カテゴリ要件の各々に対するそれぞれの値要件を含む、前記検索するステップと、
テスト・スイート最小化アルゴリズムを実行して、前記カテゴリ要件および前記値要件を含む、カテゴリおよびそれぞれの値を有する、前記試験問題の最小サブセットを選択するステップと
を含む、方法。
【請求項2】
前記問題が医学試験問題を含む、請求項1に記載の方法。
【請求項3】
所与のカテゴリが、患者のデモグラフィック、病気の特性、および医学テスト結果からなる群から選択される、請求項2に記載の方法。
【請求項4】
所与の問題が画像を含み、前記画像に対する前記カテゴリの各々が、前記画像の特徴を含む、請求項1に記載の方法。
【請求項5】
前記要件が第1の要件を含み、前記方法が、所与の第1の要件の対象数を含む第2の要件を含む、請求項1に記載の方法。
【請求項6】
所与のカテゴリが複数の問題タイプを含み、所与の試験問題に対する所与のカテゴリが所与の問題タイプを含む、請求項1に記載の方法。
【請求項7】
所与の要件が、特定の問題タイプを含む、前記試験問題の対象数を含む、請求項6に記載の方法。
【請求項8】
装置であって、
試験問題のセットを記憶するように構成される記憶デバイスと、
プロセッサであって、
第1の数のカテゴリを定義することであって、前記カテゴリの各々がそれぞれの第2の数の値を有する、前記定義することと、
試験問題の前記セット内の各々の所与の試験問題に、それぞれの第3の数のカテゴリ、および、前記第3の数のカテゴリの各々に対する少なくとも1つの所与の値を割り当てることと、
要件のセットを検索することであって、各々の所与の要件が、それぞれの第4の数のカテゴリ要件、および、前記カテゴリ要件の各々に対するそれぞれの値要件を含む、前記検索することと、
テスト・スイート最小化アルゴリズムを実行して、前記カテゴリ要件および前記値要件を含む、カテゴリおよびそれぞれの値を有する、前記試験問題の最小サブセットを選択することと
を行うように構成される、前記プロセッサと
を備える、装置。
【請求項9】
前記問題が医学試験問題を含む、請求項8に記載の装置。
【請求項10】
所与のカテゴリが、患者のデモグラフィック、病気の特性、および医学テスト結果からなる群から選択される、請求項9に記載の装置。
【請求項11】
所与の問題が画像を含み、前記画像に対する前記カテゴリの各々が、前記画像の属性を含む、請求項8に記載の装置。
【請求項12】
前記要件が第1の要件を含み、前記プロセッサが、所与の第1の要件の対象数を含む第2の要件を定義するように構成される、請求項8に記載の装置。
【請求項13】
所与のカテゴリが複数の問題タイプを含み、所与の試験問題に対する所与のカテゴリが所与の問題タイプを含む、請求項8に記載の装置。
【請求項14】
所与の要件が、特定の問題タイプを含む、前記試験問題の対象数を含む、請求項13に記載の装置。
【請求項15】
請求項1〜7の何れか1項に記載の方法の各ステップをコンピュータに実行させる、
コンピュータ・プログラム。
【請求項16】
前記コンピュータ・プログラムをコンピュータ可読記憶媒体に記録した、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には試験設計に関し、詳細には、テスト・スイート最小化を使用して、試験のための問題を選択することに関する。
【背景技術】
【0002】
組合せテストとしても知られている組合せテスト設計(CTD:CombinatorialTest Design)は、テスト空間が、カテゴリ、それらのそれぞれの値、および、値組合せに関する制約のセットによりモデリングされる、効果的なソフトウェア・テスト計画立案技法である。このモデルにより表されるテスト空間は、制約に違反しない、各々のカテゴリへの1つの値の任意の割り当てである。空間のサブセットが、次いで、それが、あらゆるt個のカテゴリのすべての有効な値組合せ(相互作用としても知られている)を包含するように自動的に構築されるものであり、ただしtは、通常はユーザ入力である。換言すれば、t個のカテゴリのあらゆるセットに対して、それらに対するt個の値の任意の組合せが、(制約によって、それを内包する有効なテストが存在しないということでない限り)テスト計画で少なくとも1回出現することになる。
【0003】
一般的に、異なるレベルの相互作用が、カテゴリの異なるサブセットに対して要求され得る。CTDの最も普通の用途は、ペアワイズ・テストとして知られており、カテゴリのあらゆるペアの相互作用が包含されなければならない。CTDの結果での各々のテストは、すべてのカテゴリへの値の割り当てであり、具体的な実行可能なテストに変換される必要がある、高レベル・テストまたはテスト・シナリオを表す。
【0004】
上記の説明は、本分野での関係のある技術分野の一般的な概観として提示されるものであり、その説明が内包する情報のいずれかが、本特許出願に対する従来技術の構成物となるということの自認と解釈すべきではない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の課題は、テスト・スイート最小化を利用した方法、装置、およびそのコンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の実施形態によって、方法が提供され、方法は、第1の数のカテゴリを定義するステップであって、カテゴリの各々がそれぞれの第2の数の値を有する、定義するステップと、試験問題のセット内の各々の所与の試験問題に、それぞれの第3の数のカテゴリ、および、第3の数のカテゴリの各々に対する少なくとも1つの所与の値を割り当てるステップと、要件のセットを検索するステップであって、各々の所与の要件が、それぞれの第4の数のカテゴリ要件、および、カテゴリ要件の各々に対するそれぞれの値要件を含む、検索するステップと、テスト・スイート最小化アルゴリズムを実行して、カテゴリ要件および値要件を含む、カテゴリおよびそれぞれの値を有する、試験問題の最小サブセットを選択するステップを含む。
【0007】
本発明の実施形態によって、装置がさらに提供され、装置は、試験問題のセットを記憶するように構成される記憶デバイスと、プロセッサであって、第1の数のカテゴリを定義することであって、カテゴリの各々がそれぞれの第2の数の値を有する、定義することと、試験問題のセット内の各々の所与の試験問題に、それぞれの第3の数のカテゴリ、および、第3の数のカテゴリの各々に対する少なくとも1つの所与の値を割り当てることと、要件のセットを検索することであって、各々の所与の要件が、それぞれの第4の数のカテゴリ要件、および、カテゴリ要件の各々に対するそれぞれの値要件を含む、検索することと、テスト・スイート最小化アルゴリズムを実行して、カテゴリ要件および値要件を含む、カテゴリおよびそれぞれの値を有する、試験問題の最小サブセットを選択することとを行うように構成される、プロセッサとを含む。
【0008】
本発明の実施形態によって、コンピュータ・プログラムがさらに提供され、コンピュータ・プログラムは、コンピュータ可読プログラム・コードが一体として具現化される非一時的コンピュータ可読記憶媒体に記録され、コンピュータ可読プログラム・コードが、第1の数のカテゴリを定義することであって、カテゴリの各々がそれぞれの第2の数の値を有する、定義することを行うように構成されるコンピュータ可読プログラム・コードと、試験問題のセット内の各々の所与の試験問題に、それぞれの第3の数のカテゴリ、および、第3の数のカテゴリの各々に対する少なくとも1つの所与の値を割り当てることを行うように構成されるコンピュータ可読プログラム・コードと、要件のセットを検索することであって、各々の所与の要件が、それぞれの第4の数のカテゴリ要件、および、カテゴリ要件の各々に対するそれぞれの値要件を含む、検索することを行うように構成されるコンピュータ可読プログラム・コードと、テスト・スイート最小化アルゴリズムを実行して、カテゴリ要件および値要件を含む、カテゴリおよびそれぞれの値を有する、試験問題の最小サブセットを選択することを行うように構成されるコンピュータ可読プログラム・コードを含む。
【0009】
本開示を、本明細書では、単に例として、付随する図面を参照して説明する。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態による、テスト・スイート最小化アルゴリズムを使用して、試験のための問題を選択するように構成されるコンピュータ・システムを概略的に示すブロック図である。
図2】本発明の実施形態による、テスト・スイート最小化アルゴリズムを使用して、試験のための問題を選択する方法を概略的に示すフロー図である。
【発明を実施するための形態】
【0011】
健康管理システムの複雑度および精巧化が指数関数的に高まることに伴って、健康管理要員の技量を絶えず向上させることが、より不可欠になってきている。したがって健康管理開業医は、それらの開業医らの専門家としての人生の全体を通して数多くの講習に出席すること、および、それらの開業医らの専門家としての技量を証明するために数多くの専門家としてのテストを受けることが期待される。さらに、画像診断が広範にわたっていることを考えれば、臨床知識および医用画像理解の両方をテストすることは不可欠である。例えば、多くの国での放射線科医は、初期に上級の検定試験に合格し、その後、年1回の再検定試験に合格することが期待される。
【0012】
患者の生命は医師の技量に左右されるので、一般の人々は、テストが包括的なだけでなく公正なものになるということを要望する。現在そのようなテストの運営管理を行う組織体は、圧倒的に手作業のテスト準備に依拠し、結果として、テスト準備のコストは非常に高い。これらの高いコストにもかかわらず、試験は多くの事例で、不公正であることに対して、および、問題が受験者に漏れることに対しての両方で批判される。実際、(受験者が、正しい答えがわからない場合に)問題構造を分析することにより、どのように好結果の見込みを高めるかに関する助言を提案する「処方箋本」を見つけ出すことが可能である。
【0013】
本発明の実施形態は、相互作用ベースのテスト・スイート最小化(ITSM:interaction-basedtest suite minimization)アルゴリズムのテスト・スイート最小化アルゴリズムを使用して、試験問題のセットから、要件のセットを満足させる試験問題の最小サブセットを選択するための方法およびシステムを提供する。本明細書の下記で解説するように、ITSM(本明細書では、テスト・スイート最小化アルゴリズムとも称する)は、既存のテスト・スイートを低減し、一方で、その相互作用包含範囲を保持する。CTDと同様に、ITSMは、テスト空間のカテゴリ、およびそれらの値を定義することを要するが、そのITSMは、値間の制約を定義することを要さない。そのITSMは次いで、各々のテストがカテゴリへの値の割り当ての形式でのものであるテスト・スイートを与えられ、そのtワイズ値組合せを保持するテスト・スイートのサブセットを選択する。明らかに、他のテスト最小化技法のように、ITSMは、一方では、省略されるものが重要なものではないように、十分に広範および代表的であり、他方では、完了まで走らせるには大きすぎるものであり、冗長なテスト・ケースを内包し得る、既存のテスト・スイートが存在するときにのみ適用可能である。
【0014】
図1は、本発明の実施形態による、試験問題セット22から、要件セット26を満たす試験問題のセットのサブセット24を選択するように構成されるコンピュータ20を概略的に示すブロック図である。コンピュータ20は、プロセッサ28と、メモリ30と、記憶デバイス32とを備える。動作中は、プロセッサは、メモリ30から、サブセット24を要件セット26に基づいて選択するテスト・スイート最小化アプリケーション34を実行する。テスト・スイート最小化アプリケーション34は、本明細書の下記で提示する付録で説明するITSMアルゴリズムを実装する。
【0015】
記憶デバイス32は典型的には、問題セット22、要件セット26、選択されたサブセット24、答えセット36、画像セット38、およびカテゴリ・テーブル40を記憶する、ハード・ディスク・ドライブまたはソリッド・ステート・ディスク(SSD)ドライブを備える。問題セット22は、複数の試験問題42を含み、答えセット36は、各々の問題42に対する複数の答え(示さない)を含む。
【0016】
カテゴリ・テーブル40は、複数のカテゴリ・レコード44を含み、カテゴリ・レコードの各々は、それぞれのカテゴリ46、および複数のそれぞれの値48を含む。所与のカテゴリ46の例は、民族性、性別、および年齢範囲などのデモグラフィック、症状場所および症状重症度などの病気特性、ならびに医学テスト結果を含むが、それらに限定されない。上で説明したように、各々のカテゴリ46は、複数のそれぞれの値48を有する。例えば、以下の通りである。
・「性別」カテゴリ46に対する値は、「男性」および「女性」を含み得る。
・「年齢範囲」カテゴリ46に対する値は、「0〜10」、「11〜20」、「21〜40」、「41〜60」、および「61+」を含み得る。
・「病気特性」カテゴリ46に対する値は、「心性」、「肺性」、「免疫学的」、「神経性」、その他を含み得る。
・「医学テスト結果」カテゴリ46に対する値は、「白血球数」、「ナトリウム・レベル」、「グルコース・レベル」、その他を含み得る。
【0017】
一部の実施形態では、所与のカテゴリ46は、複数のサブ・カテゴリを有し得る。例えば、患者に対する所与のカテゴリ46「病気」は、「1次病気特性」および「2次病気特性」サブ・カテゴリを有し得る。
【0018】
画像セット38は、複数の画像レコード50を含み、画像レコードの各々は、画像52、および複数の画像データ・エントリ54を含む。画像52は、X線および超音波などのデジタル画像を含み得るものであり、各々の画像データ・エントリは、特徴56、確率スコア58、および所与のカテゴリ46を含む。本明細書の実施形態では、画像データ・エントリ54、ならびに、それらのそれぞれの特徴56、スコア58、およびカテゴリ46は、画像属性と称する場合もある。加えて一部の実施形態では、各々の特徴は、複数の画像値(示さない)を有し得る。例えば、以下の通りである。
・所与の特徴56は、可能な画像値「悪性」、「良性」、および「不明」を伴う「病巣タイプ」を含み得る。
・所与の特徴56は、可能な画像値「高」、「中」、および「低」を伴う「乳房密度」を含み得る。
・所与の特徴56は、可能な画像値「平滑」、「不鮮明」、および「針骨状(Spiculated)」を伴う「境界」を含み得る。
・所与の特徴56は、可能な画像値「腋窩」、「線維腺組織」、「脂肪組織」、および「皮膚」を伴う「場所」を含み得る。
・所与の特徴56は、可能な画像値「CC」および「MLO」を伴う「ビュー」を含み得る。
・所与の特徴56は、可能な画像値「右」および「左」を伴う「側」を含み得る。
・所与の特徴56は、可能な画像値「困難」、「中程度」、および「容易」を伴う「難易度」を含み得る。
【0019】
一部の実施形態では、テスト・スイート最小化アプリケーション34は、画像レコード50を「画像ベースの」問題として扱い得る。換言すれば、要件セット26に基づいて、選択されたサブセット24は、1つまたは複数の画像レコード50を参照し得る問題42を含む。画像ベースの問題に対して、プロセッサ28は、テスト・スイート最小化アプリケーション34を適用して、各々の画像ベースの問題に対して、対応する意味表現、およびその関連する確率スコア58を作成し得る。
【0020】
例えば超音波の腫瘍画像に対して、コンピュータ20は、関連性のある診断特徴56(例えば、均質性、エコー輝度、境界定義、腫瘍形状、向き)の推定物を自動的に提供し得る。各々の特徴56は、画像難易度の推定のために所与の確率を使用する必要がある場合がある。同様にこれらの特徴は、コンピュータにより、試験(すなわち、サブセット24)が、画像特徴の包含範囲で、および、画像複雑度の見地での両方で良好にバランスがとれているということを確実にするために使用されることになる。
【0021】
要件セット26は、複数の要件60を含み、要件の各々は、複数のカテゴリ要件62、および、カテゴリ要件の各々に対するそれぞれの値要件を含む。要件60は、医学試験に出るべきであるカテゴリ値の組合せを定義する。所与の要件60は、カテゴリ要件62および値要件64の複数のペア(本明細書では、カテゴリ/値ペアとも称する)であり得る。カテゴリ/値ペアの例は、以下のものを含む。
・病巣タイプ=悪性、ただし、「病巣タイプ」は所与のカテゴリ要件62を構成し、「悪性」は所与の値要件64を構成する。
・乳房密度=中、ただし、「乳房密度」は所与のカテゴリ要件62を構成し、「中」は所与の値要件64を構成する。
・境界=平滑、ただし、「境界」は所与のカテゴリ要件62を構成し、「平滑」は所与の値要件64を構成する。
【0022】
一部の実施形態では要件60は、「病巣タイプ、乳房密度、場所、およびビューからの任意の3つのカテゴリのすべての値組合せ」などの、カテゴリ/値ペアのタプルにより定義され得る。加えて、本明細書の上記で説明した2つのタイプの要件の組合せが可能である。
【0023】
所与の要件60の別の例は、臨床試験定義に対するものとなる。例えば要件は、試験が、10個の主要な疾病の各々からの少なくとも1つの問題、および、20個のより頻度の高くない疾病のセットからの少なくとも5つの問題を内包するということを指示し得る。換言すれば要件60は、特定のカテゴリ46(または、カテゴリ46の組合せ)を包含する問題に対する対象数を含み得る。同様に要件60は、患者年齢、症状、その他などのカテゴリ要件62の選定を制御し得る。
【0024】
一部の実施形態では、問題42に対する所与のカテゴリは、問題タイプを指示し得るものであり、所与の要件は、所与の問題タイプに対する問題の対象数を指示し得る。例えば所与の要件60は、サブセット24内の選択された問題の10%が陰性タイプのものであり、10%がブール式を内包することになり、80%が陽性タイプのものとなるということを指示し得る。
【0025】
追加的な実施形態では、所与のカテゴリ46は、所与の問題42の難易度を指示し得るものであり、所与の要件60は、画像難易度(画像カテゴリの1つ)、診断頻度、および、答えの間の類似度の関数として定義される試験難易度の意向を内包し得る。難易度尺度は、例えば1〜100に正規化されることになる。したがって、所与の要件を変更することにより、試験監督者は、試験に対する難易度レベルをセットすることが可能である。
さらなる実施形態では問題42は、既存の病院記録から作成され得る。動作中にプロセッサ28は、患者のデータ・フォルダから、臨床情報および診断画像の両方を検索し得る。次いで、上記で説明した技法を使用して、プロセッサ28は、1つまたは複数の特定の科目を包含する、他とは異なる試験を作成するために、実際の現場事例を分析し得る。
【0026】
本発明の実施形態では、要件のセットを与えられると、プロセッサ28は、問題または画像あるいはその両方のセットの内容を与えられる、要件の可能な限り多くのものを満足させるサブセット24を含む試験を生成するために、テスト最小化アルゴリズム(本明細書の下記の付録で説明するものなど)を適用し得る。アルゴリズムはさらには、試験が可能な限り短いということを確実にし、そのアルゴリズムは、要件に関する最大の積載量を有する問題を選定する。
【0027】
一部の実施形態では、問題および画像セットは、すべての要件を満足させるとは限らない場合がある。例えば、腋窩での悪性腫瘍を示す所与の画像52に対する所与の要件60が存在する場合があるが、そのような画像が画像セット内に存在しない場合がある。アプリケーション34は、そのような事例を報告し得るものであり、組合せテスト設計が、これらの要件を満足させる試験を生成することを可能とすることになる、データベース(すなわち、問題および画像セット)に対する新しいエントリの最小限のセットを定義するために使用され得る。
【0028】
プロセッサ28は、本明細書で説明する機能を実行するようにソフトウェアまたはファームウェアでプログラムされる、汎用中央処理装置(CPU)または専用埋め込み型プロセッサを備える。ソフトウェアは、例えば、コンピュータ20に電子的な形式でネットワークを介してダウンロードされ得るものであり、またはそのソフトウェアは、光、磁気、もしくは電子のメモリ媒体などの非一時的有形媒体上で提供され得る。あるいは、プロセッサの機能の一部またはすべては、専用もしくはプログラマブルのデジタル・ハードウェア構成要素により、または、ハードウェアおよびソフトウェア要素の組合せを使用して実行され得る。
【0029】
本発明は、システム、方法、またはコンピュータ・プログラム製品あるいはそれらの組合せであり得る。コンピュータ・プログラム製品は、プロセッサが本発明の態様を実行することを引き起こすための、コンピュータ可読プログラム命令を有する、コンピュータ可読記憶媒体(または、複数の媒体)を含み得る。
【0030】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保ち記憶することが可能である有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または、前述の任意の適した組合せであり得るが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙は、以下のもの:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、デジタル・バーサタイル・ディスク(DVD)、memory stick(R)、フロッピー(R)・ディスク、命令が記録されたパンチ・カードまたは溝内の一段高い構造などの機械的に符号化されるデバイス、および、前述の任意の適した組合せを含む。コンピュータ可読記憶媒体を、本明細書では、電波もしくは他の自由伝搬する電磁波、導波管もしくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または、電線を介して伝送される電気信号などの、本質的に一時的な信号であると解釈すべきではない。
【0031】
本明細書で説明するコンピュータ可読プログラム命令は、それぞれのコンピューティング/処理デバイスにコンピュータ可読記憶媒体から、あるいは、外部コンピュータまたは外部記憶デバイスに、ネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワークまたはそれらの組合せを介してダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはそれらの組合せを備え得る。各々のコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスが、コンピュータ可読プログラム命令をネットワークから受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイスの内部のコンピュータ可読記憶媒体での記憶のために転送する。
【0032】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態セッティング・データ、または、1つもしくは複数のプログラミング言語の任意の組合せで書き記される、ソース・コードもしくはオブジェクト・コードのいずれかであり得るものであり、それらのプログラミング言語は、Smalltalk(R)、C++、または類するものなどのオブジェクト指向プログラミング言語、および、「C」プログラミング言語または同様のプログラミング言語などの従来型の手続き型プログラミング言語を含むものである。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アローン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上、および部分的にリモート・コンピュータ上で、または、全体的にリモート・コンピュータもしくはサーバ上で実行し得る。後の方のシナリオではリモート・コンピュータは、ユーザのコンピュータに、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介して接続され得るものであり、または接続は、外部コンピュータに対して(例えば、インターネット・サービス・プロバイダを使用して、インターネットを介して)行われ得る。一部の実施形態では、例えば、プログラマブル論理回路網、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路網が、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路網を個人向け仕様にすることにより、コンピュータ可読プログラム命令を実行し得る。
【0033】
本発明の態様を、本明細書で、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の、フローチャート図またはブロック図あるいはその両方を参照して説明する。フローチャート図またはブロック図あるいはその両方の各々のブロック、および、フローチャート図またはブロック図あるいはその両方でのブロックの組合せが、コンピュータ可読プログラム命令により実装され得るということが理解されよう。
【0034】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行する命令が、フローチャートまたはブロック図あるいはその両方の、1つまたは複数のブロックで指定される機能/行為を実装するための手段を創出するように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。
【0035】
これらのコンピュータ可読プログラム命令はさらには、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の、1つまたは複数のブロックで指定される機能/行為の態様を実装する命令を含む製造品を備えるように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはそれらの組合せを、個別の様式で機能するように指示するものであってもよい。
【0036】
コンピュータ可読プログラム命令はさらには、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の、1つまたは複数のブロックで指定される機能/行為を実装するように、コンピュータ実装プロセスを生み出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0037】
試験生成
図2は、本発明の実施形態による、テスト・スイート最小化アルゴリズムを使用して、試験のためのサブセット24を選択する方法を概略的に示すフロー図である。定義ステップ70でプロセッサ28は、第1の数のカテゴリ46を定義し、割り当てステップ72でプロセッサは、それぞれの第2の数(すなわち、少なくとも1つ)の値48をカテゴリの各々に割り当てる(すなわち、関連付ける)。一部の実施形態では、カテゴリ46への値48の割り当ては、手作業で実行され、カテゴリ・テーブル40に記憶され得るものであり、プロセッサ28は、定義ステップ70および割り当てステップ72を、カテゴリおよび値をカテゴリ・テーブルから検索することにより実行し得る。
【0038】
第1の選択ステップ74でプロセッサ28は、問題セット22または画像セット38あるいはその両方を選択し、それらの問題セット22または画像セット38あるいはその両方の、それぞれの問題42または画像52あるいはその両方は、試験を作成するために使用されることになる。識別ステップ76でプロセッサ28は、各々の所与の問題42に対して、それぞれの第3の数のカテゴリ46を識別する。画像52が試験に含まれることになる実施形態では、プロセッサ28は、1つまたは複数のカテゴリ46を、画像の各々に対して識別する。
【0039】
検索ステップ78でプロセッサ28は、要件セット26を検索するものであり、上で説明したように、要件セット内の各々の所与の要件60は、それぞれの第4の数の要件60を含み、第4の数の要件の各々は、所与のカテゴリ要件62、および所与の値要件64を含む。最終的に、第2の選択ステップ80でプロセッサ28は、(本明細書の下記で、付録で説明するような)アプリケーション34内のテスト・スイート最小化アルゴリズムを実行し、そのアプリケーション34は、要件60の可能な限り多くのものを包含する、最小の数の問題42または画像52あるいはその両方を含むサブセット24を選択し、方法は終了する。本発明の実施形態ではサブセット24は、要件セット26内のカテゴリ要件および値要件を含む(すなわち、包含する)、カテゴリ46およびそれぞれの値48を有する問題42を含む。
【0040】
図でのフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を示す。この点に関して、フローチャートまたはブロック図での各々のブロックは、指定される論理機能を実装するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、またはコードの小部分を表し得る。さらには、一部の代替的実装形態では、ブロックで記述される機能は、図で記述される順序とは無関係に行われ得るということに留意すべきである。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行される場合があり、または、ブロックは時には、含まれる機能性に応じて、逆の順序で実行される場合がある。さらには、ブロック図またはフローチャート図あるいはその両方の各々のブロック、および、ブロック図またはフローチャート図あるいはその両方でのブロックの組合せは、指定される機能もしくは行為を実行する専用ハードウェア・ベースのシステム、または、専用ハードウェアおよびコンピュータ命令の組合せにより実装され得るということが留意されよう。
【0041】
上記で説明した実施形態は、例として記載されるということ、および、本発明は、本明細書の上記で特に示し説明したものに限定されないということが認識されよう。むしろ本発明の範囲は、本明細書の上記で説明した様々な特徴の、組合せおよび部分的組合せの両方、ならびに、前述の説明を読むことで当業者が想到することになる、および、従来技術で開示されない、それらの特徴の変形および変更を含む。
【0042】
付録
相互作用ベースのテスト・スイート最小化(ITSM)アルゴリズム
この付録は、ITSMアルゴリズムの実装形態を提示するものである。本発明の実施形態では、包含されることになる値組合せは、包含範囲対象と称する。包含範囲対象は、デカルト積(例えば、まさに標準的なCTDでのような「サイズtのあらゆる組合せ」)などの、または、包含されることになる値組合せの明示的なセットとしての、異なる形式で与えられ得る。本明細書で説明する実施形態では、テストtは、包含範囲要件cを、cにより指定される値がtで使用されるときに包含する。
【0043】
テストのスイートT=t、i=1…n、包含範囲対象のセットC=c、j=1…m、および、T内の各々のテストにより包含される包含範囲対象を指定するマッピングM:T→2を与えられると、相互作用ベースのテスト・スイート最小化アルゴリズムの目的は、S=s、i=1…k、すなわち、Tが包含するすべての対象を包含するTのサブセットを見つけ出すことである。
S⊆T ただし ∪i=1…nM(t)=∪i=1…kM(s
【0044】
本願では、低オーバヘッド・データ構造を使用する高速アルゴリズムを説明する。
【0045】
最初に、以下の単純で貪欲なアルゴリズムを検討する。
・i=1…nに対して、tが、Sによりまだ包含されない対象を包含するとき、tをSに追加する。
【0046】
ループの終了で、Sが、Tが包含するすべての対象を包含するということを確かめることは容易である。しかしながら、Sが常に最良の解であるとは限らないということを確かめることもまた容易である。例えば、テスト・スイートが2つのテストを有し、それらのテストの第1のものが1つの対象を包含し、第2のものが、同じ対象および別のものを包含するとき、このアルゴリズムは両方のテストを選択することになるが、第2のテストで十分である。
【0047】
このアルゴリズムは、T内の各々のテストに、多くても1回しか調査に寄らない。その時間複雑度は、O(|T|・|C|)である。
【0048】
以下のアルゴリズムは、より貪欲ではなく、より良好な結果を生み出すが、よりハードな動きとなる。
・Sが、Tより少ないものを包含する間は、Tにより包含されるがSによりまだ包含されない、最も多くの対象を包含するテストをSに追加する。
【0049】
このアルゴリズムもまた、正しい結果を計算し、すなわち、最終的にはSは、Tが包含するのと同じ対象を包含する。その結果は最適ではないが、そのアルゴリズムは、上記の例に対して良好に動く。
【0050】
このアルゴリズムは、n−i個のテストに、その第iの反復で調査に寄るものであり、ゆえに、その時間複雑度は、O(|T|・|C|・|S|)である。最悪の事例では|S|=|T|であるが、実際問題として、|S|が|T|より数桁少ないということの頻度は高い。
【0051】
本願では次に、このアルゴリズムを改善するための3つの方途を探求する。2つによって、このアルゴリズムのO()複雑度式内の定数因子が低減し、1つによって、より小さな出力テスト・スイートが結果として生じる。
・不必要な算出を回避する。
・テスト優先順位付け。
・包含されない対象を計数する。
【0052】
不必要な算出を回避する:本願では、包含されない対象が計数される回数の数を有意に低減する改善を導入する。
【0053】
テストが単一の反復で、以て寄与し得る包含されない対象の数は、そのテストが前の反復で、以て寄与し得る数より決して高くないということに留意されたい。ゆえに、現在の反復がすでに、maxSoFar個の新しい対象を以て寄与するテストを見つけ出しているとき、前の反復でmaxSoFarより少ないものを以て寄与し得るいずれのテストに対しても、包含されない対象を計数することのO(|C|)プロセスはスキップされ得る。このことがアルゴリズム1で示されており、testi.prevCountは、testiに対する最新の計算された寄与である。この値が、必ずしもあらゆる反復で計算されないということに留意されたい。
【0054】
【数1】
【0055】
テスト優先順位付け:テストを選択することの優先順位を変更することによって、より小さな出力テスト・スイートが結果として生じる。
【0056】
ここまで本願では、1つのテストを別のものに対して選好する際に、包含されない対象の数を検討するのみであった。典型的にはこのことによって、アルゴリズムが、ただ1つの対象を以て寄与するテストを選択する多くの反復で終了するということが結果として生じる。本願では、より高い重みを、入力でより少なく現れる対象に与え、より高い重みのテストを、より低いものより選好する、いくつもの重み付け体系によって実験した。
【0057】
この手法の背後にある直観的事実は、そのような重みが使用されるとき、最初の反復は、多くの見つけ出すのが困難な対象を包含するテストを選択し、最後の反復は、多くの見つけ出すのが容易な対象を容易に見つけ出すということである。
【0058】
実際のところ、重みを使用することによって、選択されるスイートのサイズは、最高で15%だけ低減し得る。
【0059】
包含されない対象を計数する:最終的にITSMは、いくつものビット演算を一時に実行することによりスピードアップされ得る。本願では、各々のテストから、そのテストが包含する対象へのマッピングを維持する。ITSMを実装するために、包含される対象は、本願では要素と呼ぶ、整数変数でのビットにより表され得るものであり、ビットマップ内のセット・ビットの数を計数することは、要素に対するルックアップ・テーブルを使用して一時に行われる。有意なスピードアップは、16ビット要素 − C/C++での「short int」、またはJava(R)での「char」を使用することにより得られ得る。そのようなビットマップは、各々の入力テストに関連付けられて、各々のテストが包含する対象を表し、さらには、中間結果に対して使用されて、依然として包含されなければならない対象を表す。
【0060】
アルゴリズム2は、testiが以て寄与する包含されない対象の数を計数することを示す。testi.coveredjは、testiにより包含される対象を説明するビットマップ内の第jの要素であり、bitCount[]は、あらゆる可能な要素でのセット・ビットの計数に初期化されるルックアップ・テーブルであり、countは、testiが以て寄与し得る包含されない対象の数である。
【0061】
このスピードアップは、nElementsInBitmap個のbitCount[]テーブルを使用すること、すなわち、アルゴリズム2の4行目でbitCount[new]の代わりにbitCountj[new]を使用することにより、上記の優先順位判定基準と組み合わされ得る。
【0062】
【数2】
【符号の説明】
【0063】
20 コンピュータ
22 問題セット
24 サブセット
26 要件セット
28 プロセッサ
30 メモリ
32 記憶デバイス
34 アプリケーション
36 答えセット
38 画像セット
40 カテゴリ・テーブル
42 問題
44 カテゴリ・レコード
46 カテゴリ
48 値
50 画像レコード
52 画像
54 画像データ・エントリ
56 特徴
58 スコア
60 要件
62 カテゴリ要件
64 値要件
70 定義ステップ
72 割り当てステップ
74 第1の選択ステップ
76 識別ステップ
78 検索ステップ
80 第2の選択ステップ
図1
図2