(58)【調査した分野】(Int.Cl.,DB名)
前記要因推定報知手段は、各クラスタの説明変数を横方向に並べ、各クラスタの識別情報を縦方向に並べて各クラスタにおける説明変数の重要度割合を交差ポイントに設置したテーブルデータを作成し、このテーブルデータのデータに基づき各クラスタにおけるレコードに含まれる説明変数の不適要因度合を示す要因値を求め、報知することを特徴とする請求項2に記載の不適要因指摘装置。
前記要因推定報知手段は要因値として、各クラスタにおいて全説明変数に対する不適説明変数の割合を示すエラー適合率を求めることを特徴とする請求項3または4に記載の不適要因指摘装置。
前記要因推定報知手段は、各クラスタの重要度割合の合計値と閾値に基づき信憑性値を求めると共に各クラスタにおいて全説明変数に対する不適説明変数の割合を示すエラー適合率を求め、更に要因値として、前記信憑性値と前記エラー適合率の平均値である指標値を求めることを特徴とする請求項3に記載の不適要因指摘装置。
前記コンピュータを前記要因推定報知手段として、説明変数のランキングに基づき説明変数の重要度割合を求め、報知を行うように機能させることを特徴とする請求項10に記載の不適要因指摘用プログラム。
前記コンピュータを前記要因推定報知手段として、要因値について、各クラスタの重要度割合の合計値と閾値に基づき信憑性値を求めるように機能させることを特徴とする請求項11に記載の不適要因指摘用プログラム。
前記コンピュータを前記要因推定報知手段として、要因値について、各クラスタにおいて全説明変数に対する不適説明変数の割合を示すエラー適合率を求めるように機能させることを特徴とする請求項12または13に記載の不適要因指摘用プログラム。
前記コンピュータを前記要因推定報知手段として、各クラスタの重要度割合の合計値と閾値に基づき信憑性値を求めると共に各クラスタにおいて全説明変数に対する不適説明変数の割合を示すエラー適合率を求め、更に要因値として、前記信憑性値と前記エラー適合率の平均値である指標値を求めるように機能させることを特徴とする請求項12に記載の不適要因指摘用プログラム。
前記コンピュータを前記第2のクラスタリング手段として、樹形図を作成してクループ分けするように機能させることを特徴とする請求項16に記載の不適要因指摘用プログラム。
【背景技術】
【0002】
本発明に係る不適要因指摘装置は、検証装置の結果に対し指摘し、支援するものである。検証装置の対象装置である例えばシステムLSIは、微細化技術の進歩によってシステム規模が増大してきた。LSI設計には数々のスキルが必要とされ、十分なリソース確保が難しく、IP(Intellectual Property)の活用や単体検証技術によりシステムレベルの検証範囲を限定するなど、広がる検証空間を抑えながらシステム検証の品質を維持する工夫が採られている。
【0003】
しかしながら、それでも仕様から想定される検証の組み合わせは膨大であり、その検証空間を検証者がパターンを作成して検証することは不可能に近い。そこで、仕様に則って検証する組み合わせを自動的に行う検証手法にランダム検証が開発されている。ランダム検証は入力をランダムで発生し、対象システムを検証するものである。
【0004】
しかし、対象の回路の検証成熟度が低い場合はエラー結果が大量に出力されるため、リソースを投入して解析をする価値が問われる。多くの場合、検証成熟度が高くなってからランダム検証を本格運用するケースが多い。仮に、大量のエラー結果についてランダムの入力群から要因が特定できる場合には、または、傾向を予測する結果が得られる場合には、検証期間の早い時期からランダム検証を行うことによって原因を特定できるレベルで運用でき、回路や仕様の不備を早期に発見し、検証期間の短縮につなげることが可能である。
【0005】
一方、故障検証装置としては、特許文献1に記載のものが知られている。つまり、LSI回路について静的タイミング検証を施して得られるタイミング検証結果において検証対象とされた回路構成部を故障生成箇所として抽出する回路認識部と、タイミング検証結果中の信号伝達の遅延時間及びタイミングに関する情報を用いて各故障生成箇所に応じた遅延故障を生成する故障値算出部と、検証対象のテストパターンを用いてLSI回路の正常回路及び各故障箇所に遅延故障を挿入した故障回路について論理シミュレーションを実行し、両論理シミュレーションの結果からテストパターンによる遅延故障の検出可否を検証する故障検証部とを備えるものである。
【0006】
上記特許文献1の発明では、テストパターンによって遅延が原因となる故障の検出可否を検証することができ、また、静的タイミング生成装置によるタイミング検証結果に要する時間を短縮可能であるという効果を得ることができる。
【0007】
特許文献2には、半導体集積回路のネットリストと故障候補ネット名のリストと故障を検証するテキストベクトルでの各ネットの期待値を用いて、期待値及び推定値付のネットリストとリンクしたレイアウトを表示し、更に故障候補のみのネットリストを用いて論理回路を表示することが開示されている。
【0008】
上記によって期待値/推定値付の故障伝搬推定経路のみの小規模なネットリストを作成することで、ネットリストとレイアウトをリンクした状態でのレイアウト表示において、故障候補の検証に必要な配線及びその位置情報を容易に取得できるという効果を得ることができるものである。
【0009】
特許文献3には、縮退故障以外の半導体集積回路装置の故障についても故障診断でき、その診断結果の確率を算出することを目的とする故障診断装置が開示されている。
【0010】
この特許文献3の発明は、テストパターンを用いた検査におけるフェイルの原因となる可能性のある内部回路の故障を初期被疑故障抽出手段により初期被疑故障として抽出し、この初期被疑故障に対して故障検証手段により故障シミュレーションを実施して検査における各フェイルの原因となる内部回路故障の候補を検出するものである。
【0011】
特許文献4には、スキャンFFの情報を含む回路情報(1601)とレイアウト後の遅延情報(1602)から回路中のスキャンFFの同時動作時間のばらつきを統計処理により計算し、さらにマスクレイアウトの情報による各レーンに配置された同時変化を期待されるスキャンFFの数から計算を行い(1603)、電源電圧ドロップの起こりやすさを推定する(1604)ことが開示されている。どのスキャンFFのばらつきを統計処理するかについては、外部から情報を与える(1605)、というものである。
【0012】
上記のように、特許文献1〜4に記載の検証装置等は、ファイル原因を特定しようとするものであるが、検証期間の早い時期からランダム検証を行うような場合に適用し難いものである。つまり、大量のファイル結果についてランダム入力群から優先度の高い要因候補を示すような、検証期間の早い時期からランダム検証を行うものはなかった。
【0013】
上記に対し、一般的な要因抽出の手法として機械学習を用いるものが特許文献5に示されている。この特許文献5に記載の発明は、目的変数の変動に対して寄与するその他変数の組み合わせを効率的に特定し、説明変数(要因)として抽出する。この発明に係る要因抽出システムは、事象変数の組み合わせとその組み合わせがイベントデータ内に存在するか否かを表す2値数とによって構成される共変複合変数を定義し、共変複合変数と目的変数との間の相関を求めることにより、寄与要因を抽出するものである。
【発明の概要】
【発明が解決しようとする課題】
【0015】
上記の特許文献5に記載の発明は、目的変数の変動に対して寄与するその他変数の組み合わせを特定する場合に有効であるものの、大量のファイル結果についてランダム入力群から優先度の高い要因候補を示すことには及んでいない。
【0016】
本発明は上記のようなLSI等に対する検証の現状に鑑みなされたもので、その目的は、大量のファイル結果についてランダム入力群から優先度の高い要因候補を示すように用いることができ、回路やプログラムにおける仕様の不備を早期に発見し、検証期間の短縮につなげることを可能とする不適要因指摘装置及び不適要因指摘用プログラムを提供することである。
【課題を解決するための手段】
【0017】
本発明に係る不適要因指摘装置は、内部状態が設定され、入力が与えられると、所定の期待値出力を行う対象装置を検証する検証装置の結果を用いる不適要因指摘装置において、前記対象装置に設定する内部状態設定情報と入力する入力情報と、出力が期待値に対して適正か不適かを示す適不適情報とを並べたレコードデータを、複数の内部状態設定情報及びまたは複数の入力情報によって変化される複数のレコードを用意するレコードデータ用意手段と、
前記レコードデータ用意手段により用意された複数のレコードに対して、パターンマイニングを行って説明変数の重要度を求める次元圧縮手段と、前記内部状態設定情報と入力情報を説明変数とし、機械学習を行う第1のクラスタリング手段であって、目的変数が不適であるレコードデータについて、含まれる説明変数の配列パターンに応じて複数のクラスタに分類する第1のクラスタリング手段と、前記適不適情報を目的変数として、目的変数が適正であるレコードデータと前記クラスタに分類されたレコードデータを用いて機械学習を行い、各クラスタ毎に説明変数のランキングを求めるパターンマイニングを行う第1のパターンマイニング手段と、前記ランキングに基づき不適と関連する不適要因である説明変数及びまたは当該不適要因である説明変数が含まれるレコードを推定し、報知する要因推定報知手段とを具備することを特徴とする。
【0018】
本発明に係る不適要因指摘装置では、前記要因推定報知手段は、説明変数のランキングに基づき説明変数の重要度割合を求め、報知を行うことを特徴とする。
【0019】
本発明に係る不適要因指摘装置では、前記要因推定報知手段は、各クラスタの説明変数を横方向に並べ、各クラスタの識別情報を縦方向に並べて各クラスタにおける説明変数の重要度割合を交差ポイントに設置したテーブルデータを作成し、このテーブルデータのデータに基づき各クラスタにおけるレコードに含まれる説明変数の不適要因度合を示す要因値を求め、報知することを特徴とする。
【0020】
本発明に係る不適要因指摘装置では、前記要因推定報知手段は要因値として、各クラスタの重要度割合の合計値と閾値に基づき信憑性値を求めることを特徴とする。
【0021】
本発明に係る検証装置では、前記要因推定報知手段は要因値として、各クラスタにおいて全説明変数に対する不適説明変数の割合を示すエラー適合率を求めることを特徴とする。
【0022】
本発明に係る不適要因指摘装置では、前記要因推定報知手段は、各クラスタの重要度割合の合計値と閾値に基づき信憑性値を求めると共に各クラスタにおいて全説明変数に対する不適説明変数の割合を示すエラー適合率を求め、更に要因値として、前記信憑性値と前記エラー適合率の平均値である指標値を求めることを特徴とする。
【0023】
本発明に係る不適要因指摘装置では、前記要因推定報知手段は、各クラスタの説明変数を横方向に並べ、各クラスタの識別情報を縦方向に並べて各クラスタにおける説明変数の重要度割合を交差ポイントに設置したテーブルデータを作成し、このテーブルデータの各クラスタ類似度に基づき、複数のグループに分類する第2のクラスタリング手段と、目的変数が適正であるレコードデータと前記グループに分類されたクラスタの元のレコードデータを用いて機械学習を行い、各クラスタ毎に説明変数のランキングを求めるパターンマイ二ングを行う第2のパターンマイ二ング手段と、前記ランキングに基づき不適と関連する要因の説明変数及びまたは当該説明変数が含まれるレコードを推定し、報知する最終報知手段とを具備することを特徴とする。
【0024】
本発明に係る不適要因指摘装置では、前記第2のクラスタリング手段は、樹形図を作成してクループ分けすることを特徴とする。
【0025】
本発明に係る不適要因指摘装置では
、前記次元圧縮手段は、前記レコードデータ用意手段により用意された複数のレコードに対して、パターンマイニングを行って説明変数の重要度を
求める処理に加えて、各レコードに含まれる説明変数中の重要度の
低い説明変数を除去することを特徴とすることを特徴とする。
【0026】
本発明に係る不適要因指摘用プログラムは、内部状態が設定され、入力が与えられると、所定の期待値出力を行う対象装置を検証する検証装置の結果を用いるコンピュータを、前記対象装置に設定する内部状態設定情報と入力する入力情報と、出力が期待値に対して適正か不適かを示す適不適情報とを並べたレコードデータを、複数の内部状態設定情報及びまたは複数の入力情報によって変化される複数のレコードを用意するレコードデータ用意手段、
前記レコードデータ用意手段により用意された複数のレコードに対して、パターンマイニングを行って説明変数の重要度を求める次元圧縮手段、前記内部状態設定情報と入力情報を説明変数とし、機械学習を行う第1のクラスタリング手段であって、目的変数が不適であるレコードデータについて、含まれる説明変数の配列パターンに応じて複数のクラスタに分類する第1のクラスタリング手段、前記適不適情報を目的変数として、目的変数が適正であるレコードデータと前記クラスタに分類されたレコードデータを用いて機械学習を行い、各クラスタ毎に説明変数のランキングを求めるパターンマイニングを行う第1のパターンマイニング手段、前記ランキングに基づき不適と関連する不適要因である説明変数及びまたは当該不適要因である説明変数が含まれるレコードを推定し、報知する要因推定報知手段として機能させることを特徴とする。
【0027】
本発明に係る不適要因指摘用プログラムでは、前記コンピュータを前記要因推定報知手段として、説明変数のランキングに基づき説明変数の重要度割合を求め、報知を行うように機能させることを特徴とする。
【0028】
本発明に係る不適要因指摘用プログラムでは、前記コンピュータを前記要因推定報知手段として、各クラスタの説明変数を横方向に並べ、各クラスタの識別情報を縦方向に並べて各クラスタにおける説明変数の重要度割合を交差ポイントに設置したテーブルデータを作成し、このテーブルデータのデータに基づき各クラスタにおけるレコードに含まれる説明変数の不適要因度合を示す要因値を求め、報知するように機能させることを特徴とする。
【0029】
本発明に係る不適要因指摘用プログラムでは、前記コンピュータを前記要因推定報知手段として、要因値について、各クラスタの重要度割合の合計値と閾値に基づき信憑性値を求めるように機能させることを特徴とする。
【0030】
本発明に係る不適要因指摘用プログラムでは、前記コンピュータを前記要因推定報知手段として、要因値について、各クラスタにおいて全説明変数に対する不適説明変数の割合を示すエラー適合率を求めるように機能させることを特徴とする。
【0031】
本発明に係る不適要因指摘用プログラムでは、前記コンピュータを前記要因推定報知手段として、各クラスタの重要度割合の合計値と閾値に基づき信憑性値を求めると共に各クラスタにおいて全説明変数に対する不適説明変数の割合を示すエラー適合率を求め、更に要因値として、前記信憑性値と前記エラー適合率の平均値である指標値を求めるように機能させることを特徴とする。
【0032】
本発明に係る不適要因指摘用プログラムでは、コンピュータを前記要因推定報知手段として、各クラスタの説明変数を横方向に並べ、各クラスタの識別情報を縦方向に並べて各クラスタにおける説明変数の重要度割合を交差ポイントに設置したテーブルデータを作成するように機能させ、前記コンピュータを前記テーブルデータの各クラスタ類似度に基づき、複数のグループに分類する第2のクラスタリング手段、目的変数が適正であるレコードデータと前記グループに分類されたクラスタの元のレコードデータを用いて機械学習を行い、各クラスタ毎に説明変数のランキングを求めるパターンマイ二ングを行う第2のパターンマイ二ング手段、前記ランキングに基づき不適と関連する要因の説明変数及びまたは当該説明変数が含まれるレコードを推定し、報知する最終報知手段として機能させることを特徴とする。
【0033】
本発明に係る不適要因指摘用プログラムでは、前記コンピュータを前記第2のクラスタリング手段として、樹形図を作成してクループ分けするように機能させることを特徴とする。
【0034】
本発明に係る不適要因指摘用プログラムでは、前記コンピュータを、
前記次元圧縮手段として前記レコードデータ用意手段により用意された複数のレコードに対して、パターンマイニングを行って説明変数の重要度を
求め処理に加えて、各レコードに含まれる説明変数中の重要度の低い説明変数を除去するように機能させることを特徴とする。
【発明の効果】
【0035】
本発明によれば、大量のファイル結果についてランダム入力群から優先度の高い要因候補を示すように用いることができ、回路や仕様の不備を早期に発見し、検証期間の短縮につなげることを可能とできる。
【図面の簡単な説明】
【0036】
【
図1】本発明に係る不適要因指摘装置の実施形態の構成図。
【
図2】本発明に係る不適要因指摘装置に用いるデータの一例を示す図。
【
図3】本発明に係る不適要因指摘装置に用いるデータの一例を示す図。
【
図4】本発明に係る不適要因指摘装置に用いるデータの一例を示す図。
【
図5】本発明に係る不適要因指摘装置の実施形態のクラスタリング動作の説明図。
【
図6】本発明に係る不適要因指摘装置の実施形態の重み付け動作の説明図。
【
図7】本発明に係る不適要因指摘装置の実施形態のパターンマイ二ング動作の説明図。
【
図8】本発明に係る不適要因指摘装置の実施形態の要部構成図。
【
図9】本発明に係る不適要因指摘装置に用いるデータの一例を示す図。
【
図10】本発明に係る不適要因指摘装置の実施形態の重み付け動作を説明するフローチャート。
【
図11】本発明に係る不適要因指摘装置の実施形態の重み付け動作を説明するフローチャート。
【
図12】本発明に係る不適要因指摘装置に用いるデータの一例を示す図。
【
図13】本発明に係る不適要因指摘装置に用いるデータの一例を示す図。
【
図14】本発明に係る不適要因指摘装置に用いるデータ処理の一例を示す図。
【
図15】本発明に係る不適要因指摘装置に用いるデータ処理の一例を示す図。
【
図16】本発明に係る不適要因指摘装置に用いるデータ処理の一例を示す図。
【
図17】本発明に係る不適要因指摘装置に用いるデータ処理の一例を示す図。
【
図18】本発明に係る不適要因指摘装置に用いるデータ処理の一例を示す図。
【
図19】本発明に係る不適要因指摘装置に用いるデータ処理の一例を示す図。
【
図20】本発明に係る不適要因指摘装置のパターンマイ二ング動作の説明図。
【
図21】本発明に係る不適要因指摘装置の実施形態の動作を説明するフローチャート。
【
図22】本発明に係る不適要因指摘装置の類似性によるグループ化動作の説明図。
【
図23】本発明に係る不適要因指摘装置の類似性によるグループ化動作の説明図。
【
図24】本発明に係る不適要因指摘装置の類似性によるグループ化動作の説明図。
【
図25】本発明に係る不適要因指摘装置の類似性によるグループ化動作の説明図。
【
図26】本発明に係る不適要因指摘装置の実施形態の第2のパターンマイ二ング動作の説明図。
【
図27】本発明に係る不適要因指摘装置の実施形態による報知結果の一例を示す図。
【発明を実施するための形態】
【0037】
以下添付図面を参照して、本発明に係る不適要因指摘装置及び不適要因指摘用プログラムの実施形態を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。本発明に係る不適要因指摘装置の実施形態は、
図1に示されるように構成される。実施形態に係る不適要因指摘装置10は、検証の対象装置に対する検証を行う検証本体装置100を前提とした装置である。
【0038】
検証本体装置100は、パターン・ランダム発生部110、ドライバ部120、モニタ・チェック部130を備えている。パターン・ランダム発生部110は、対象装置200に対し、対象装置200の内部状態を設定するための内部状態設定情報や、対象装置200へ与えて所定の出力を得るための入力情報を発生させるものである。ドライバ部120は、パターン・ランダム発生部110により発生された内部状態設定情報に基づき内部状態の設定を行い、また、パターン・ランダム発生部110により発生された入力情報に基づく入力信号を送出するものである。モニタ・チェック部130は、対象装置200から出力される情報をモニタしてログをログファイル140へ出力し、また、期待値が出力されているか否かチェックして、出力が期待値に対して適正か不適かを示す適不適情報などの出力を行うものである。
【0039】
不適要因指摘装置10には、データ用意部20と、要因解析部30とが備えられている。データ用意部20には、レコードデータ用意手段11と適不適情報分離部14とが備えられている。レコードデータ用意手段11は、上記対象装置200に設定する内部状態設定情報と入力する入力情報と、出力が期待値に対して適正か不適かを示す適不適情報とを並べたレコードデータを用意するものである。レコードデータとしては、複数の内部状態設定情報及びまたは複数の入力情報によって変化される複数のレコードを用意するものである。
【0040】
本実施形態では、機械学習を用いてデータ処理を行う。この機械学習において、上記
内部状態設定情報と入力情報を説明変数とし、必要に応じて上記適不適情報を目的変数として処理を行う。このため、レコードデータ用意手段11により用意されるレコードデータテーブル12は
図2に示すように記述することができる。即ち、検証本体装置100においてシミュレーションが実行されたときに発行された管理用の実行番号が縦方向に付されており、1行が1レコードである。
【0041】
上記実行番号から行方向には、順に、実行コマンド、目的変数の欄とされている。実行コマンドは、シミュレーションを行うためのコマンド情報であり、レコードに、この情報を含めることによって、不適(フェイル(FAIL))要因の指摘がなされた後のシミュレーションを行う場合に、或いは、適(パス(PASS))のシミュレーションを行う場合に、必要なコマンド情報を取り出し可能となっている。実行コマンドの欄の右隣にセットされる目的変数は、ここでは「適」を示す「PASS」と、「不適」を示す「FAIL」とのいずれかにより構成される。
【0042】
目的変数の欄の右隣横方向には、説明変数の欄が複数欄設けられている。説明変数の欄の数は、検証本体装置100において用いられる説明変数の数とすることができる。各説明変数に対応して、各レコードにおいては説明変数の値がセットされる。第1レコード(実行番号「0」)のレコードでは、「説明変数1」に対応して値が「0」であるから、「説明変数1」を用いていない、ということを意味する。また、第1レコード(実行番号「0」)のレコードでは、「説明変数2」に対応して値が「4」であるから、「説明変数1」は値が「4」として用いられることを示す。
【0043】
上記のレコードデータテーブル12は、レコードデータ用意手段11が、上記対象装置200に設定する内部状態設定情報と入力する入力情報とを説明変数としてデータ用意部20から受け取り、この後において要因解析部30から出力される適不適情報を当該説明変数に対応する目的変数として取り込み、作成する。勿論、先に
図2のように作成されたレコードデータテーブル12をレコードデータ用意手段11が入手し、これを用いても良い。
【0044】
本実施形態では、次元圧縮手段25を備える。次元圧縮手段25は、上記レコードデータ用意手段11により用意されレコードデータテーブル12に格納された複数(全て)のレコードに対して、パターンマイ二ングを行って説明変数の重要度を求め、各レコードに含まれる説明変数中の重要度の低い説明変数を除去するものである。
【0045】
次元圧縮手段25による処理では、レコードデータの全てに変化なく含まれている説明変数や要因特定に寄与する確率が低い説明変数などを除外する。レコードデータ用意手段11により用意された全てのレコードを対象データとして、パターンマイニングを行って各説明変数の重要度を求め、重要度の低い説明変数を除外する。重要度の絶対値は使用せず、重要度割合に変換して割合の高い順に累積する。この累積値について外部から閾値とすべき値を決められるようにしても良い。また、レコード数が少ない場合の対応として以下のような処理を行い、除外説明変数を決めても良い。
【0046】
その1:パターンマイニングを行い各説明変数の重要度割合を出す。
その2:-Log2(重要度割合)を算出する(エントロピー)。
その3:説明変数の重要度ランキングを求め、ランキングの所定%以降は不採用とする。
その4:レコード数がその2のエントロピーの2倍になるところまでの説明変数を採用する(ただし、「その3」の条件による削除により、当該「その4」の条件が該当しないこともある)。このようにして得られた説明変数の重要度の情報は、テーブル31へ格納しておくことができる。なお、次元圧縮手段25による次元圧縮処理は、必須なものではない。
【0047】
上記のようにして、次元圧縮された(或いは、次元圧縮なしの)レコードデータがテーブル32に保存される。この保存されたレコードデータは、適不適情報分離部14によって、目的変数がPASSである適レコードデータと、目的変数がFAILである不適レコードデータとにより分離される。適レコードデータは適テーブル33に記憶され、不適レコードデータは不適テーブル34に記憶される。
図3に適テーブル33における適レコードデータの一例を示し、
図4に不適テーブル34における不適レコードデータの一例を示す。
【0048】
本実施形態では、第1のクラスタリング手段41が備えられている。第1のクラスタリング手段41は、上記
内部状態設定情報と入力情報を説明変数とし、機械学習を行うものであって、適不適情報が不適である不適テーブル34のレコードデータについて、含まれる説明変数の配列パターンに応じて複数のクラスタに分類するものである。
【0049】
例えば、
図5に示されるように、適不適情報が不適であるレコードデータF1、F2、F3、F4、F5があるとする。レコードデータF1、F2、F3、F4、F5は、それぞれが同じ説明変数から構成され所定の配列パターンを持つものとする。ただし、レコードデータF1、F3においては、説明変数の値や配列パターンが異なっており、それぞれ2クラスタ(グループ)に分類されるものとする。ここで、
図5では、レコードデータF1、F2、F3、F4、F5が、7つのクラスタ(グループ)G1、G2、G3、G4、G5、G6、G7に分類した例を示している。なお、クラスタリングの手法は、公知の手法で良く、例えば、「Means」などの手法を用いることができる。
【0050】
上記クラスタリングに際しては、レコードデータに含まれている説明変数に対し重み付けを行って、このような重み付けされた説明変数を含むレコードデータをクラスタリングすることができる。
図1に示した実施形態では、重み付け手段42が備えられている。重み付け手段42は、重みテーブル35に記憶されている初期重み値を用いて重み付けを行うことができる。
【0051】
この初期重みについて
図6を参照して説明する。検証対象について、例えば回路の場合には回路ロジックの出力側からの段数や影響ロジック規模(ゲート数など)を考慮して決めることができる。つまり、機能を大きく分けるような段(回路部分)は、その影響するロジック規模が大きいため重みを大きくする。逆に、影響ロジック規模が小さい入力は重みを小さくすることができる。例えば階層型クラスタリングを行う場合、
図6の樹形図の最初の枝分かれについて重みを大きくした説明変数で分岐することができる。即ち、第1段説明変数、第2段説明変数、第3段説明変数とあるときに、重みは、第1段説明変数>第2段説明変数>第3段説明変数とすることができる。
【0052】
重み付け手段42は、次元圧縮手段25が説明変数の次元圧縮において求めた重要度情報が格納されたテーブル31内の重要度情報に基づき、重みテーブル35に予め設定されている初期重みに対して付加あるいは変更する処理を行うことが可能である。例えば、上記において示した初期重みの算出考え方に対して、
図6の重みが最も小である第3段説明変数について、テーブル31の重要度情報に基づいて重みを増やすことで、第1のクラスタリング手段41によるクラスタリングの前に、特徴化し易い(クラスタリングし易い)レコードテーブルデータへ変更することを可能にする。
【0053】
図6における(重み大)の第1段説明変数や(重み中)の第2段説明変数についても、次元圧縮手段25が説明変数の次元圧縮において使用した
第1のパターンマイニング手段22によって得られた重要度から重みを変更することも可能とする。また、例えば、外部からどの重みランクについて初期重みを変更するかの指定を行って、値を変更するようにしても良い。
【0054】
第1のクラスタリング手段41によるクラスタリングの結果のレコードデータは、テーブル36に格納される。更に、本実施形態では、第1のパターンマイ二ング手段22が備えられている。第1のパターンマイ二ング手段22は、上記適不適情報を目的変数として、目的変数が適正であるレコードデータと上記クラスタに分類されテーブル36に格納されたレコードデータを用いて機械学習を行い、各クラスタ毎に説明変数のランキングを求めるパターンマイ二ングを行うものである。
【0055】
即ち、
図5により説明したように、G1〜G7の7つのクラスタに分類されたレコードデータと、目的変数が適正であるレコードデータ40(
図7)を用いて、クラスタ毎にパターンマイ二ングが行われる。パターンマイ二ングとしては、ランダムフォレストやディープラーニングを採用することができる。パターンマイ二ングの実際の処理としては、次元圧縮手段25による処理において説明した手法を用いることができる。
【0056】
以上の処理の結果、
図7に示されるように、G1のクラスタに分類されたレコードデータと、レコードデータ40を用いたパターンマイ二ングの結果であるG1説明変数ランキングのデータR1、G2のクラスタに分類されたレコードデータと、レコードデータ40を用いたパターンマイ二ングの結果であるG2説明変数ランキングのデータR2、・・・(中略)・・・、G7のクラスタに分類されたレコードデータと、レコードデータ40を用いたパターンマイ二ングの結果であるG7説明変数ランキングのデータR7が得られる。
【0057】
本実施形態では、要因推定報知手段44を備えている。要因推定報知手段44は、上記ランキング(G1〜G7説明変数ランキング)に基づき不適と関連する不適要因である説明変数及びまたは当該不適要因である説明変数が含まれるレコード70を推定し、報知する。
【0058】
この不適と関連する不適要因である説明変数と、この不適と関連する要因の説明変数が含まれるレコードを推定するために、要因推定報知手段44には、
図8に示すように、重要度クラスタリング用テーブルデータ(重要度テーブルデータ)を得るためのテーブル化手段45が備えられている。
図8は、要因推定報知手段44の詳細を示す構成図である。テーブル化手段45は、第1のパターンマイ二ング手段22により得られたテーブル31に格納されているG1〜G7説明変数ランキングデータ31A(
図9)を用いる。また、テーブル化手段45は、
図10、
図11に示されるフローチャートによる動作を行い、
図4に示された不適テーブル34における不適レコードデータからレコード毎に説明変数を抜き出し、行方向の項目として並べ、交差する欄に説明変数の値をセットした
図12の如き不適‐説明変数テーブル46を作成する(S11)。不適‐説明変数テーブル46において「0」が設定されている場合には、対応する説明変数が当該クラスタに含まれていないことを意味する。
【0059】
また、テーブル化手段45は、G1〜G7説明変数ランキングデータ31A(
図9)の各クラスタ毎の重要度から重要度割合を計算し、重要度割合テーブル47を作成する(S12)。
図13には、G1説明変数ランキングデータから重要度割合を計算し、G1重要度割合テーブルを作成する工程が示されている。これと同様にして、G2〜G7説明変数ランキングデータについても、これらからクラスタ毎に重要度割合を計算し、G2〜G7重要度割合テーブル47(
図12)を作成することができる。
【0060】
更に、テーブル化手段45は、G1〜G7説明変数ランキングデータ31A(
図9)の重要度を、不適‐説明変数テーブル46における説明変数に共通する値で置換した説明変数‐共通値対応テーブル48(
図10)を作成する(S13)。
図14には、G1説明変数ランキングデータ(
図14(a))の重要度を、不適‐説明変数テーブル(
図14(b))における説明変数に共通する値で置換した説明変数‐共通値対応テーブル(
図14(c))が示されている。ここで、説明変数の値が同じでない場合(0と1が混在するなど)には、当該説明変数は用いられない。
【0061】
また、テーブル化手段45は、説明変数‐共通値対応テーブル48(
図10)に基づき、説明変数と共通値を一体化した「説明変数_共通値」をタイトルとし、ステップS12において作成した重要度割合テーブル47における上記説明変数に対応する重要度割合を取り出して「説明変数_共通値」に対応付けた各クラスタ毎の説明変数_共通値‐重要度割合テーブル55(
図10)を作成する(S14)。
図15には、説明変数‐共通値対応テーブル48(
図15(a))に基づき、説明変数と共通値を一体化した「説明変数_共通値」を項目(タイトル)とし(
図15(c))、重要度割合テーブル(
図15(b))における上記説明変数に対応する重要度割合を取り出して「説明変数_共通値」に対応付けたG1クラスタの説明変数_共通値‐重要度割合テーブル(
図15(c))が作成されている。同様に、G2〜G7クラスタの説明変数_共通値‐重要度割合テーブルについても作成を行う。
【0062】
上記によりG1〜G7クラスタの説明変数_共通値‐重要度割合テーブル55が作成される。テーブル化手段45は、G1〜G7クラスタの説明変数_共通値‐重要度割合テーブル55から全ての説明変数_共通値を取り出して重複を削除し、項目(タイトル)とした説明変数_共通値リスト56を作成する(S15)。
図16には、G1〜G7クラスタの説明変数_共通値‐重要度割合テーブル55‐1〜55‐7(
図16(a))から全ての説明変数_共通値を取り出してリストを作成し(
図16(b))、重複を削除し、項目(タイトル)となる説明変数_共通値リスト(
図16(c))を得ることが示されている。
【0063】
テーブル化手段45は、縦方向に、先にクラスタリングにより分類されたクラスタの識別番号を割り当て、横方向に上記ステップS15においてリスト化された説明変数_共通値を並べてクラスタ毎‐説明変数_共通値・重要度テーブル57を作成する(S16)。
図17には、このようにして作成され、未だ中身のデータが配置されていないクラスタ毎‐説明変数_共通値・重要度テーブル57が示されている。
【0064】
続いてテーブル化手段45は、上記クラスタ毎‐説明変数_共通値・重要度テーブル57に対し、ステップS14において作成した各クラスタ毎の説明変数_共通値‐重要度割合テーブル55の内容データである重要度割合を全て、該当するクラスタ番号の行における該当する説明変数_共通値の列に対応して設定する(
図11、S17)。
図18には、G1クラスタの説明変数_共通値‐重要度割合テーブル55の内容データである重要度割合の全てを、クラスタ毎‐説明変数_共通値・重要度テーブル57の該当クラスタの行に設定した状態を示している。また、
図19には、全てのクラスタの説明変数_共通値‐重要度割合テーブル55の内容データである重要度割合の全てを、クラスタ毎‐説明変数_共通値・重要度テーブル57の該当クラスタの行に設定した状態を示している。以上のようにして各クラスタには、それぞれに一通りの説明変数_共通値の重要度が定まる。上記で求められたクラスタ毎‐説明変数_共通値・重要度テーブルを、単に重要度テーブル58(
図11)と称し、重要度テーブル58のデータを重要度テーブルデータと称する。
【0065】
要因推定報知手段44は、第2のクラスタリング手段28を備えている。第2のクラスタリング手段28は、上記テーブル化手段45により作成された各クラスタの重要度テーブルデータの類似度に基づき、クラスタリングを行うものである。第2のクラスタリング手段28によるクラスタリングについては、上記において作成したクラスタ毎‐説明変数_共通値・重要度テーブル57の重要度テーブルデータに対してクラスタリングを行う。即ち、この処理により各クラスタの重要度に対して、類似度に応じた分類が行われる。このクラスタリングで特徴が顕在化されたグループに分けられたクラスタは、含まれる説明変数が同一の配列パターンを含んでいる可能性が高いはずであると推定する。クラスタリングによる分類の判断として、どこを境界とするかについては、次に説明する解析処理手段29による解析処理を行うことで判断することができる。ここに、パターンとは、目的変数が不適(FAIL)となる場合における説明変数の組合せ(入力順を含んでも良い)を指すものとする。
【0066】
第2のクラスタリング手段28にてクラスタリングを行うことで
図20に示す樹形図(テンドログラム)を生成することができる。解析処理手段29は、上記第2のクラスタリング手段28によるクラスタリングによって得られたクラスタを、上記重要度によりグループに分類するものである。別言すれば、解析処理手段29は第2のクラスタリング手段28の処理結果である樹形図について類似度に応じた分割数を決める(分類数を決める)処理を行う。解析処理では、樹形図について分割数を2からN(外部から指定可能)について
図21に示すフローチャートに対応する処理を行い、分割数(類似グループ数)を決める。
【0067】
樹形図の最上の分岐点から順次下の分岐点においてグループ化する(S21)。最初は、
図20に示すように、分岐点d1〜d4中の分岐点d1において、2グループに分割する。ここでグループ化されたクラスタデータについてパターンマイニングを行い、
図17における各説明変数(列項目)の重要度を得る(S22)。ここで重要度を基に信頼性を評価する指標値を求める(S23)。指標値は、そのグループから候補として挙げる説明変数群が結果に対して正答できるかを意味するものとする。指標値を求めると、指標値が所定より低いかを判定し(S24)、低い場合には、分割数を1増加させて(S25)、ステップS22へ戻って処理を続ける。ステップS24においてNOとなると分割のグループ数を確定させて(S26)、終了とする。
【0068】
上記の処理によりG1〜G7クラスタを、2グループに分けた場合を
図22(a)に示し、3グループに分けた場合を
図22(b)に示し、4グループに分けた場合を
図22(c)に示す。本実施形態では、分割数を増やすごとに指標値を求めて評価する。この指標値は固定クラスタ数に分割されたデータを重要度の類似度や不適と関連する要因へ繋がる要因値あるいは要因値を含むものとすることができ、本実施形態では、指標値を以下のように算出することができる。
【0069】
要因値に含まれる「信憑性値」
<考え方>
クラスタのレコードにおける説明変数の配列パターンの分類が完全にできていたとすると、最後にまとめられたクラスタをパターンマイニングした場合には、クラスタのレコードにおける配列パターンの同じ説明変数が重要度上位でかつ値が大きくなり、その説明変数がクラスタ内で同一値に一意に決まるはずであるという仮定の基に、分類の精度を表すための値である。
<計算式>
ソート条件:パターンマイングから算出した重要度ランキングが高い順から降順に並べ、上位から合計する。
対象:重要度の累計を算出し、それが閾値となるまで、説明変数に対応する重要度を合計する。
条件:1件ずつデータを検索し、同じクラスタで同一値になっていない説明変数に対応する重要度はゼロとする。
計算式:信憑性=Σ重要度割合(%)÷(閾値/100)
「信憑性値」が低い場合の解釈(どうなると低くなるか):
低い場合は「目的変数がPASSとなるかFAILとなるかを分ける要因の説明変数として重要であるが、同一値でない」説明変数が存在する場合。
・クラスタリングにおいて値の分離が不十分→同じFAILの原因として分離できていない。
・○○以上という数値の大小で複数の値が、1レコードにおける説明変数の配列パターンに含まれている場合。
【0070】
要因値に含まれる「エラー適合率」
<考え方>
配列パターンに含まれる説明変数が、目的変数をFAILとするものとして適切であれば、その条件で検索できた全ての配列パターンによって目的変数がFAILになる筈であるという仮定を基にして、全データを検索し当てはまった配列パターンの中から目的変数がFAILとなった割合(%)を求めたものをエラー適合率としたものである。
<計算式>
全配列パターンの数をAとする。
エラー適合率(%)=A中の目的変数がFAILとなったパターンの数÷Aのデータ数 * 100
「エラー適合率」が低い場合の解釈(どうなると低くなるか)
目的変数がFAILとなるとして抽出したパターン内に、目的変数がPASSとなるパターンが多く含まれている場合は低くなる。
目的変数がFAILとなるとして抽出した説明変数が、目的変数がFAILとなる原因とするには不十分である。
【0071】
要因値としての「指標値」
<考え方>
1つの配列パターンに対する信憑性とエラー適合率の平均値。
配列パターンの精度を表現する指標の値。
<計算式>
指標値=(信憑性+エラー適合率) ÷2
【0072】
この指標値を使用して、指標値が所定値より高い値を示すものを採用し、ステップS24においてNOへ分岐する。高いと判断する値は外部から指定できるようにしても良い。あるデータを用いて、第2のクラスタリング手段28によって重要度クラスタリングをおこない作成した樹形図について、分割数と指標値の関係を
図23と
図24に示す。
図23において、R−1の行を例にとると、分割数を変えても指標値に変化がなく、このデータ群は類似性が高くまとまっていることが分かる。分割数を増やすと類似性の高いグループでまとまった単位に分かれることになる。しかし、単純に指標値が最も高い時の分割数を求めることにしてしまうと、分割数が全クラスタ数に行きついてしまう。
【0073】
図24は、
図23のデータにおける平均値について分割数と指標値を座標として表したグラフである。このようなグラフにおいて、分割数と指標値の変化をパターン化すると、典型的には、
図25に示すように3パターンとなる可能がある。
図25(a)に示すパターンAのように1度のピークがあり、そこから低下し更に上昇するパターンの場合には、上記ピークのときの値を分割数として採用することができる。また、
図25(b)に示すパターンBのように上昇から横這いとなる期間が存在し、その後に上昇するパターンの場合には、その横這い部分の値を分割数として採用することができる。更に、
図25(c)に示すパターンCのように上昇が連続するパターンの場合は、外部から指定した分割数を使用することができる。
【0074】
本実施形態では、第2のパターンマイ二ング手段51を備える。第2のパターンマイ二ング手段51は、目的変数が適正であるレコードデータと上記グループに分類されたクラスタの元のレコードデータを用いて機械学習を行い、各グループ毎に説明変数のランキングを求めるパターンマイ二ングを行うものである。
【0075】
即ち、先の
図22(c)に示した例では、G1〜G7クラスタを、G1クラスタとG3クラスタの第1のグループ、G4クラスタのみの第2のグループ、G2クラスタとG5クラスタの第3のグループ、G6クラスタとG7クラスタの第4のグループに分類した。第1のグループのG1クラスタには、適不適情報が不適であるレコードデータF1が3レコード含まれ、G3クラスタには、適不適情報が不適であるレコードデータF1が4レコード含まれている。また、第2のグループのG4クラスタには、適不適情報が不適であるレコードデータF2が2レコード含まれ、第3のグループのG2クラスタとG5クラスタには適不適情報が不適であるレコードデータF3が、それぞれ2レコード含まれている。第4のグループのG6クラスタには、適不適情報が不適であるレコードデータF4が3レコード含まれ、G7クラスタには、適不適情報が不適であるレコードデータF5が3レコード含まれている。
【0076】
上記で説明した、第1〜第4のグループに含まれているレコードデータと、目的変数が適正であるレコードデータ40を用いて、
図26に示すように、グループ毎にパターンマイ二ングが行われる。パターンマイ二ングの実際の処理としては、次元圧縮手段25や第1のパターンマイ二ング手段による処理において説明した手法を用いることができる。
【0077】
上記のパターンマイニングを行い、第1のグループから第4のグループまでのグループ毎に、説明変数の重要度(目的変数の結果に影響を与えている度合)を得る。この結果の重要ランキングの上位から、前述の信憑性値、エラー適合率、指標値を基に高い値を示す説明変数を候補として選出する。選出された候補を報知する。報知は表示手段に表示することにより行う。これにより、類似性の高いレコードデータについて、目的変数がPASSとなるかFAILとなるかの分岐に最も寄与している可能性の高い説明変数群を予想することが可能となる。
【0078】
以上のようにして、要因推定報知手段44は上記ランキングに基づき不適と関連する不適要因である説明変数及びまたは当該不適要因である説明変数が含まれるレコード70を推定し、報知する。報知は、表示装置への表示、プリンタによるプリントアウトなど適宜な手法が採用される。報知されるレコード70の例は、
図27に示すようにすることができる。
図27において、「FAIL入力パターン(推定結果)」の欄に示される文字列が要因の説明変数と推定され、この欄におけるパターンで入力状となった場合、或いは内部状態設定情報である場合にFAILとなることが予想されるものである。ここでは、レコードにより示したが、説明変数を1または複数示すようにしても良い。
【0079】
本実施形態では、LSIの開発の場合を例に採ったが、プログラム開発等にも適用でき、その場合には説明変数はコマンドや数値等のデータとなるものである。
【解決手段】内部状態が設定され、入力が与えられると、所定の期待値出力を行う対象装置を検証する検証装置の結果を用いる。内部設定情報と入力情報を説明変数とし、機械学習を行う第1のクラスタリング手段であって、目的変数が不適であるレコードデータについて、含まれる説明変数の配列パターンに応じて複数のクラスタに分類する第1のクラスタリング手段41と、前記適不適情報を目的変数として、目的変数が適正であるレコードデータと前記クラスタに分類されたレコードデータを用いて機械学習を行い、各クラスタ毎に説明変数のランキングを求めるパターンマイ二ングを行う第1のパターンマイ二ング手段22と、を具備する。