(57)【要約】【課題】テスト条件を適切に抽出できるテスト条件パラメータ抽出方法を提供する。【解決手段】テストプログラム１は、抽出手段２１へ入力され、テスト条件パラメータを抽出される。抽出手段２１において抽出されたテスト条件パラメータは、中間ファイル生成手段２２へ入力され、中間ファイル４として生成された後に、上書き手段２３へ入力される。上書き手段２３は、入力された中間ファイル４とフロー情報と出力条件２とに基づき、計算機内のメモリのうち半導体試験装置のレジスタに対応してテスト条件パラメータを記憶する領域において、テスト条件パラメータの上書きを行うものである。上書き手段２３を用いて必要に応じテスト条件パラメータを順次上書きしていくことにより、新しい値が設定されない場合に設定済みの値をそのまま引き継ぐことが可能となる。【選択図】図２
2008286670.tif 000002
【特許請求の範囲】
【請求項１】
半導体試験装置において実行される複数のテスト項目を含むテストプログラムから前記複数のテスト項目それぞれにおける実行時のテスト条件パラメータを抽出するテスト条件パラメータ抽出方法であって、
（ａ）前記テストプログラムから、前記テスト項目の実行順序を規定するフロー情報を抽出するステップと、
（ｂ）前記フロー情報を参照して、前記テストプログラムから前記複数のテスト項目それぞれにおける実行時のテスト条件パラメータを抽出するステップと
を備え、
前記ステップ（ｂ）において、所定のテスト条件パラメータの値が、前記フロー情報に従い先に実行される第１テスト項目において設定され後に実行される第２テスト項目において設定されない場合には、前記所定のテスト条件パラメータは前記第２テスト項目においては前記第１テスト項目において設定された値が抽出される
テスト条件パラメータ抽出方法。
【請求項２】
請求項１に記載のテスト条件パラメータ抽出方法であって、
前記ステップ（ａ）において、前記フロー情報として、第１の条件分岐および前記第１の条件分岐の結果に応じて実行される第２の条件分岐を少なくとも含む複数の条件分岐が抽出され、
前記ステップ（ｂ）は、
（ｂ−１）前記複数の条件分岐における真偽の組み合わせを、前記第１の条件分岐における真偽と前記第２の条件分岐における真偽との組み合わせのうち前記第２の条件分岐が実行され得ない組み合わせを除いて求めるステップと、
（ｂ−２）前記ステップ（ｂ−１）で求められた前記複数の条件分岐における真偽の組み合わせに基づき前記テスト項目の実行順序を求めるステップと、
（ｂ−３）前記ステップ（ｂ−２）で求められた前記テスト項目の実行順序に従って前記テストプログラムから前記複数のテスト項目それぞれにおける実行時のテスト条件パラメータを抽出するステップと
を有するテスト条件パラメータ抽出方法。
【請求項３】
請求項１又は請求項２に記載のテスト条件パラメータ抽出方法であって、
前記ステップ（ｂ）において、抽出された前記テスト条件パラメータは記憶手段内で順次上書きされていく
テスト条件パラメータ抽出方法。
【請求項４】
請求項３に記載のテスト条件パラメータ抽出方法であって、
前記ステップ（ｂ）において、前記テストプログラムを前記テスト項目の実行順序と逆に遡り前記テスト条件パラメータが抽出される
テスト条件パラメータ抽出方法。
【請求項５】
請求項１乃至請求項４のいずれかに記載のテスト条件パラメータ抽出方法であって、
前記ステップ（ｂ）において、前記テスト条件パラメータは演算式として抽出される
テスト条件パラメータ抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト条件パラメータ抽出方法に関し、特に、半導体試験装置用のテストプログラムにおいてテスト条件パラメータを短時間で適切に抽出するための技術に関する。
【背景技術】
【０００２】
半導体試験装置においては、最終製品の市況や半導体の注文状況に伴い稼働率が増減するので、社内での負荷調整の一手法として、稼働率の高い半導体試験装置から稼働率の低い半導体試験装置へのテストプログラムの変更が行われている。
【０００３】
このとき、変換先（変更後）テストプログラムは、本来はテスト仕様書に基づき生成されるべきものではあるが、変更内容のフィードバックが不十分な場合に情報が欠落することを防ぐために、テストを行うときの電圧値等の条件に関するパラメータ情報（テスト条件パラメータ）を変換元（変更前）テストプログラムから抽出し変換することにより変換先テストプログラムを生成する場合が多い。また、このテスト条件パラメータの抽出および変換は、半自動または人手で行われることが多い。このテスト条件パラメータは、テストにおいて半導体試験装置のＨ／Ｗ（ハードウェア）にセットされる命令のパラメータであり、電圧値の他に、タイミング値等が挙げられる。また、定数のみならず演算式で表されることもある。
【０００４】
特に、変換対象がマイコン用テストプログラムの場合、テスト条件パラメータがほとんど変わらない製品から数十品種の製品が派生しており且つ製品寿命が長いという特徴により、似通ったテストプログラムが多数存在したり、複数の作業者が変換元テストプログラムを複数回変更している可能性があったりするので、解読ミスに繋がるおそれがある。従って、これを防ぐために、半自動や人手ではなく全て自動でテストプログラム変換（特にテスト条件の抽出）を行いたいというニーズがある。従来のプログラム変換方法の例は、例えば特許文献１〜３に開示されている。
【０００５】
【特許文献１】特開２００１−２８２５６５号公報
【特許文献２】特開２００１−２４３０８５号公報
【特許文献３】特開２００５−７０８８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一般的な半導体試験装置においては、テスト条件パラメータは、半導体試験装置が内蔵するレジスタに保管される。また、一般的なテストプログラムは、複数のテスト項目を含んでおり、各テスト項目において、テスト条件パラメータとして所定の値が設定され、テストが実行される。従って、半導体試験装置内のレジスタにテスト条件パラメータとして保管された内容は、テストプログラムにおいて複数のテスト項目が順次実行されるのに伴い、異なった値に上書きされていく。
【０００７】
しかし、例えば、引き続き実行される第１乃至第２テスト項目において、テスト条件パラメータとして同じ値（例えば電圧値を表す変数ＶＳ２＝６．０Ｖ）が用いられる場合には、第２テスト項目においては、第１テスト項目で設定された値（６．０Ｖ）をそのまま用いることができる。このような場合には、第２テスト項目においては、必ずしも変数ＶＳ２を設定する必要はないので、変数ＶＳ２を設定する命令（ＶＳ２＝６．０Ｖ）は省略されることがある。従来のプログラム変換方法は、このような点を考慮していなかったので、テスト条件パラメータ（上記の例では第２テスト項目における変数ＶＳ２の設定値）を適切に抽出できない場合があるという問題点があった。
【０００８】
本発明は以上の問題点を解決するためになされたものであり、テスト条件パラメータを適切に抽出できるテスト条件パラメータ抽出方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るテスト条件パラメータ抽出方法は、半導体試験装置において実行される複数のテスト項目を含むテストプログラムから複数のテスト項目それぞれにおける実行時のテスト条件パラメータを抽出するテスト条件パラメータ抽出方法であって、（ａ）テストプログラムから、テスト項目の実行順序を規定するフロー情報を抽出するステップと、（ｂ）フロー情報を参照して、テストプログラムから複数のテスト項目それぞれにおける実行時のテスト条件パラメータを抽出するステップとを備え、ステップ（ｂ）において、所定のテスト条件パラメータの値が、フロー情報に従い先に実行される第１テスト項目において設定され後に実行される第２テスト項目において設定されない場合には、所定のテスト条件パラメータは第２テスト項目においては第１テスト項目において設定された値が抽出される。
【発明の効果】
【００１０】
本発明に係るテスト条件パラメータ抽出方法では、所定のテスト条件パラメータの値が、フロー情報に従い先に実行される第１テスト項目において設定され後に実行される第２テスト項目において設定されない場合には、所定のテスト条件パラメータは第２テスト項目においては第１テスト項目において設定された値が抽出される。従って、テスト条件パラメータを適切に抽出できる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。本発明は、マイコン、メモリ、あるいはＳＯＣ製品等の半導体を試験する半導体試験装置のテストプログラムを変換する場合に適用可能である。
【００１２】
なお、本明細書において、テスト項目とは、半導体試験装置において所定の条件（電圧値等）下でＤＵＴ（被試験デバイス）に対して行われる１単位のテストの内容を指すものとする。また、テストプログラムとは、通常複数個のテスト項目を含んで構成され、一の半導体製品を試験するためのプログラムを指すものとする。また、テスト条件パラメータとは、テストにおいて半導体試験装置のＨ／Ｗ（ハードウェア）にセットされる命令のパラメータ（電圧値等）を指すものとする（定数または演算式で表されるものとする）。また、フロー情報とは、テストプログラムにおいて各テスト（項目）が実行される順序を規定する情報を指すものとする（なお、テスト条件と呼ぶ場合には、狭義には単にテスト条件パラメータを指す場合と、広義にはテスト条件パラメータにフロー情報を合わせた情報を指す場合とがある）。
【００１３】
＜実施の形態１＞
図１は、実施の形態１に係るプログラム変換システムの動作（テスト条件パラメータ抽出方法）を示す概念図である。
【００１４】
図１（ａ）に示される半導体試験装置においては、図１（ｂ）に示されるようなテストプログラムを用いることにより、テスト条件パラメータで表される所定の電圧ＶＳ１，ＶＳ２をＤＵＴに印加し、その際に流れる電流値に基づき判定を行っている。
【００１５】
すなわち、先に実行される第１テスト項目（”TEST 100”）においては、ＶＳ１＝５．０Ｖ且つＶＳ２＝６．０Ｖに設定した後に、ＤＵＴに電圧ＶＳ１を２回印加し（”Dc_test”）、その際にＤＵＴにそれぞれ流れる電流値ｄａｔａ１，ｄａｔａ２を測定しこれらに基づき判定を行っている（具体的には、電流値ｄａｔａ２が、電流値ｄａｔａ１以下で且つ０ｍＡ以上という制限（変数”Limit”）を満たしている場合に、試験をパスする）。
【００１６】
また、後に実行される第２テスト項目（”TEST 200”）においては、ＶＳ１＝４．０Ｖに設定した後に、所定の試験（”Func_test”）を行っている。
【００１７】
第２テスト項目においては、電圧ＶＳ２は設定されないが、第２テスト項目は第１テスト項目に引き続き実行されるので、第２テスト項目においては、電圧ＶＳ２は第１テスト項目で設定された値（６．０Ｖ）を保った状態で、所定の試験（”Func_test”）が行われる。本発明に係るプログラム変換システムは、このようにテスト項目間でテスト条件パラメータが引き継がれることに着目することにより、テスト条件パラメータを適切に抽出することを特徴とするものである。
【００１８】
図２は、本実施の形態に係るプログラム変換システム１０の機能を示すブロック図である。このプログラム変換システム１０は、テストプログラムにおいて、ソースをＳ／Ｗ（ソフトウェア）エミュレートすることによりテスト条件パラメータを抽出した後に、変換を行うものである。図１には示されていないが、プログラム変換システム１０は、ＣＰＵ等の処理手段やメモリ等の記憶手段等を内蔵する計算機と、画像を表示するモニタ等の表示手段とユーザから指示を入力するキーボード等の入力手段とを備え、以下の処理は主に処理手段からの制御に基づき行われる。
【００１９】
図２において、テストプログラム１（変換元プログラム）は、抽出手段２１へ入力され、テストを行うときの電圧値等の条件に関するパラメータ情報（テスト条件パラメータ）とプログラムの実行フローに関する情報（フロー情報）とを抽出される。テスト条件パラメータは、テストプログラム１に記載されている演算式から抽出され、フロー情報は、テストプログラム１に記載されているテスタ命令から抽出される（広義のテスト条件の抽出）。
【００２０】
抽出手段２１において抽出されたテスト条件パラメータは、中間ファイル生成手段２２へ入力され、中間ファイル４として生成された後に、上書き手段２３へ入力される。この中間ファイル４は、テスト条件パラメータを暫定的に記憶しておくファイルであるが、あるいはファイルに限らず単なるデータ（中間データ）であってもよい。また、抽出手段２１において抽出されたフロー情報は、上書き手段２３へ直接に入力される。また、上書き手段２３には、テスト条件パラメータの抽出結果を出力する出力条件２が入力（指定）される。上書き手段２３は、入力された中間ファイル４とフロー情報と出力条件２とに基づき、計算機内のメモリのうち半導体試験装置のレジスタに対応してテスト条件パラメータを記憶する領域において、テスト条件パラメータの上書きを行うものである。
【００２１】
すなわち、上述したように、テストプログラム１において複数個のテスト項目を順次に実行していく場合には、半導体試験装置のレジスタ内に保管されているテスト条件パラメータは、新しい値に設定（すなわち上書き）される場合もあれば、新しい値が設定されず設定済みの値をそのまま引き継ぐ場合もある。従って、計算機内のメモリにおいても、半導体試験装置のレジスタと同様に、上書き手段２３を用いて必要に応じテスト条件パラメータを順次上書きしていくことにより、新しい値が設定されない場合に設定済みの値をそのまま引き継ぐことが可能となる。
【００２２】
また、上書きされたテスト条件パラメータは、出力手段２４を介して結果ファイル５として出力される。
【００２３】
図３は、図２のプログラム変換システム１０の動作を示すフローチャートである。
【００２４】
まず、ステップＳ１において、テスト条件パラメータの抽出結果を出力する出力条件２が上書き手段２３へ入力（指定）される。この出力条件２は、図４を用いて後述するように、全てのテスト条件パラメータを抽出するか、特定のテスト項目のテスト条件パラメータのみを抽出するかを指定するためのものである。
【００２５】
次に、ステップＳ２へ進み、抽出手段２１において、テストプログラム１からテスト条件パラメータおよびフロー情報が抽出される。
【００２６】
次に、ステップＳ３へ進み、中間ファイル生成手段２２において、ステップＳ２で抽出されたテスト条件パラメータが中間ファイル４として生成され、上書き手段２３へ入力される。
【００２７】
次に、ステップＳ４へ進み、上書き手段２３において、ステップＳ１で入力された出力条件２とステップＳ２で抽出されたフロー情報とステップＳ３で入力された中間ファイル４とに基づき、計算機内のメモリに記憶されているテスト条件パラメータの上書きが行われる。
【００２８】
次に、ステップＳ５へ進み、出力手段２４を介して、ステップＳ４で上書きされた記憶手段内のテスト条件パラメータが結果ファイル５として出力される。以上で、テストプログラム変換システム１０の１サイクルの処理が完了する。
【００２９】
なお、図２〜３においては、テスト条件パラメータのみを中間ファイル４を経て結果ファイル５として出力させる場合について説明したが、テスト条件パラメータに加えてフロー情報も中間ファイル４を経て結果ファイル５として出力させてもよい。
【００３０】
図４は、図３のステップＳ１の詳細な動作を示すフローチャートである。
【００３１】
まず、ステップＳ１−１において、デバイス測定時の温度条件やテスト工程の情報が指定される。
【００３２】
次に、ステップＳ１−２へ進み、抽出すべきテスト条件パラメータが指定される。具体的には、全てのテスト条件パラメータを抽出するか、特定のテスト項目のテスト条件パラメータのみを抽出するかが指定される（特定のテスト項目のみにおいてテスト条件パラメータ抽出する場合には、このテスト項目のテスト番号も指定される）。この指定に応じて、図３のステップＳ２〜ステップＳ３の動作が異なってくる。
【００３３】
以下では、図４のステップＳ１−２で全てのテスト条件パラメータを抽出する指定が行われた場合における図３のステップＳ２〜Ｓ３の動作を、図５〜２０を用いて詳細に説明する。
【００３４】
従来のプログラム変換システムにおいては、テストフローの実行順序に沿って順次テスト条件パラメータを抽出していたので、条件分岐を多く含んだテストプログラムでは、本来であれば１回だけ抽出すればよいテスト条件パラメータが複数回必要以上に抽出されることがあった。本実施の形態に係るプログラム変換システム１０は、図５〜２０において、以下のような特徴を有するような処理を行うことにより、１回だけ抽出すればよいテスト条件パラメータが複数回抽出されることを防いでいる。
【００３５】
すなわち、ステップＳ３において、ステップＳ２で抽出されたテスト条件パラメータが中間ファイル生成手段２２により中間ファイル４として生成されるが、このとき、テスト条件パラメータを、条件分岐、テスト本体、およびサブルーチン呼び出しそれぞれの実行に応じてテスト条件ファイル４Ａ〜４Ｋに分割して生成する。また、テスト条件ファイル４Ａ〜４Ｋの生成に並行して、フロー、サブルーチン呼び出し先、および条件分岐の分岐先と分岐元とに関する情報からなる順序情報（以下では、フロー情報、サブルーチン呼び出し先情報、および条件分岐情報とそれぞれ呼ぶ）を計算機のメモリに記憶させる。そして、ステップＳ４において、上記の順序情報に基づきテスト条件パラメータの上書きを行う。
【００３６】
図５は、図１のテストプログラム１の具体例を示す図である。テストプログラム１は、２６行からなり、予め所定の値が設定されている変数ａ，ｂ，ｃの値に応じて（具体的には値が０であるか否かで）、テスト条件パラメータとしての電圧値を表す変数ＶＳ１〜ＶＳ４を設定するものである。
【００３７】
図５に示されるように、テストプログラム１は、第１〜１９行からなるメインルーチン１００と第２０〜２６行からなるサブルーチン２００とから構成されている。メインルーチン１００は、第２〜６行からなるテストルーチン１１０と第７〜１８行からなるテストルーチン１２０とを含んで構成されている。
【００３８】
第１行はメインルーチン１００の開始を示す命令であり、第１９行はメインルーチン１００の終了を示す命令であり、第２０行はサブルーチン２００の開始を示す命令であり、第２６行はサブルーチン２００の終了を示す命令である。なお、サブルーチン２００においては、変数ｃの値に応じて変数ＶＳ４が設定されるので、名称”set_vs4”が付与されている。
【００３９】
また、第２行はテストルーチン１１０の開始およびそのテスト番号（１００）を示す命令であり、第７行はテストルーチン１２０の開始およびそのテスト番号（２００）を示す命令である。
【００４０】
また、第６行および第１８行には、それぞれ、テスト本体を実行する命令が記載されている。すなわち、テストルーチン１１０では第３〜５行で設定された変数ＶＳ１，ＶＳ２，ＶＳ４に基づき、テストルーチン１２０では第８〜１７行で設定された変数ＶＳ３〜ＶＳ４（およびテストルーチン１１０で設定された変数ＶＳ１，ＶＳ２）に基づき、それぞれ、テスト本体が実行される。具体的には、名称”Func_test”が付与されたサブルーチンが呼び出され実行されるが、このサブルーチンの内容は本発明との直接の関わりは薄いので図示は省略している。
【００４１】
また、第５行および第１７行には、それぞれ、サブルーチン２００を呼び出して実行する命令が記載されている。このサブルーチン２００は、上述したように、変数ｃの値に応じて変数ＶＳ４を設定する機能を有するブロックであり、具体的には、変数ｃ＝０である場合には、変数ＶＳ４＝２．５Ｖに設定され、それ以外の場合には変数ＶＳ４＝２．８Ｖに設定される。
【００４２】
すなわち、テストルーチン１１０では、第３行でＶＳ１＝５．５Ｖに設定され第４行でＶＳ２＝５．５Ｖに設定された後に、第５行において変数ＶＳ４が設定される。また、テストルーチン１２０では、第８〜９行で、変数ａ＝０である場合には、変数ＶＳ３＝５．０Ｖに設定され、変数ａ＝０でない場合には、変数ｂ＝０であるときには第１１〜１２行で変数ＶＳ３＝５．１Ｖに設定され、変数ｂ＝０でないときには第１３〜１４行で変数ＶＳ３＝５．５Ｖに設定される。
【００４３】
すなわち、図５のテストプログラム１では、テストルーチン１１０，１２０における変数ＶＳ４の設定工程が同一であるので、これをサブルーチン２００として共用している。
【００４４】
図６〜１８は、図５のテストプログラム１において図４のステップＳ２〜Ｓ３を実行した場合に計算機のメモリに記憶される内容および生成される中間ファイル４を示す図である。図６〜１８においては、中間ファイル４は、テスト条件ファイル４Ａ〜４Ｋとして示されており、テスト条件パラメータとしての電圧値を表す変数ＶＳ１〜ＶＳ４を記憶する。
【００４５】
図６は、テストプログラム１の第１〜４行の変換処理を示す図である。メモリ内においては、フロー情報がフロー情報記憶部３１０に、サブルーチン呼び出し先情報がサブルーチン呼び出し先情報記憶部３２０に、条件分岐情報が条件分岐情報記憶部３３０に記憶されている。
【００４６】
第１行においては、フロー情報記憶部３１０には、テストプログラム１の名称”ａ”と、実行される行番号＝１と、テスト番号＝０（テストルーチンが開始されていないことを示す）と、サブルーチン／分岐番号＝０（サブルーチン呼び出しおよび条件分岐がいずれも行われないことを示す）と、区間番号＝１（１番目の区間であることを示す）と、メインルーチン１００の開始を示す命令”begin”（メインルーチン１００の名称として付与される）が記憶される。また、区間番号＝１に対応するテスト条件ファイル４Ａ（空ファイル）が新規に生成される。なお、この区間番号は、条件分岐の実行またはテスト番号の変更（ルーチンの変更）に伴いカウントアップされ、カウントアップされた区間番号に対応する中間ファイルが新規に生成（分割）されていくものとする。また、以下では、テストプログラム１の名称”ａ”および実行される行番号の記憶については、煩雑となることを避けるために説明を省略する。
【００４７】
第２行においては、フロー情報記憶部３１０には、テスト番号＝１００（テストルーチン１１０が開始されたことを示す）と、サブルーチン／分岐番号＝０とが記憶される。
【００４８】
第３行においては、テスト条件ファイル４Ａに、ＶＳ１＝５．５Ｖを表す情報が記載される。
【００４９】
第４行においては、テスト条件ファイル４Ａに、ＶＳ２＝５．５Ｖを表す情報が記載される。
【００５０】
図７は、テストプログラム１の第５行の変換処理を示す図である。
【００５１】
第５行においては、フロー情報記憶部３１０には、テスト番号＝１００と、サブルーチン／分岐番号＝ＳＵＢ１−０（１番目のサブルーチンの１回目の呼び出しが行われることを示す）と、サブルーチン２００の名称”set_vs4”とが記憶される。また、サブルーチン呼び出し先情報記憶部３２０には、１番目のサブルーチン（ＳＵＢ１）であるサブルーチン２００が名称”set_vs4”に対応している旨が記憶される。また、条件分岐情報記憶部３３０には、名称”begin”が付与されたメインルーチン１００からサブルーチン番号＝ＳＵＢ１−０を有するサブルーチン（２００）への呼び出しが行われた旨が記憶される。すなわち、本実施の形態においては、呼び出されたサブルーチンに条件分岐が含まれていることを予め見越して、サブルーチンが呼び出されるとその旨を条件分岐情報記憶部３３０に記憶させている。
【００５２】
図８は、テストプログラム１の第６行の変換処理を示す図である。
【００５３】
第６行においては、フロー情報記憶部３１０には、テスト番号＝１００と、サブルーチン／分岐番号＝０と、区間番号＝２（２番目の区間であることを示す）と、テスト本体が実行されるサブルーチンの名称”Func_test”とが記憶される。すなわち、第６行においては、直前の第５行で呼び出されたサブルーチン２００が条件分岐を含んでいるので、区間番号が１から２へカウントアップされる。また、区間番号＝２に対応するテスト条件ファイル４Ｂ（空ファイル）が新規に生成される。なお、テスト本体が実行されるサブルーチンは、テストプログラム１には含まれていないので、サブルーチンが呼び出されたにも拘わらずサブルーチン番号＝０となっている。
【００５４】
図９は、テストプログラム１の第７行の変換処理を示す図である。
【００５５】
第７行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝０と、区間番号＝３（３番目の区間であることを示す）とが記憶される。すなわち、第７行においては、テスト番号が変更される（すなわちルーチンが変更される）ので、区間番号が２から３へカウントアップされる。また、区間番号＝３に対応するテスト条件ファイル４Ｃ（空ファイル）が新規に生成される。
【００５６】
図１０は、テストプログラム１の第８〜９行の変換処理を示す図である。
【００５７】
第８行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝分岐１−０（１番目の分岐の前半に位置する命令（ｉｆ文）であることを示す）と、区間番号＝４（４番目の区間であることを示す）と、ｉｆ文が記憶される。すなわち、第８行においては、条件分岐が実行されるので、区間番号が３から４へカウントアップされる。また、区間番号＝４に対応するテスト条件ファイル４Ｄ（空ファイル）が新規に生成される。また、条件分岐情報記憶部３３０には、名称”begin”を有するメインルーチン１００から１番目の条件分岐が行われた旨が記憶される。
【００５８】
第９行においては、テスト条件ファイル４Ｄに、ＶＳ３＝５．０Ｖを表す情報が記載される。
【００５９】
図１１は、テストプログラム１の第１０行の変換処理を示す図である。
【００６０】
第１０行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝分岐１−１（１番目の分岐の後半に位置する命令（ｅｌｓｅ文）であることを示す）と、区間番号＝５（５番目の区間であることを示す）と、ｅｌｓｅ文が記憶される。すなわち、第１０行においては、条件分岐が実行されるので、区間番号が４から５へカウントアップされる。また、区間番号＝５に対応するテスト条件ファイル４Ｅ（空ファイル）が新規に生成される。
【００６１】
図１２は、テストプログラム１の第１１〜１２行の変換処理を示す図である。
【００６２】
第１１行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝分岐２−０（２番目の分岐の前半に位置する命令（ｉｆ文）であることを示す）と、区間番号＝６（６番目の区間であることを示す）と、ｉｆ文が記憶される。すなわち、第１１行においては、条件分岐が実行されるので、区間番号が５から６へカウントアップされる。また、区間番号＝６に対応するテスト条件ファイル４Ｆ（空ファイル）が新規に生成される。また、条件分岐情報記憶部３３０には、１番目の分岐の後半に位置する命令（ｅｌｓｅ文）から２番目の条件分岐が行われた旨が記憶される。
【００６３】
第１２行においては、テスト条件ファイル４Ｆに、ＶＳ３＝５．１Ｖを表す情報が記載される。
【００６４】
図１３は、テストプログラム１の第１３〜１４行の変換処理を示す図である。
【００６５】
第１３行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝分岐２−１（２番目の分岐の後半に位置する命令（ｅｌｓｅ文）であることを示す）と、区間番号＝７（７番目の区間であることを示す）と、ｅｌｓｅ文が記憶される。すなわち、第１３行においては、条件分岐が実行されるので、区間番号が６から７へカウントアップされる。また、区間番号＝７に対応するテスト条件ファイル４Ｇ（空ファイル）が新規に生成される。
【００６６】
第１４行においては、テスト条件ファイル４Ｇに、ＶＳ３＝５．５Ｖを表す情報が記載される。
【００６７】
図１４は、テストプログラム１の第１５〜１６行の変換処理を示す図である。
【００６８】
第１５行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝分岐２−Ｅ（２番目の分岐を終了させる命令（ｅｎｄ文）であることを示す）と、ｅｎｄ文が記憶される。
【００６９】
第１６行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝分岐１−Ｅ（１番目の分岐を終了させる命令（ｅｎｄ文）であることを示す）と、ｅｎｄ文が記憶される。
【００７０】
図１５は、テストプログラム１の第１７〜１９行の変換処理を示す図である。
【００７１】
第１７行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝ＳＵＢ１−１（１番目のサブルーチンへの２回目の呼び出しが行われることを示す）と、サブルーチン２００の名称”set_vs4”とが記憶される。また、条件分岐情報記憶部３３０には、名称”begin”が付与されたメインルーチン１００からサブルーチン番号＝ＳＵＢ１−１を有するサブルーチン（２００）への呼び出しが行われた旨が記憶される。
【００７２】
第１８行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝０と、区間番号＝８（８番目の区間であることを示す）と、テスト本体が実行されるサブルーチンの名称”Func_test”とが記憶される。すなわち、第１８行においては、直前の第１７行で呼び出されたサブルーチン２００が条件分岐を含んでいるので、区間番号が７から８へカウントアップされる。また、区間番号＝８に対応するテスト条件ファイル４Ｈ（空ファイル）が新規に生成される。なお、上述したように、テスト本体が実行されるサブルーチンは、テストプログラム１には含まれていないので、サブルーチンが呼び出されたにも拘わらずサブルーチン番号＝０となっている。
【００７３】
第１９行においては、フロー情報記憶部３１０には、テスト番号＝２００と、サブルーチン／分岐番号＝ＥＮＤ（メインルーチン１００を終了させる命令であることを示す）と、終了を示す記号が記憶される。
【００７４】
図１６は、テストプログラム１の第２０行の変換処理を示す図である。
【００７５】
第２０行においては、フロー情報記憶部３１０には、テスト番号＝＋０（テスト番号が未だ指定されていないことを示す）と、サブルーチン／分岐番号＝０と、区間番号＝９（９番目の区間であることを示す）と、サブルーチン２００の名称”set_vs4”とが記憶される。すなわち、第２０行においては、テスト番号が変更される（すなわちルーチンが変更される）ので、区間番号が８から９へカウントアップされる。また、区間番号＝９に対応するテスト条件ファイル４Ｉ（空ファイル）が新規に生成される。また、サブルーチン呼び出し先情報記憶部３２０には、名称”set_vs4”を付与されたサブルーチン２００が第２０行以降で区間９に対応している旨が記憶される。
【００７６】
図１７は、テストプログラム１の第２１〜２２行の変換処理を示す図である。
【００７７】
第２１行においては、フロー情報記憶部３１０には、テスト番号＝＋０と、サブルーチン／分岐番号＝分岐３−０（３番目の分岐の前半に位置する命令（ｉｆ文）であることを示す）と、区間番号＝１０（１０番目の区間であることを示す）と、ｉｆ文が記憶される。すなわち、第２１行においては、条件分岐が実行されるので、区間番号が９から１０へカウントアップされる。また、区間番号＝１０に対応するテスト条件ファイル４Ｊ（空ファイル）が新規に生成される。また、条件分岐情報記憶部３３０には、１番目のサブルーチン（２００）から３番目の条件分岐が行われた旨が記憶される。
【００７８】
第２２行においては、テスト条件ファイル４Ｊに、ＶＳ４＝２．５Ｖを表す情報が記載される。
【００７９】
図１８は、テストプログラム１の第２３〜２６行の変換処理を示す図である。
【００８０】
第２３行においては、フロー情報記憶部３１０には、テスト番号＝＋０と、サブルーチン／分岐番号＝分岐３−１（３番目の分岐の後半に位置する命令（ｅｌｓｅ文）であることを示す）と、区間番号＝１１（１１番目の区間であることを示す）と、ｅｌｓｅ文が記憶される。すなわち、第２３行においては、条件分岐が実行されるので、区間番号が１０から１１へカウントアップされる。また、区間番号＝１１に対応するテスト条件ファイル４Ｋ（空ファイル）が新規に生成される。
【００８１】
第２４行においては、テスト条件ファイル４Ｋに、ＶＳ４＝２．８Ｖを表す情報が記載される。
【００８２】
第２５行においては、フロー情報記憶部３１０には、テスト番号＝＋０と、サブルーチン／分岐番号＝分岐３−Ｅ（３番目の分岐を終了させる命令（ｅｎｄ文）であることを示す）と、ｅｎｄ文が記憶される。
【００８３】
第２６行においては、フロー情報記憶部３１０には、テスト番号＝＋０と、サブルーチン／分岐番号＝０と、終了を示す記号が記憶される。
【００８４】
以上で、図４のステップＳ１−２で全てのテスト条件パラメータを抽出する指定が行われた場合における図３のステップＳ２〜Ｓ３の動作の動作が完了する。
【００８５】
次に、図３のステップＳ４の動作を、図１９を用いて詳細に説明する。上述したように、ステップＳ４においては、出力条件２および中間ファイル４に基づき、計算機内のメモリに記憶されているテスト条件の上書きの上書きが行われるが、この上書きは、上述したように、フロー情報、サブルーチン呼び出し情報、および条件分岐情報等の順序情報に基づき行われる。
【００８６】
図１９は、図５のテストプログラム１において図３のステップＳ４を実行した場合に計算機のメモリに記憶される内容および生成される中間ファイル４を示す図である。
【００８７】
図１９に示されるように、条件分岐情報記憶部３３０には、ｉｆ文を直接的に実行する第８，１１，２１行およびｉｆ文を間接的に実行する（ｉｆ文を含むサブルーチン２００を呼び出す）第５，１７行に関する条件分岐情報が記憶されている。
【００８８】
まず、条件分岐情報記憶部３３０に記憶された条件分岐情報に基づき、フロー情報が生成される。すなわち、条件分岐情報として記憶されているように、第５行におけるサブルーチン２００の呼び出しと第８行におけるｉｆ文の実行と第１１行におけるｉｆ文の実行と第１７行におけるサブルーチン２００の呼び出しとの計４回の条件分岐が行われる。従って、組み合わせのみから単純にフロー情報を生成させた場合には、２（条件分岐における真と偽との２通りに対応）4＝１６通りのフローが生成される。なお、図１９においては、真を０で偽を１でそれぞれ表することにより、１６通りのフローが１〜１６の番号を付与され示されている（以下では、これらをフローＦ１〜Ｆ１６とそれぞれ呼ぶ）。
【００８９】
次に、フローＦ１〜Ｆ１６のうち実際には起こり得ない条件分岐を削除する。すなわち、第１１行（分岐２）は、第８行（分岐１）が真（０）である場合には実行されることはないので、削除（−）が可能となる。この削除により、フローＦ３，Ｆ４，Ｆ１１，Ｆ１２は、それぞれ、フローＦ１，Ｆ２，Ｆ９，Ｆ１０と同一となり重複する。すなわち、第８行のｉｆ文は、本発明に係る第１の条件分岐として機能し、第１１行のｉｆ文は、本発明に係る第２の条件分岐として機能する。
【００９０】
次に、重複するフローＦ３，Ｆ４，Ｆ１１，Ｆ１２を削除する。これにより、フローの種類を１６種類から１２種類へ減らすことができる。
【００９１】
すなわち、図４のステップＳ１−２で全てのテスト条件を抽出する指定が行われた場合には、従来のテスト条件抽出方法においては、テスト項目の実行順序を、１６種類のフロー（情報）全てに対応させて求め、それぞれの実行順序に従って各テスト項目からテスト条件パラメータを抽出する必要があったので、処理時間が長くなるという問題点があった。本実施の形態に係るテスト条件抽出方法においては、フローの種類を減らすことにより、処理時間を短縮することが可能となる。
【００９２】
以上で、図４のステップＳ１−２で全てのテスト条件を抽出する指定が行われた場合における図３のステップＳ４の動作の動作が完了する。
【００９３】
次に、図３のステップＳ５の動作を、図２０を用いて詳細に説明する。上述したように、ステップＳ５においては、ステップＳ４で上書きされたメモリ内のテスト条件パラメータが結果ファイル５として出力されるが、このとき、結果ファイル５は、以下で説明するように、半導体装置への依存をできる限り抑えた形式で出力される。
【００９４】
図２０は、図５のテストプログラム１において図３のステップＳ５を実行した場合に計算機のメモリに記憶される内容、生成される中間ファイル４、および出力される結果ファイル５を示す図である。図２０には、図１９と同様のフローＦ１〜Ｆ１６と、図１８と同様のフロー情報およびサブルーチン呼び出し先情報ならびにテスト条件ファイル４Ａ〜４Ｋと、結果ファイル５とが、それぞれ示されている。この結果ファイル５は、フローＦ１〜Ｆ１６についてそれぞれ生成されるが、以下では、フローＦ１を例にとり結果ファイル５の形式について説明する。
【００９５】
図２０に示されるように、フローＦ１においては、第５，１７行におけるサブルーチン２００の呼び出し（すなわち第２１行におけるｉｆ文の実行）および第１の条件分岐としての第８行におけるｉｆ文の実行で条件分岐の判定が全て真となる（すなわちａ＝ｃ＝０）ので、第２の条件分岐としての第１１行におけるｉｆ文は実行されない。従って、図２０に示されるように、結果ファイル５には、第５，１７行におけるサブルーチン２００の呼び出しと第８行におけるｉｆ文の実行とが計３個の条件分岐として記載される。
【００９６】
また、フローＦ１では、区間１，９，１０，２，３，４，８をこの順に辿ることにより、第３，４，２２，９行において、変数ＶＳ１〜ＶＳ４が定められる。従って、上記の区間１，９，１０，２，３，４，８に対応するテスト条件ファイル４Ａ，４Ｉ，４Ｊ，４Ｂ，４Ｃ，４Ｄ，４Ｈに記載された情報に基づき、変数ＶＳ１〜ＶＳ４が定められる。すなわち、区間１に対応するテスト条件ファイル４Ａに基づきＶＳ１＝５．５ＶおよびＶＳ２＝５．５Ｖと定められ、区間１０に対応するテスト条件ファイル４Ｊに基づきＶＳ４＝２．５Ｖと定められ、区間４に対応するテスト条件ファイル４Ｄに基づきＶＳ３＝５．０Ｖと定められる。図２０に示されるように、結果ファイル５には、これらの変数ＶＳ１〜ＶＳ４の値と、テスト本体が実行されるテスト番号が記載される。すなわち、テスト番号が１００である場合には変数ＶＳ１，ＶＳ２，ＶＳ４に基づきテスト本体が実行されることが記載されるとともに、テスト番号が２００である場合には変数ＶＳ１〜ＶＳ４に基づきテスト本体が実行されることが記載される。
【００９７】
なお、図２０では、テストプログラム１において変数（ＶＳ１〜ＶＳ４）が定数（５．５Ｖ）のみで表される場合について説明したが、これに限らず、例えば図２１に示されるように、変数（Ｌｉｍｉｔ）が変数（ｄａｔａ１）を含む演算式（ｄａｔａ１，０）で表されてもよい。このような場合には、テスト条件ファイル（４Ｅ）においては、変数Ｌｉｍｉｔが演算式（ｄａｔａ１，０）で表される。
【００９８】
以上で、図４のステップＳ１−２で全てのテスト条件を抽出する指定が行われた場合における図３のステップＳ５の動作の動作が完了する。
【００９９】
次に、図４のステップＳ１−２で特定のテスト項目のテスト条件のみを抽出する指定が行われた場合における図３のステップＳ２〜Ｓ３の動作を、図２２〜２３を用いて詳細に説明する。
【０１００】
従来のプログラム変換システムにおいては、特定のテスト項目のテスト条件のみを抽出する指定が行われた場合には、最初のテスト項目から指定されたテスト項目までの全てのテスト項目をエミュレーションしテスト条件パラメータを抽出する。従って、指定されたテスト項目が最後に近い場合には、抽出に要する時間が長くなる。本実施の形態に係るプログラム変換システム１０は、図２２〜２３に示されるように、最初のテスト項目から指定されたテスト項目までの全てのテスト項目における条件分岐において、ユーザに所望の分岐先を入力させることにより不要な分岐先におけるテスト条件パラメータの抽出を省くことを特徴とする。
【０１０１】
図２２は、本実施の形態に係るプログラム変換システム１０において特定のテスト項目のテスト条件パラメータのみを抽出する指定が行われた場合に、テストプログラム１の１行分の命令を読み出しこれに基づき中間ファイル４への書き込みを行う処理を示すフローチャートである。なお、図２２には示されていないが、ステップＳ１１に先立ち、テスト条件パラメータを抽出すべきテスト項目のテスト番号（例えば１００とする）が予め指定されているものとする。
【０１０２】
まず、ステップＳ１１において、書き込み対象となる中間ファイル４をオープンする。
【０１０３】
次に、ステップＳ１２へ進み、テスト条件パラメータを抽出される対象となるテストプログラム１から１行分の命令をプログラムバッファ（計算機のメモリ内）に読み込む。
【０１０４】
次に、ステップＳ１３へ進み、ステップＳ１２で読み込まれた１行分の命令に基づき中間ファイル４としてのフロー情報を生成しフロー情報記憶部３１０に記憶させる。このフロー情報は、図５〜１８を用いて上述したように、中間ファイル４の名称と、実行される行番号と、テスト番号と、サブルーチン／分岐番号とを含んでいる。
【０１０５】
次に、ステップＳ１４へ進み、ステップＳ１２でプログラムバッファに読み込まれた１行分の命令がテスト番号を含む（すなわち、図５の第２行または第７行である）か否かを判定する。そして、テスト番号が含まれない場合にはステップＳ１５へ進み、テスト番号が含まれる場合にはステップＳ２１へ進む。
【０１０６】
次に、ステップＳ１５において、ステップＳ１２でプログラムバッファに読み込まれた１行分の命令が条件分岐すなわちｉｆ文を含むか否かを判定する。そして、条件分岐を含まない場合にはステップＳ１６へ進みプログラムポインタを次の行へ進めた後にステップＳ１２へ進み、条件分岐を含む場合にはステップＳ１７へ進む。
【０１０７】
次に、ステップＳ１７において、条件分岐式を表示手段の画面へ表示する。
【０１０８】
次に、ステップＳ１８へ進み、ユーザは、ステップＳ１７で表示された条件分岐式を参照し、所望の分岐先を入力手段から入力する。
【０１０９】
次に、ステップＳ１９へ進み、ステップＳ１８で入力された分岐先に基づき中間ファイルとしての条件分岐情報を生成し条件分岐情報記憶部３３０に記憶させる。そして、ステップＳ２０へ進みプログラムポインタを次の行へ進めた後にステップＳ１２へ進む。
【０１１０】
次に、ステップＳ２１において、フロー情報記憶部３１０に記憶されているテスト番号を参照することにより、現在のテスト番号が予め指定されたテスト番号に一致するかどうかを判定する（テスト番号として１００が指定された場合には、第２〜６行においてのみ一致する）。そして、一致する場合にはステップＳ２２へ進み最終テスト番号フラグをイネーブルにした後にステップＳ１５へ進む。一方、一致しない場合にはステップＳ２３へ進み最終テスト番号フラグがイネーブルであるかどうかを判定し、イネーブルである場合には動作を終了し、イネーブルでない場合にはステップＳ１５へ進む。
【０１１１】
この最終テスト番号フラグは、例えばテスト番号として１００が指定された場合には、第２行において初めてイネーブルとなり（ステップＳ２２）、第３〜６行においてイネーブルであり続ける（ステップＳ２２）。そして、第７行においては、テスト番号が１００から２００に変わるので、ステップＳ２１からステップＳ２３を経て動作を終了する。すなわち、最終テスト番号フラグを用いることにより、予め指定されたテスト項目（テスト番号＝１００）においてのみテスト条件パラメータを抽出することが可能となる。これにより、テスト条件パラメータの抽出に要する時間を短縮できる。
【０１１２】
図２３（ａ）〜（ｂ）は、本実施の形態に係るプログラム変換システム１０において特定のテスト項目のテスト条件のみを抽出する指定が行われた場合に、結果ファイル５を抽出する動作を示すフローチャートである。なお、図２３（ａ）は、図３において、テスト条件に加えてフロー情報も結果ファイル５として出力させる場合に対応している。
【０１１３】
ステップＳ１においては、入力手段からユーザにより出力条件２が指定される。
【０１１４】
また、ステップＳ２においては、テスト条件パラメータおよびフロー情報が抽出され表示手段に表示される。ユーザは、表示されたフロー情報に含まれる条件分岐式を参照し、分岐先（判定を真とするか偽とするか）を入力（指定）する。
【０１１５】
また、ステップＳ４においては、フロー情報に基づきテスト条件パラメータの上書きが行われる。
【０１１６】
例えば、図１のテストプログラム１において、第１，２，３，４，５，２０，２１，２３，２４，２５，６行がこの順に実行される場合（第２１行においてはユーザによりｃ≠０が指定される）には、上記の行を実行順序とは逆に第６行から第３行まで遡ることにより変数ＶＳ１，ＶＳ２，ＶＳ４を全て抽出できる。すなわち、第２４行においてはＶＳ４＝２．８Ｖが、第４行においてはＶＳ２＝５．５Ｖが、第３行においてはＶＳ１＝５．５Ｖが、それぞれ抽出される。
【０１１７】
また、ステップＳ５においては、テスト条件ファイルに基づき、結果ファイル５が生成され出力される。なお、この結果ファイル５には、テストプログラム１に記載されている全ての条件分岐がフロー情報から抽出され記載される。
【０１１８】
このように、本実施の形態に係るプログラム変換システム１０（を用いたプログラム変換方法）においては、テストプログラム１に含まれる複数のテスト項目の実行順序を規定するフロー情報を参照することにより、所定のテスト条件パラメータ（変数ＶＳ２等）の値が、先に実行される第１テスト項目において設定され後に実行される第２テスト項目において設定されない場合には、変数ＶＳ２等は第２テスト項目においては第１テスト項目において設定された値（６．０Ｖ等）を保っているものとして抽出される。従って、第２テスト項目において所定のテスト条件パラメータが設定されない場合においても、テスト条件パラメータを適切に抽出できる。
【０１１９】
また、複数の条件分岐における真偽の組み合わせを、実行され得ない組み合わせを除いて求め、これらの組み合わせに基づきテスト項目の実行順序を求め、これらの実行順序に従ってテスト条件パラメータを抽出するので、処理時間を短縮できる。
【０１２０】
すなわち、従来のプログラム変換システムにおいては、条件分岐における全ての真偽の組み合わせから単純にテスト条件パラメータを抽出するので、実際には実行され得ない組み合わせも想定しテスト条件パラメータが抽出される。従って、テスト条件パラメータの抽出に要する時間が長くなるという問題点があった。
【０１２１】
例えば、一般的なマイコン品種においては、測定結果や判定結果に基づく条件分岐が５〜１０個程度が含まれるので、単純に自動でテスト条件パラメータを抽出した場合には、抽出すべきテスト条件パラメータの組み合わせは、２5〜２10すなわち３２〜１０２４通りである。従来は、変換元テストプログラムを人手で解読し必要最小限のテスト条件パラメータを取得していたが、近年、デバイスの複雑化に伴いプログラムが複雑化しているので、テストプログラムを変換するための処理時間（ＴＡＴ）が非常に長くなっていた。
【０１２２】
例えば、１工程で実施されるテスト項目の数を１００項目とし測定結果に基づく条件分岐を含むテスト項目の数を５項目とした場合には、単純に全ての組み合わせでテスト条件パラメータを抽出する従来のプログラム変換システムにおいては、２5＝３２通りを抽出する必要が必要がある。本実施の形態に係るプログラム変換システム１０では、以下のように、大幅に処理時間を短縮することができる。
【０１２３】
すなわち、全テスト項目においてテスト条件パラメータを抽出し結果ファイルを出力した場合には、従来のプログラム変換システムでは、テスト条件パラメータの抽出（１秒）とテスト条件パラメータの上書き（１秒）と結果ファイルの出力（１秒）とそれぞれに３秒ずつかかるので、合計の処理時間は、３秒×（１００項目×３２）＝３秒×３２００項目≒２．７時間かかっていた。一方、本実施の形態に係るプログラム変換システム１０では、テスト条件パラメータの抽出および中間ファイルの出力（１秒）が（１００項目＋４項目）＝１０４項目において行われテスト条件パラメータの上書きおよび結果ファイルの出力が（１００項目×３２）＝３２００項目において行われるので、合計の処理時間は、２秒×１０４項目＋２秒×３２００項目≒２．０時間となる。すなわち、合計の処理時間は、約２．５割が削減されている。
【０１２４】
また、個別のテスト項目（５０項目）においてテスト条件パラメータを抽出し結果ファイルを出力した場合には、従来のプログラム変換システムでは、合計の処理時間は、３秒×５０項目＝２．５分かかっていた。一方、本実施の形態に係るプログラム変換システム１０では、フロー情報の抽出（１秒）が５０項目において行われテスト条件パラメータの抽出と中間ファイルの出力とテスト条件の上書きと結果ファイルの出力が１項目において行われるので、合計の処理時間は、１秒×５０項目＋４秒×１項目≒１分となる。すなわち、合計の処理時間は、約６割が削減されている。
【０１２５】
また、従来のプログラム変換システムにおいては、測定結果に基づく演算式がテストプログラムに含まれている場合には、全てのテスト条件パラメータを抽出することができないことがあるという問題点があった。これを避けるためには、テストプログラムのうち演算式に関する部分のみを人手で編集することが考えられるが、編集ミスに繋がる可能性があるという問題点があった。本実施の形態に係るプログラム変換システム１０では、図２１を用いて上述したように、テスト条件ファイルには、定数のみならず測定結果に基づく演算式も記憶される。従って、測定結果に基づく演算式がテストプログラムに含まれている場合においても、全てのテスト条件パラメータを抽出することができる。
【０１２６】
また、一般的な半導体試験装置は、テスト条件パラメータのうち、定数で表されるものについてはレジスタに保管しているが、演算式で表されるものについてはレジスタに保管していない。従って、従来のテストプログラム変換システムにおいては、テスト条件パラメータのうち、変換先プログラムを生成する上で必要な演算式については、抽出することができないという問題点があった。本実施の形態に係るプログラム変換システム１０では、上述したように、テスト条件パラメータが演算式で表される場合においても、演算式としてテスト条件ファイルに記憶させることにより抽出が可能となる。
【図面の簡単な説明】
【０１２７】
【図１】実施の形態１に係るプログラム変換システムの動作（テスト条件パラメータ抽出方法）を示す概念図である。
【図２】実施の形態１に係るプログラム変換システムの機能を示すブロック図である。
【図３】実施の形態１に係るプログラム変換システムの動作（テスト条件パラメータ抽出方法）を示すフローチャートである。
【図４】実施の形態１に係るプログラム変換システムの動作（テスト条件パラメータ抽出方法）を示すフローチャートである。
【図５】実施の形態１に係るテストプログラムの一例を示す図である。
【図６】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図７】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図８】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図９】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１０】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１１】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１２】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１３】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１４】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１５】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１６】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１７】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１８】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図１９】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図２０】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容を示す図である。
【図２１】実施の形態１に係るプログラム変換システムの動作に伴い記憶または生成される内容の他の例を示す図である。
【図２２】実施の形態１に係るプログラム変換システムの動作（テスト条件パラメータ抽出方法）を示すフローチャートである。
【図２３】実施の形態１に係るプログラム変換システムの動作（テスト条件パラメータ抽出方法）を示すフローチャートである。
【符号の説明】
【０１２８】
１  テストプログラム、２  出力条件、４  中間ファイル、４Ａ〜４Ｋ  テスト条件ファイル、５  結果ファイル、１０  プログラム変換システム、２１  抽出手段、２２  中間ファイル生成手段、２３  上書き手段、２４  出力手段、１００  メインルーチン、１１０，１２０  テストルーチン、２００  サブルーチン、３１０  フロー情報記憶部、３２０  サブルーチン呼び出し先情報記憶部、３３０  条件分岐情報記憶部。
【図１】
2008286670.tif 000003
【図２】
2008286670.tif 000004
【図３】
2008286670.tif 000005
【図４】
2008286670.tif 000006
【図５】
2008286670.tif 000007
【図６】
2008286670.tif 000008
【図７】
2008286670.tif 000009
【図８】
2008286670.tif 000010
【図９】
2008286670.tif 000011
【図１０】
2008286670.tif 000012
【図１１】
2008286670.tif 000013
【図１２】
2008286670.tif 000014
【図１３】
2008286670.tif 000015
【図１４】
2008286670.tif 000016
【図１５】
2008286670.tif 000017
【図１６】
2008286670.tif 000018
【図１７】
2008286670.tif 000019
【図１８】
2008286670.tif 000020
【図１９】
2008286670.tif 000021
【図２０】
2008286670.tif 000022
【図２１】
2008286670.tif 000023
【図２２】
2008286670.tif 000024
【図２３】
2008286670.tif 000025