JP4061931B2 - 実行履歴記録装置、ブレーク命令設定装置、及びプログラム - Google Patents

実行履歴記録装置、ブレーク命令設定装置、及びプログラム Download PDF

Info

Publication number
JP4061931B2
JP4061931B2 JP2002068703A JP2002068703A JP4061931B2 JP 4061931 B2 JP4061931 B2 JP 4061931B2 JP 2002068703 A JP2002068703 A JP 2002068703A JP 2002068703 A JP2002068703 A JP 2002068703A JP 4061931 B2 JP4061931 B2 JP 4061931B2
Authority
JP
Japan
Prior art keywords
inspection
function
script
execution
history recording
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002068703A
Other languages
English (en)
Other versions
JP2003271415A (ja
Inventor
祐子 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2002068703A priority Critical patent/JP4061931B2/ja
Publication of JP2003271415A publication Critical patent/JP2003271415A/ja
Application granted granted Critical
Publication of JP4061931B2 publication Critical patent/JP4061931B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、検査スクリプトに基づく結合テストの自動化技術に関する。
【0002】
【従来の技術】
近年、自動車等の車両にも多くのコンピュータシステムが採用されており、車両の随所にソフトウェアを搭載した電子制御装置が配置されるようになった。
そのため、今日では、ソフトウェア開発工数の削減が重要な課題となっている。特に、車載用のコンピュータシステムに搭載される制御ソフトウェアでは、車両側の部品変更や仕様変更などでソフトウェアの変更を余儀なくされる。
【0003】
そこで、近年のプログラム開発ではオブジェクト指向設計が主流となってきた。その一つの現れが、車両部品やその機能に着目し、その単位でプログラムを作成するという手法である。このようにすれば、プログラムの再利用性が高くなるからである。なお、部品単位や機能単位のプログラムを以下では「部品プログラム」という。
【0004】
一方、このようなプログラムの検査では、部品プログラム個々の単体検査を行い、次に、部品プログラムを結合させた結合検査を行うのが一般的である。
部品検査では部品プログラムの個々の動作を検査するのに対し、結合検査においては、部品プログラムが検査仕様書にある通りの順序でコールされているかや、入力データを与えて得られる演算結果が予め用意される出力データと同一であるかといった検査が主となる。
【0005】
そしてこのような結合検査は、図6(a)に示すように、部品プログラムを結合したソースプログラム中の検査対象120に対応させてドライバ110を用意して行うことが考えられる。これによって、ドライバ110により、検査対象120を、いわゆるシミュレータと呼ばれる実行履歴記録装置が実行し、検査することができる。
【0006】
しかし、この場合、検査対象120に対して個々にドライバ110を用意する必要があり、また、ドライバ110と検査対象120という単位でコンパイル・リンクする必要がある。特に、車両制御用の大規模なプログラムであれば、検査対象120が数千といったオーダーで存在するため、検査対象120に対応するドライバ110の準備や、検査対象120とドライバ110をセットにしてコンパイル・リンクするのに多大な時間を要してしまう。
【0007】
これを解決するための手法として、図6(b)に示すように、ソースプログラム81全体を実行履歴記録装置で実行し、検査対象81aを、検査情報の記述される検査スクリプト82で特定することが考えられる。
この場合、検査対象81a毎に検査スクリプト82を用意する必要はあるが、ドライバ41をソースプログラム81と共にコンパイル・リンクすれば、後は、検査スクリプト82を変えるだけで、実行履歴記録装置による複数の検査対象81aに対する検査が可能となる。つまり、検査対象81aが多くなっても、コンパイル・リンクが発生しないため、検査工数が削減できるのである。
【0008】
本発明は、このような形態の結合検査を前提とする技術である。
【0009】
【発明が解決しようとする課題】
このとき、図7に示すように、関数Aからコールされる関数Bを検査開始関数とする場合、すなわち、関数Aからコールされる関数B以下が検査対象81aとなる場合を考える。
【0010】
このような場合、従来の実行履歴記録装置では、次のような問題があった。
それは、関数Aから関数Bがコールされる時点を特定できず、関数Bに制御が移ってからしか関数Bの実行を判断できないことである。つまり、図7中の記号bの時点を判断することはできても、記号aの時点を判断することができなかった。記号bの時点で関数Bの実行が判断できても、関数Aがコール元であるのか否かを判断できないため、検査開始位置を特定できない。
【0011】
そのため、作業者が、手動で実行履歴記録装置を操作して検査開始位置を特定したり、あるいは、関数Bがコールされる関数A中の行番号を検査スクリプトに予め書き込んだりする必要があり、この意味で完全な自動化がなされていなかった。
【0012】
本発明は、検査スクリプトに基づいて検査開始位置を自動的に判断できる実行履歴記録装置を提供し、検査スクリプトに基づく結合検査の自動化を実現することを目的とする。
【0013】
【課題を解決するための手段及び発明の効果】
本発明の実行履歴記録装置は、単位機能毎に細分化された部品プログラムにて構成される処理プログラムを実行し、検査情報が記述された検査スクリプトに基づいて処理実行の履歴を記録する。ここでいう部品プログラムは、オブジェクト指向設計でいうところのオブジェクトに該当する。その場合の検査情報は、オブジェクト間メッセージ通信の順序を示すシナリオ情報であることが一例として考えられる。
【0014】
ここで、実行履歴記録装置は、検査スクリプト中に記された処理プログラムにおける検査開始位置を示すブレーク命令に基づき、当該検査開始位置を判断して履歴を記録することが可能となっている。
このような基本構成を下に、本発明は特に、スクリプト取得手段、ソース取得手段、位置特定手段、及びブレーク命令設定手段を備える。
【0015】
スクリプト取得手段は、上述した検査スクリプトを取得する手段であり、この検査スクリプトには、少なくとも、処理プログラム中の検査対象である検査開始関数を特定する当該検査開始関数の名称情報及び当該検査開始関数をコールする親関数を特定する当該親関数の名称情報が記述されている。
ソース取得手段は、処理プログラムのソース記述を取得する。
【0016】
そして、位置特定手段が、ソース取得手段により取得された処理プログラムのソース記述に基づき、スクリプト取得手段により取得された検査スクリプトが示す検査開始関数をコールする処理プログラム上の親関数において、当該親関数から検査開始関数がコールされる位置を、処理プログラムにおける検査開始位置として特定し、ブレーク命令設定手段によって、その特定された位置を示すブレーク命令が検査スクリプトに追加される。
【0017】
これによって、検査スクリプトに基づいて自動的にブレーク命令が設定されるため、検査開始位置を自動的に判断でき、検査スクリプトに基づく結合検査が自動化される。このような自動化により、複数の検査スクリプトに基づく連続した実行履歴の記録が可能となる。
【0018】
なお、特に車両制御用の処理プログラムは、例えば仕向地の違いにより、実行される部分と実行されない部分とを含む可能性がある。いわゆるコンパイラによる条件コンパイルがなされることがある。
そこで、さらに、処理プログラムのソース記述におけるプリプロセッサ命令により定まるコンパイル部分を、実行部分として特定する実行部分特定手段を備えるようにするとよい(請求項2)。この場合、ソース取得手段は、実行部分特定手段にて実行部分の特定されたソース記述を取得する。
【0019】
これによって、実行部分に検査開始位置を特定でき、条件コンパイルにも対応できる。
ところで、実行履歴記録装置は、検査開始位置を判断してから、親関数の処理が復帰するまで、履歴を記録する構成とすることが考えられる(請求項3)。親関数から検査開始関数がコールされた後、最終的に検査開始関数の終了で親関数へ実行が移るため、この期間に履歴を記録すれば、検査開始関数以下の関数に対し、適切に履歴を記録できる。
【0020】
また、検査スクリプトには、検査対象である検査開始関数の変数に対する入力データを記述しておき、検査開始位置を判断すると、入力データの設定を行うようにすることが考えられる(請求項4)。このようにすれば、検査のための入力データの設定までが自動化される。
【0021】
さらに、検査スクリプトには、入力データに対応する解である出力データを記述しておいてもよい(請求項5)。変数値が正しいか否かを簡単に比較チェックできるからである。この意味では、さらに、検査スクリプトに記述された出力データを用いて、検査対象の変数に、入力データを設定したときの検査対象の出力をチェックするようにしてもよい(請求項6)。このようにすれば、演算結果のチェックまでが自動化されることになり、さらに便利である。
【0022】
以上は、実行履歴記録装置の発明として説明してきたが、本発明は、検査スクリプトの情報に基づいて、ブレーク命令を追加することに特徴がある。
したがって、ブレーク命令設定装置の発明として実現することもできる(請求項7)。実行履歴記録装置が上述したような基本構成を有することを前提として、このようなブレーク命令設定装置を用いれば、検査スクリプトに基づいて検査開始位置を自動的に判断でき、検査スクリプトに基づく結合検査が自動化されることになる。
【0023】
そしてこのようなブレーク命令設定装置においても、さらに、処理プログラムのソース記述におけるプリプロセッサ命令により定まるコンパイル部分を、実行部分として特定する実行部分特定手段を備える構成とし、ソース取得手段が、実行部分特定手段にて実行部分の特定されたソース記述を取得するようにしてもよい(請求項8)。これによって、条件コンパイルに対応できる。
【0024】
なお、このような実行履歴記録装置又はブレーク命令設定装置の各手段をコンピュータにて実現する機能は、例えば、コンピュータ側で起動するプログラムとして備えることができる。したがって、本発明はプログラムの発明として実現することもできる(請求項9)。
【0025】
このようなプログラムの場合、例えば、FD、MO、CD−ROM、DVD−ROM、HD等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードして起動することにより用いることができる。この他、ROMやバックアップRAMをコンピュータ読み取り可能な記録媒体として本プログラムを記録しておき、このROMあるいはバックアップRAMをコンピュータに組み込んで用いてもよい。
【0026】
【発明の実施の形態】
以下、本発明を具体化した一実施例を図面を参照して説明する。
図1は、本実施例の実行履歴記録システムの概略構成を示す説明図である。
実行履歴記録システムは、実行履歴記録装置10と、サーバ90とを備えている。ここでは実行履歴記録装置10とサーバ90とを備えるシステムとして構成したが、一つのコンピュータシステムとして実現できることは言うまでもない。
【0027】
実行履歴記録装置10は、装置本体11、表示手段としてのモニタ12、及び、入力手段としてのキーボード13を備える、いわゆるコンピュータシステムである。
一方、サーバ90も、コンピュータシステムであり、装置本体91、表示手段としてのモニタ92を備えている。
【0028】
装置本体91には大容量のハードディスク装置80が接続されており、このハードディスク装置80には、ソースプログラム81、検査スクリプト82、及びスタブ83が記録されている。ソースプログラム21及び検査スクリプト82は、利用者によって作成されて記憶される。スタブ83は、検査に先だってサーバ90によって作成される。
【0029】
実行履歴記録装置10は、上述した3つの情報をサーバ90から読み込み、これら3つの情報に基づいて実行履歴を記録する。
そこでまずソースプログラム81、検査スクリプト82、スタブ83について説明を加える。
【0030】
ソースプログラム81は、部品単位あるいは機能単位に作成される部品プログラムによって構成され、複数のファイルからなっている。
検査スクリプト82は、検査情報を記述したものであり、テキストファイルとして作成されている。この検査スクリプト82は、検査対象毎に作成される。
【0031】
具体的に検査スクリプト82には、検査開始関数の名称、当該検査開始関数をコールする親関数の名称がセットになって記述される。これにより、特定の親関数からコールされた場合の検査開始関数以下の関数が検査対象として指定する。
また、検査スクリプト82には、検査対象とする変数の名称、変数への入力データ及び、入力データに対応する解である出力データが予め記録されている。
【0032】
スタブ83は、検査開始関数以下の関数からコールされるダミーの関数群である。このスタブ83は、上述したようにサーバ90により作成される。
次に、本実施例の実行履歴記録装置10の動作を説明する。
図2は、実行履歴記録装置10の装置本体11の機能ブロック図である。すなわち、装置本体11の機能は、プローブ埋め込みブロック31、実行部分特定ブロック32、ブレーク命令設定ブロック33、ラベル定義抽出ブロック34、ラベル置換ブロック35、コンパイルブロック36、実行履歴記録ブロック37、及び、出力ブロック38に分けることができる。
【0033】
ここで各ブロック31〜38の機能を大まかに説明する。
プローブ埋め込みブロック31は、ソースプログラム81に対して、プローブと呼ばれる履歴記録のための出力関数を埋め込む。例えば、関数の入口や出口にこのようなプローブを埋め込むことにより、関数が実行されることにより、その関数の開始や終了、あるいは演算結果が実行履歴として記録される。
【0034】
実行部分特定ブロック32は、ソースプログラム81の実行行を特定する。例えば、車両制御用のプログラムを例に挙げると、仕向地の違いなどにより、ソースプログラム81を部分的にコンパイルすることがある。これが条件コンパイルであり、ソースプログラム81中のプリプロセッサ命令によってコンパイルする部分が指定される。従って、このようなプリプロセッサ命令を解析して実行部分を特定するのが、実行部分特定ブロック32である。なお、実行部分の特定機能は、従来よりコンパイラのプリプロセッサ機能として存在するため、このようなコンパイラを利用することにより容易に実現できる。
【0035】
ブレーク命令設定ブロック33は、実行部分特定ブロック32にて実行行が特定されたソースプログラム81に基づき、検査スクリプト82を参照して、検査開始位置を示すブレーク命令を、検査スクリプト82に追加する。これによって、ソースプログラム81の中の検査開始位置が実行履歴記録装置10で判断できることになる。
【0036】
ラベル定義抽出ブロック34は、ソースプログラム81中のマクロラベル定義を抽出する。検査スクリプト82に検査対象の変数名が記述されることは既に述べたが、この変数名がソースプログラム81で用いられるマクロラベルで記述されることがある。そのため、ラベル置換ブロック35が、検査スクリプト82中に記述されたマクロラベルを実体情報に置換する。これらラベル定義抽出ブロック34及びラベル置換ブロック35により、検査スクリプト82においても、ソースプログラム81と同様のマクロラベルを用いることが可能となる。
【0037】
コンパイルブロック36は、プローブ埋め込みブロック31にてプローブが埋め込まれたソースプログラム81及びスタブ83をコンパイル・リンクし、実行履歴記録ブロック37へ出力する。
実行履歴記録ブロック37は、検査スクリプト82中に追加された検査開始位置を示すブレーク命令により、検査開始位置を判断すると、検査対象となっている変数に入力データを設定して、実行履歴の記録を開始する。実行履歴には、関数コールの順序情報や変数値が含まれる。そして、検査開始関数が終了し、親関数に実行が移ると、履歴の記録を終了する。さらに、検査スクリプト82に記述された出力データと変数値とを比較することにより、検査対象の変数をチェックし、実行履歴と共にチェック結果を出力する。
【0038】
出力ブロック38は、実行履歴やチェック結果を、モニタ12や図示しない記憶装置へ出力する。
ここで特に、本実施例の実行履歴記録装置10では、上述した実行部分特定ブロック32からの出力に基づく、ブレーク命令設定ブロック33の動作に特徴を有する。
【0039】
したがって、これら実行部分特定ブロック32及びブレーク命令設定ブロック33の動作を以下詳細に説明する。
実行部分特定ブロック32は、上述したように、ソースプログラム81中の実行行を特定する。
【0040】
例えば、図3にソースプログラム81のソース記述の一部を示した。このソースプログラム81は、ファイル名「file2.c」というファイルとして存在する。このとき、実行部分特定ブロック32は、8,10行のプリプロセッサ命令を解析し、1〜7,12〜15行を実行行として特定する。
【0041】
続けて、ブレーク命令設定ブロック33のブレーク命令設定処理を、図4のフローチャートに基づいて説明する。
まず最初のステップ(以下、ステップを単に記号Sで示す。)100において、検査スクリプト82を取得する。続くS110では、関数名を取得する。この処理は、検査スクリプト82中に記載される検査開始関数の名称、及び、その検査開始関数をコールする親関数の名称を取得するものである。検査開始関数名「child1」、親関数名「parent1」が取得されたものとして以下の説明を続ける。
【0042】
次のS120では、ファイルのオープンを行う。このファイルは、実行部分特定ブロック32から出力されるソースプログラム81のソース記述ファイルである。
続くS130では、実行部分の解析を行い、次のS140にて、S110で取得した関数を検索する。
【0043】
続くS150では、S140での検索結果に基づき、対象関数を発見したか否かを判断する。検査開始関数が検索されても、その検査開始関数をコールする親関数が検査スクリプト82に指定されたものでなければ、ここで否定判断される。例えば、図5(a)では、検査開始関数「child1」が存在するが(記号b)、コール元の親関数が検査スクリプト82とは異なる「parent0」であるため(記号a)否定判断される。一方、図5(b)では、検査スクリプト82に記載された親関数「parent1」が存在し(記号c)、その中に検査開始関数「child1」が存在するため(記号d)肯定判断される。対象関数を発見した場合(S150:YES)、S160へ移行する。これに対し対象関数が発見されない場合は(S150:NO)、S120からの処理を繰り返す。
【0044】
S160では、行番号を抽出する。例えば図5(b)では、親関数「parent1」から検査開始関数「child1」がコールされる行番号「6」が抽出される。
続くS170では、検査スクリプト82に、検査開始位置を示すブレーク命令を追加する。ここでは、ファイル名と行番号とが検査開始位置を示す。図5(b)の例では、ファイル名「file2.c」と行番号「6」が検査開始位置となる。ただし、ファイル名と行番号とを直接的に検査スクリプト82に記述する必要はない。例えば、ファイル名と行番号とをブレーク情報として別途記憶しておき、検査スクリプト82中のブレーク命令と対応させるようにしてもよい。
【0045】
次のS180では、未処理の検査スクリプトがあるか否かを判断する。ここで未処理の検査スクリプトがあると判断された場合(S180:YES)、S100からの処理を繰り返す。一方、未処理の検査スクリプトがない場合には(S180:NO)、本ブレーク命令設定処理を終了する。
【0046】
次に、本実施例の実行履歴記録装置10の発揮する効果を説明する。
本実施例では、検査開始関数の名称及び当該検査開始関数をコールする親関数の名称が記述された検査スクリプト82を取得し(図4中のS100)、検査スクリプト82に記述された関数名を取得する(S110)。そして、ソースプログラム81の記述ファイルをオープンし(S120)、実行部分より対象関数を検索し(S130,S140)、検査開始関数をコールする親関数の行番号を抽出して(S160)、検査開始位置を示すブレーク命令を検査スクリプト82に追加する(S170)。実行履歴記録装置10は、検査スクリプト82に追加されたブレーク命令に基づき、検査開始位置を判断して、処理実行の履歴を記録する。
【0047】
これによって、検査スクリプト82に基づいて自動的にブレーク命令が設定されるため、検査開始位置を自動的に判断でき、検査スクリプト82に基づく結合検査が自動化される。
複数の検査スクリプト82がある場合、未処理の検査スクリプト82があるうちは(図4中のS180:YES)、一連のブレーク命令設定処理を繰り返す。したがってここでは、複数の検査スクリプト82に基づく連続した実行履歴の記録が可能となる。
【0048】
また、本実施例では、実行部分特定ブロック32がソースプログラム81中の実行部分を特定することにより、実行部分を解析して(図4中のS130)、対象関数を検索する(S140)。これによって、ソースプログラム81の実行部分に検査開始位置を特定でき、条件コンパイルにも対応できる。
【0049】
さらにまた、本実施例では、検査スクリプト82に、検査対象の変数に対する入力データ及び、当該入力データの解である出力データが記述されている。そして、実行履歴記録装置10は、ブレーク命令により検査開始位置を判断すると、入力データの設定を行う。これによって、検査のための入力データの設定までが自動化される。また、実行履歴記録装置10は、出力データを用いて、検査対象の変数値をチェックする。その結果、演算結果のチェックまでが自動化される。
【0050】
なお、本実施例における実行部分特定ブロック32が「実行部分特定手段」に相当し、ブレーク命令設定ブロック33が「スクリプト取得手段」、「ソース取得手段」、「位置特定手段」及び「ブレーク命令設定手段」に相当する。
そして、図4中のS100が「スクリプト取得手段」としての処理に相当し、S120の処理が「ソース取得手段」としての処理に相当し、S130〜S160が「位置特定手段」としての処理に相当し、S170が「ブレーク命令設定手段」としての処理に相当する。
【0051】
以上本発明はこのような実施形態に何等限定されるものではなく、本発明の主旨を逸脱しない範囲において種々なる形態で実施し得ることは言うまでもない。
【図面の簡単な説明】
【図1】実施例の実行履歴記録システムの構成を示す説明図である。
【図2】実行履歴記録装置の機能を示す機能ブロック図である。
【図3】実行部分の特定を具体的に示す説明図である。
【図4】ブレーク命令設定処理を示す説明図である。
【図5】対象関数の検索を具体的に示す説明図である。
【図6】結合検査の手法を示す説明図である。
【図7】検査開始位置の特定に関する問題を示す説明図である。
【符号の説明】
10…実行履歴記録装置
11…装置本体
12…モニタ
13…キーボード
31…プローブ埋め込みブロック
32…実行部分特定ブロック
33…ブレーク命令設定ブロック
34…ラベル定義抽出ブロック
35…ラベル置換ブロック
36…コンパイルブロック
37…実行履歴記録ブロック
38…出力ブロック
41…ドライバ
80…ハードディスク装置
81…ソースプログラム
81a…検査対象
82…検査スクリプト
83…スタブ
90…サーバ
91…装置本体
92…モニタ
110…ドライバ
120…検査対象

Claims (9)

  1. 単位機能毎に細分化された部品プログラムにて構成される処理プログラムを実行し、検査情報が記述された検査スクリプトに基づいて処理実行の履歴を記録するものであって、前記検査スクリプト中に記された前記処理プログラムにおける検査開始位置を示すブレーク命令に基づき、当該検査開始位置を判断して前記履歴を記録する実行履歴記録装置であって
    前記処理プログラム中の検査対象である検査開始関数を特定する当該検査開始関数の名称情報及び当該検査開始関数をコールする親関数を特定する当該親関数の名称情報が少なくとも記述された検査スクリプトを取得するスクリプト取得手段と、
    前記処理プログラムのソース記述を取得するソース取得手段と、
    前記ソース取得手段により取得された前記処理プログラムのソース記述に基づき、前記スクリプト取得手段により取得された前記検査スクリプトが示す前記検査開始関数をコールする前記処理プログラム上の前記親関数において、当該親関数から前記検査開始関数がコールされる位置を、前記処理プログラムにおける検査開始位置として特定する位置特定手段と、
    前記位置特定手段にて特定された位置を示すブレーク命令を前記検査スクリプトに追加するブレーク命令設定手段とを備えていること
    を特徴とする実行履歴記録装置。
  2. 請求項1に記載の実行履歴記録装置において、
    さらに、前記処理プログラムのソース記述におけるプリプロセッサ命令により定まるコンパイル部分を、実行部分として特定する実行部分特定手段を備え、
    前記ソース取得手段は、前記実行部分特定手段にて実行部分の特定されたソース記述を取得すること
    を特徴とする実行履歴記録装置。
  3. 請求項1又は2に記載の実行履歴記録装置において、
    前記検査開始位置を判断してから、前記親関数の処理が復帰するまで、前記履歴を記録すること
    を特徴とする実行履歴記録装置。
  4. 請求項1〜3のいずれかに記載の実行履歴記録装置において、
    前記検査スクリプトには、前記検査対象である前記検査開始関数の変数に対する入力データが記述されており、
    前記検査開始位置を判断すると、前記入力データの設定を行うこと
    を特徴とする実行履歴記録装置。
  5. 請求項4に記載の実行履歴記録装置において、
    前記検査スクリプトには、前記入力データに対応する解である出力データが記述されていること
    を特徴とする実行履歴記録装置。
  6. 請求項5に記載の実行履歴記録装置において、
    前記出力データを用いて、前記検査対象の変数に、前記入力データを設定したときの前記検査対象の出力をチェックすること
    を特徴とする実行履歴記録装置。
  7. 単位機能毎に細分化された部品プログラムにて構成される処理プログラムを実行し、検査情報が記述された検査スクリプトに基づいて処理実行の履歴を記録する実行履歴記録装置であって、前記検査スクリプト中に記された前記処理プログラムにおける検査開始位置を示すブレーク命令に基づき、当該検査開始位置を判断して前記履歴を記録する実行履歴記録装置、に対して用いられるブレーク命令設定装置であって、
    前記処理プログラム中の検査対象である検査開始関数を特定する当該検査開始関数の名称情報及び当該検査開始関数をコールする親関数を特定する当該親関数の名称情報が少なくとも記述された検査スクリプトを取得するスクリプト取得手段と、
    前記処理プログラムのソース記述を取得するソース取得手段と、
    前記ソース取得手段により取得された前記処理プログラムのソース記述に基づき、前記スクリプト取得手段により取得された前記検査スクリプトが示す前記検査開始関数をコールする前記処理プログラム上の前記親関数において、当該親関数から前記検査開始関数がコールされる位置を、前記処理プログラムにおける検査開始位置として特定する位置特定手段と、
    前記位置特定手段にて特定された位置を示すブレーク命令を前記検査スクリプトに追加するブレーク命令設定手段とを備えていること
    を特徴とするブレーク命令設定装置。
  8. 請求項7に記載のブレーク命令設定装置において、
    さらに、前記処理プログラムのソース記述におけるプリプロセッサ命令により定まるコンパイル部分を、実行部分として特定する実行部分特定手段を備え、
    前記ソース取得手段は、前記実行部分特定手段にて実行部分の特定されたソース記述を取得すること
    を特徴とするブレーク命令設定装置。
  9. 請求項1〜6のいずれかに記載の実行履歴記録装置、又は、請求項7若しくは8に記載のブレーク命令設定装置の各手段としてコンピュータを機能させるプログラム。
JP2002068703A 2002-03-13 2002-03-13 実行履歴記録装置、ブレーク命令設定装置、及びプログラム Expired - Fee Related JP4061931B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002068703A JP4061931B2 (ja) 2002-03-13 2002-03-13 実行履歴記録装置、ブレーク命令設定装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002068703A JP4061931B2 (ja) 2002-03-13 2002-03-13 実行履歴記録装置、ブレーク命令設定装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2003271415A JP2003271415A (ja) 2003-09-26
JP4061931B2 true JP4061931B2 (ja) 2008-03-19

Family

ID=29199735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002068703A Expired - Fee Related JP4061931B2 (ja) 2002-03-13 2002-03-13 実行履歴記録装置、ブレーク命令設定装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP4061931B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2921170B1 (fr) * 2007-09-14 2018-01-12 Airbus Operations Procede de generation automatique de programmes de test d'un logiciel de fonctionnement d'un systeme embarque a bord d'un aeronef, et dispositif de mise en oeuvre

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0253146A (ja) * 1988-08-17 1990-02-22 Oki Electric Ind Co Ltd プログラム・トレース方法
JPH04367946A (ja) * 1991-06-17 1992-12-21 Nec Corp デバッグ情報出力方式
JPH06290077A (ja) * 1993-04-06 1994-10-18 Hitachi Ltd プログラム実行中断点設定方法
JPH07191876A (ja) * 1993-12-27 1995-07-28 Nec Corp プログラム試験装置とその使用方法
JPH0822401A (ja) * 1994-07-07 1996-01-23 Hitachi Ltd プログラム実行中断方法およびデバッギング装置
JPH09244921A (ja) * 1996-03-08 1997-09-19 Fujitsu Ltd ソフトウエア試験の自動化システム
JPH10312313A (ja) * 1997-05-13 1998-11-24 Nippon Telegr & Teleph Corp <Ntt> C言語の計算機プログラム検査処理方法およびプログラム記憶媒体
JP2000089977A (ja) * 1998-09-10 2000-03-31 Toshiba Corp デバッグシステム
JP2000215037A (ja) * 1999-01-22 2000-08-04 Toshiba Corp ソ―スコ―ド表示装置、ソ―スコ―ド表示方法およびデバック処理装置
JP2000330823A (ja) * 1999-05-24 2000-11-30 Nec Corp プログラムのデバッグ装置およびデバッグ方法
JP2001142684A (ja) * 1999-11-15 2001-05-25 Fujitsu Ltd ソースプログラムを解析するためのプログラムを格納した記録媒体
JP2001290674A (ja) * 2000-04-06 2001-10-19 Matsushita Electric Ind Co Ltd プログラム中断点設定装置および方法

Also Published As

Publication number Publication date
JP2003271415A (ja) 2003-09-26

Similar Documents

Publication Publication Date Title
JP2010113449A (ja) ソフトウェア分析装置
KR101110241B1 (ko) 프로그램 테스트 장치 및 프로그램
CN114860586A (zh) 一种基于动态插桩的二进制多执行体软件插桩方法
JPH0748182B2 (ja) プログラム・エラー検出方法
US20090217259A1 (en) Building Operating System Images Based on Applications
JPWO2014184896A1 (ja) プログラム解析装置、プログラム解析方法およびプログラム解析プログラム
JP4009517B2 (ja) プログラム開発支援装置およびコンパイル方法
JP4061931B2 (ja) 実行履歴記録装置、ブレーク命令設定装置、及びプログラム
JP6567212B2 (ja) 等価性検証装置および等価性検証プログラム
EP1202171A2 (en) Compile method and program recording medium
US20150033213A1 (en) Compiling method, storage medium and compiling apparatus
JP2003296137A (ja) 実行履歴記録装置、ラベル置換装置、及びプログラム
JPH10293683A (ja) プログラムの比較解析装置、プログラムの比較解析方法、及びプログラムの比較解析プログラムを記録した機械読み取り可能な記録媒体
JP2007328447A (ja) ソフトウェア試験項目選択装置、ソフトウェア試験項目選択プログラム、ソフトウェア試験項目選択プログラムが格納された記憶媒体およびソフトウェア試験項目選択方法
US20100036891A1 (en) Apparatus and method for collecting logging information, and computer-readable recording medium in which a logging information collecting program is stored
CN117573625B (zh) 一种用于ate测试的处理方法
JP2002014847A (ja) プログラム検査装置、プログラム検査方法及び検査を行うためのプログラムを格納した記録媒体
JP2000357097A (ja) プログラム管理方法
JP6072547B2 (ja) アプリケーション・テストシステム
CN106528405A (zh) 基于OSGi构建软件运行中进行调试实现方法及系统
JP2820184B2 (ja) ロードモジュール単体テスト支援装置
JP4149047B2 (ja) シミュレータ
JP2003296139A (ja) スタブ作成装置、及びプログラム
JPH01261737A (ja) 言語プロセッサの検査自動管理方式
JP2008071065A (ja) インライン展開を行うコンパイル装置、方法、プログラム、記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071217

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120111

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130111

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140111

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees