JP2008210059A - 情報処理装置、デバッグ支援方法及びプログラム - Google Patents

情報処理装置、デバッグ支援方法及びプログラム Download PDF

Info

Publication number
JP2008210059A
JP2008210059A JP2007044705A JP2007044705A JP2008210059A JP 2008210059 A JP2008210059 A JP 2008210059A JP 2007044705 A JP2007044705 A JP 2007044705A JP 2007044705 A JP2007044705 A JP 2007044705A JP 2008210059 A JP2008210059 A JP 2008210059A
Authority
JP
Japan
Prior art keywords
assertion
precondition
program
execution control
annotation
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.)
Withdrawn
Application number
JP2007044705A
Other languages
English (en)
Inventor
Akihiro Shibata
晃宏 柴田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2007044705A priority Critical patent/JP2008210059A/ja
Publication of JP2008210059A publication Critical patent/JP2008210059A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】プログラム中で間違った動作をする箇所の発見や原因調査のために、動作の異常を起こす範囲を特定するとともに異常発生の直前状態をデバッガ上で自動的に再現する。
【解決手段】あらかじめ形式的に記述しておいた仕様(例えばメソッドの事前条件と事後条件)に従って、プログラムの動作状況を自動的に検証、プログラム内の誤っている箇所の範囲、つまり挙動を確認すべき範囲を自動的に絞り込む。より詳細には、メソッドの表明に関して注釈で事前条件と事後条件を定まった形式で記述しておき、その表明注釈を解析する表明注釈解析部4と、メソッドを表明ごとにシンボリックデバッガ3に実行させる実行制御部5と、実行結果が事前条件又は事後条件を満たすか否かを評価するデバッグ範囲特定部6と、を有する。
【選択図】図1

Description

本発明は、情報処理装置、デバッグ支援方法及びプログラムに関する。
プログラムをデバッグする場合、何らかの障害が報告されたことに対して、同じ現象をデバッガ上で再現してプログラムの挙動を解析することで原因を調査し、対処法を考えていくのが通常のやり方であった。
例えば、特許文献1(特に段落0027−0030等)を参照すると、所定の内部イベント後にその成立条件とデバッガの操作が記述されたカスタムハンドラとを登録したイベントテーブルを持ち、イベントテーブルの各内部イベント成立条件とデバッガの状態変数とを監視し、内部イベント成立条件が成立しているかを調べ、内部イベント成立条件が成立したときに、該内部イベントに対応してイベントテーブルに登録されているカスタムハンドラを起動するデバッガに関する技術が開示されている。
また、例えば、特許文献2を参照すると、ユーザが指定した制御の流れ及び変数値と、デバッガで実行した制御の流れ及び変数値とを比較して、プログラム情報の検証を行う技術が開示されている。
しかし、報告された現象の原因をデバッガで調べるためには、障害発生の少し前の時点でデバッガを停止状態にする必要があるが、それは容易ではない。
なぜならば、デバッガ上ではいったん実行時エラーが発生してしまったプログラムを、エラー発生の前の状態に逆戻りさせることができないからである。
実行時エラーが発生する主要な原因は、そのエラーが発生したメソッド呼出の初期状態や、そのメソッド内で既に実行されたステートメントの作用が想定外となっていることである。この場合、Programming By Contractの考え方(例えば、非特許文献1参照)を応用し、エラー発生に関与するメソッドの事前条件や事後条件を明確化することで、想定外の事態を引き起こすようなメソッドの使い方を予防することができる。
実行時エラーを標的にデバッグする代わりに、事前条件や事後条件へ違反する状況を標的にしてデバッグする場合、標的の直前でデバッガを自動停止させることは、不可能ではなくなる。それを実現したのが本発明である。
特開平11−306042号公報 特開平02−310637号公報 Bertrand Myer著、二木厚吉監訳『オブジェクト指向入門』アスキー出版局、1990年11月21日、pp.153−168
上記従来技術は、デバッグを効率化するという点で、本発明と目的とする方向が一致するものではあるが、次のような問題点があった。
プログラムのデバッグ時に、誤った動作をしている箇所を見つけ出すにはステップ実行によってプログラムの挙動を逐一確認するという手間のかかる作業が必要だった。
そこで本発明は、上記従来技術の問題点に鑑み、プログラム中で間違った動作をする箇所の発見や原因調査のために、動作の異常を起こす範囲を特定するとともに異常発生の直前状態をデバッガ上で自動的に再現することを可能にすることを目的とする。
上記目的を達成するための請求項1記載の発明は、各メソッドの事前条件及び事後条件が記述された表明注釈が付与されたプログラムリストのデバッグを支援する情報処理装置であって、デバッグ対象の表明注釈付きプログラムリストの表明注釈を解析する表明注釈解析手段と、前記プログラムリストの有する各メソッドの開始時点及び終了時点にブレークポイントを置き、該ブレークポイントにて、プログラムの実行の停止及び再開のいずれか一方をシンボリックデバッガにさせる実行制御手段と、前記表明注釈解析手段による解析によって得られた各メソッドの事前条件及び事後条件に基づき、前記各メソッドの表明ごとに前記事前条件及び事後条件の真偽値を得るデバッグ範囲特定手段と、を有し、前記実行制御手段は、前記ブレークポイントにて、前記デバッグ範囲特定手段に、前記各メソッドの表明ごとに前記事前条件及び事後条件の真偽値を評価させ、前記デバッグ範囲特定手段は、呼出メソッドから呼び出されたメソッドの、ある表明の事前条件の評価結果が偽であれば、デバッグ範囲を、前記呼出メソッドの開始時点から前記表明にて前記呼び出されたメソッドを呼び出す時点までに特定し、呼出メソッドから呼び出されたメソッドの、ある表明の事後条件の評価結果が偽であれば、デバッグ範囲を、前記表明にて前記呼び出されたメソッドの開始時点から終了時点までに特定することを特徴とする情報処理装置である。
請求項2記載の発明は、請求項1記載の情報処理装置において、前記実行制御手段は、制御の開始時点から、実行制御の履歴を保持し、前記デバッグ範囲特定手段により前記各メソッドのある表明にて前記事前条件及び事後条件のいずれか一方の真偽値の評価結果が偽であると評価されたときに、前記実行制御の履歴を参照して、評価結果が偽であると評価された前記表明にてメソッドを開始する時点の状態を再現することを特徴とする。
請求項3記載の発明は、各メソッドの事前条件及び事後条件が記述された表明注釈が付与されたプログラムリストのデバッグを支援するデバッグ支援方法であって、デバッグ対象の表明注釈付きプログラムリストの表明注釈を解析する表明注釈解析手順と、前記プログラムリストの有する各メソッドの開始時点及び終了時点にブレークポイントを置くブレークポイント設定手順と、あるメソッドの開始時点の前記ブレークポイントから前記メソッドのある表明にてプログラムの実行コードをシンボリックデバッガに実行させ、終了時点の前記ブレークポイントで停止させる実行制御手順と、該実行制御手順によりプログラムの実行を停止させたタイミングで前記メソッドの表明の評価を行う表明評価手順と、該表明評価手順による、前記表明の事前条件の評価結果が偽であれば、前記メソッドの呼出メソッドの開始時点から前記表明にて前記メソッドを呼び出す時点まで、前記表明評価手段による、前記表明の事後条件の評価結果が偽であれば、前記表明にて呼び出された前記メソッドの開始時点から終了時点まで、にデバッグ範囲を特定するデバッグ範囲特定手順と、を有することを特徴とするデバッグ支援方法である。
請求項4記載の発明は、請求項3記載のデバッグ支援方法において、前記実行制御手順の実行の後に、実行制御の履歴を記憶する記憶手順を行い、前記表明評価手順により、ある表明の事前条件又は事後条件のいずれか一方の評価結果が偽であると評価されたときに、前記記憶手順により記憶された前記実行制御の履歴を参照して評価が偽であると評価された前記表明にてメソッドを開始する時点の状態を再現する再現手順を行うことを特徴とする。
請求項5記載の発明は、各メソッドの事前条件及び事後条件が記述された表明注釈が付与されたプログラムリストのデバッグを支援する情報処理装置を、デバッグ対象の表明注釈付きプログラムリストの表明注釈を解析する表明注釈解析手段と、前記プログラムリストの有する各メソッドの開始時点及び終了時点にブレークポイントを置き、該ブレークポイントにて、プログラムの実行の停止及び再開のいずれか一方をシンボリックデバッガにさせる実行制御手段と、前記表明注釈解析手段による解析によって得られた各メソッドの事前条件及び事後条件に基づき、前記各メソッドの表明ごとに前記事前条件及び事後条件の真偽値を得るデバッグ範囲特定手段と、として機能させ、前記実行制御手段は、前記ブレークポイントにて、前記デバッグ範囲特定手段に、前記各メソッドの表明ごとに前記事前条件及び事後条件の真偽値を評価させ、前記デバッグ範囲特定手段は、呼出メソッドから呼び出されたメソッドの、ある表明の事前条件の評価結果が偽であれば、デバッグ範囲を、前記呼出メソッドの開始時点から前記表明にて前記呼び出されたメソッドを呼び出す時点までに特定し、呼出メソッドから呼び出されたメソッドの、ある表明の事後条件の評価結果が偽であれば、デバッグ範囲を、前記表明にて前記呼び出されたメソッドの開始時点から終了時点までに特定することを特徴とするプログラムである。
請求項6記載の発明は、請求項5記載のプログラムにおいて、前記実行制御手段は、制御の開始時点から、実行制御の履歴を保持し、前記デバッグ範囲特定手段により前記各メソッドのある表明にて前記事前条件及び事後条件のいずれか一方の真偽値の評価結果が偽であると評価されたときに、前記実行制御の履歴を参照して、評価結果が偽であると評価された前記表明にてメソッドを開始する時点の状態を再現することを特徴とする。
本発明によれば、プログラム中で間違った動作をする箇所の発見や原因調査のために、動作の異常を起こす範囲を特定するとともに異常発生の直前状態をデバッガ上で自動的に再現することが可能になる。
以下、本発明の好適な実施の形態について、図面を参照して説明する。なお、以下では、例として、Java(登録商標)プログラムのデバッグを行う場合について説明するが、言うまでもなく、本発明は、本例に限定されるものではない。
まず、本実施形態の構成について説明する。図1を参照すると、本実施形態の機能構成が示されている。本実施形態に該当する情報処理装置1は、実行コードコンパイラ2と、シンボリックデバッガ3と、表明注釈解析部4と、実行制御部5と、デバッグ範囲特定部6と、を有する構成である。以下、これらの各構成要素について説明する。
実行コードコンパイラ2は、Java(登録商標)のコンパイラである。一般的に、C言語やJava(登録商標)言語などのプログラミングに通常使用されているコンパイラである。
シンボリックデバッガ3は、Java(登録商標)のシンボリックデバッガである。一般的に、C言語やJava(登録商標)言語などのプログラミングに通常使用されているシンボリックデバッガである。
表明注釈解析部4は、ソースコード内の関数に付与された表明に関する注釈を解析し、デバッガ上で評価可能な式を生成する。
実行制御部5は、シンボリックデバッガ3を制御し、事前条件と事後条件をチェックすべきステップで停止して、デバッグ範囲特定部6に解析処理を指示する。
デバッグ範囲特定部6は、事前条件と事後条件の成立状況に基づいてバグの存在する範囲を特定する。
次に、上記の構成を有する本実施形態の動作について説明する。
本実施形態においてデバッグ対象とするJava(登録商標)プログラムのソースコードには、各々の関数(メソッド)についての表明(事前条件、事後条件)が注釈として記述されているものとする。
なお、事前条件、事後条件の記述には、JML(Java(登録商標) Modeling Language)等の表明記述言語を用いる。JMLは、アイオワ州立大学を中心として制定された言語であり、事前条件と事後条件だけでなく、プログラムの振る舞い・仕様を記述するための様々な記法が提供されている。JMLに関しては、次のURLから情報を得ることができる。
URL: http://www.cs.iastate.edu/~leavens/JML/
以下、図1を参照して説明する。まず、実行コードコンパイラ2(Java(登録商標)コンパイラ)は、デバッグ対象のプログラムの、表明注釈付きソースコード10をバイトコードにコンパイルする。
次に、シンボリックデバッガ3は、デバッグ対象のプログラムのバイトコードである、実行コード11を読み込み、そのプログラムを実行待機状態におく。
一方で、表明注釈解析部4は、表明注釈付きソースコード10を解析し、各メソッドの表明注釈を抽出し、事前条件や事後条件の式をデバッガ上で評価可能な形式(各メソッドの事前条件と事後条件13)に変換してデバッグ範囲特定部6へ渡す。図2は、本動作の一例を示す図である。図2において、本動作は、上段のプログラムリストから、下段の条件式等に変換するものである。
また、一方で、表明注釈解析部4は、実行制御部5に、検証対象とする関数名12を渡して、検証させる。
具体的には、実行制御部5は、シンボリックデバッガ3に対して表明注釈の付与された関数の開始時点、終了時点にブレークポイントを設定して、プログラムの実行を開始させる。
また、実行制御部5は、関数の開始時点のブレークポイントでプログラムが停止した際に、デバッグ範囲特定部6にメソッド呼出のコンテクストを解析させた後、シンボリックデバッガ3にプログラムの実行を再開させる。
また、実行制御部5は、関数の終了時点のブレークポイントでプログラムが停止した際に、デバッグ範囲特定部6にメソッド呼出のコンテクストを解析させた後、シンボリックデバッガ3にプログラムの実行を再開させる。
また、実行制御部5は、任意の停止時点の状態を再現することができるように、開始時点からの実行制御の履歴を保存する。
なお、上記の実行制御部5の動作は、さらに詳細には、プログラムの実行を停止させたタイミングで表明の評価をデバッグ範囲特定部6に指示し、また、シンボリックデバッガ3に指示して次に検証すべき行までプログラムの実行を進めて停止させるものである。
デバッグ範囲特定部6は、個々のメソッド実行のコンテクストにおいて、メソッドの呼出時における事前条件、終了時における事後条件を評価し、条件への違反があった場合には、当該コンテクストを図3の手順で解析し、条件違反の原因として疑うべき範囲をソースコード中で特定し、その範囲にマーカーを付与する。デバッグ範囲特定部6の出力は、デバッグ範囲マーカー14となる。
図3は、メソッド実行のコンテクストを解析する手順を示すフローチャート図である。まず、あるメソッド(m)呼出の事前条件の評価結果の真偽値を調べる(ステップS31)。偽なら、処理を行わない。
真ならば、メソッドm内で次の(初めて実行する場合は、最初の)ステートメント(S)を実行する(ステップS32)。
ステートメントSの事前条件の評価結果の真偽値を調べる(ステップS33)。偽であれば、デバッグ対象は、メソッドm内のステートメントSより前の範囲、又は、ステートメントSの呼出先メソッドの仕様である(ステップS34)。デバッグ範囲特定部6は、これらの範囲にマーカーを付与する。
ステートメントSの事前条件の評価結果が、真であれば、次に、ステートメントSの事後条件の評価結果の真偽値を調べる(ステップS35)。真であれば、ステップS32へ戻り、次のステートメントを実行する。偽であれば、デバッグ対象は、ステートメントSの呼出先メソッドである(ステップS36)。デバッグ範囲特定部6は、この範囲にマーカーを付与する。
上記、図3を参照して説明したメソッド実行のコンテクストを解析する手順の説明において明らかになったように、条件違反のパターンとしては、図4及び図5に示す2種類の状況が起こりうる。
あるメソッド呼出において、事前条件が成立しない場合は、そのメソッドの想定外の使い方をしているわけであり、呼出側に誤りがあると考えられる。図4は、この場合を概念的に示す図である。デバッグ範囲特定部6は、呼出メソッドの開始時点にデバッグ開始のポイントを置き、メソッド実行にエラーがあった事前条件のところまでにマーカーを付与する。
また、あるメソッド呼出の事前条件が成立していて、事後条件が成立しない場合、想定内の使い方であるのに期待通りの処理結果が得られていないわけであるから、そのメソッドに誤りがあると考えられる。図5は、この場合を概念的に示す図である。デバッグ範囲特定部6は、ある事前条件で呼び出されたメソッドの開始時点にデバッグ開始のポイントを置き、呼出メソッドに返値を返すところまでにマーカーを付与する。
さて、デバッグ範囲特定部6にて条件違反が検出された場合、実行制御部5は、プログラムを中断/再実行し、前回の実行履歴を利用して、条件違反の検出されるコンテクストの開始時点まで実行を進めて停止し、ユーザにデバッグ作業を委ねる。
以上で、本実施形態の説明を終え、次に、本実施形態の効果について述べる。
本実施形態によれば、想定していた仕様(事前条件、事後条件)に反する間違った動作が自動的に検出され、その現象の発生する直前の状態がデバッガ上で自動的に再現されることにより、ユーザはプログラムを効率良くデバッグできる。
なお、本発明は、下記のようにしても実施可能である。
すなわち、上記実施形態では、デバッグ範囲特定部6にて条件違反が検出された場合に、条件違反を最初に見つけた時点で実行を中断してしまうが、上記実施形態において、プログラム実行を中断せずに実行を継続し、実行制御部5によるシンボリックデバッガ3に対する、表明注釈の付与された関数の開始時点と終了時点にブレークポイントを設定してプログラムの実行を開始又は再開させる処理と、デバッグ範囲特定部6による個々のメソッド実行のコンテクストにおいてメソッドの呼出時における事前条件と終了時における事後条件の評価処理と、を繰り返して行う。このように構成することによって、可能な限り多くのデバッグ対象候補を収集することができる。
また、さらに、上記実施形態では、デバッグ範囲特定部6にて条件違反が検出された場合に再実行する、再起動処理においては、最初に見つけたデバッグ対象箇所を再現するが、他のデバッグ対象範囲にもそれぞれブレークポイントを設定するようにする。このように構成することによって、さらに細かくデバッグ範囲の特定が可能になる。
メソッドや関数を持つプログラミング言語によるプログラム開発であれば、事前条件と事後条件によるProgramming By Contractを導入できるため、本発明の構成が適用できる。
本発明による実施形態の機能構成を示すブロック図である。 本発明による実施形態の表明注釈解釈部4の作用を説明するための図である。 本発明による実施形態の、メソッド実行のコンテクストを解析する手順を示す図である。 本発明による実施形態の、条件違反の類型を説明するための図(その1)である。 本発明による実施形態の、条件違反の類型を説明するための図(その2)である。
符号の説明
1 情報処理装置
2 実行コードコンパイラ
3 シンボリックデバッガ
4 表明注釈解析部
5 実行制御部
6 デバッグ範囲特定部
10 表明注釈付きソースコード
11 実行コード
12 検証対象とする関数名
13 各メソッドの事前条件と事後条件
14 デバッグ範囲マーカー

Claims (6)

  1. 各メソッドの事前条件及び事後条件が記述された表明注釈が付与されたプログラムリストのデバッグを支援する情報処理装置であって、
    デバッグ対象の表明注釈付きプログラムリストの表明注釈を解析する表明注釈解析手段と、
    前記プログラムリストの有する各メソッドの開始時点及び終了時点にブレークポイントを置き、該ブレークポイントにて、プログラムの実行の停止及び再開のいずれか一方をシンボリックデバッガにさせる実行制御手段と、
    前記表明注釈解析手段による解析によって得られた各メソッドの事前条件及び事後条件に基づき、前記各メソッドの表明ごとに前記事前条件及び事後条件の真偽値を得るデバッグ範囲特定手段と、を有し、
    前記実行制御手段は、前記ブレークポイントにて、前記デバッグ範囲特定手段に、前記各メソッドの表明ごとに前記事前条件及び事後条件の真偽値を評価させ、
    前記デバッグ範囲特定手段は、呼出メソッドから呼び出されたメソッドの、ある表明の事前条件の評価結果が偽であれば、デバッグ範囲を、前記呼出メソッドの開始時点から前記表明にて前記呼び出されたメソッドを呼び出す時点までに特定し、
    呼出メソッドから呼び出されたメソッドの、ある表明の事後条件の評価結果が偽であれば、デバッグ範囲を、前記表明にて前記呼び出されたメソッドの開始時点から終了時点までに特定することを特徴とする情報処理装置。
  2. 前記実行制御手段は、
    制御の開始時点から、実行制御の履歴を保持し、
    前記デバッグ範囲特定手段により前記各メソッドのある表明にて前記事前条件及び事後条件のいずれか一方の真偽値の評価結果が偽であると評価されたときに、前記実行制御の履歴を参照して、評価結果が偽であると評価された前記表明にてメソッドを開始する時点の状態を再現することを特徴とする請求項1記載の情報処理装置。
  3. 各メソッドの事前条件及び事後条件が記述された表明注釈が付与されたプログラムリストのデバッグを支援するデバッグ支援方法であって、
    デバッグ対象の表明注釈付きプログラムリストの表明注釈を解析する表明注釈解析手順と、
    前記プログラムリストの有する各メソッドの開始時点及び終了時点にブレークポイントを置くブレークポイント設定手順と、
    あるメソッドの開始時点の前記ブレークポイントから前記メソッドのある表明にてプログラムの実行コードをシンボリックデバッガに実行させ、終了時点の前記ブレークポイントで停止させる実行制御手順と、
    該実行制御手順によりプログラムの実行を停止させたタイミングで前記メソッドの表明の評価を行う表明評価手順と、
    該表明評価手順による、前記表明の事前条件の評価結果が偽であれば、前記メソッドの呼出メソッドの開始時点から前記表明にて前記メソッドを呼び出す時点まで、
    前記表明評価手段による、前記表明の事後条件の評価結果が偽であれば、前記表明にて呼び出された前記メソッドの開始時点から終了時点まで、にデバッグ範囲を特定するデバッグ範囲特定手順と、
    を有することを特徴とするデバッグ支援方法。
  4. 前記実行制御手順の実行の後に、実行制御の履歴を記憶する記憶手順を行い、
    前記表明評価手順により、ある表明の事前条件又は事後条件のいずれか一方の評価結果が偽であると評価されたときに、前記記憶手順により記憶された前記実行制御の履歴を参照して評価が偽であると評価された前記表明にてメソッドを開始する時点の状態を再現する再現手順を行うことを特徴とする請求項3記載のデバッグ支援方法。
  5. 各メソッドの事前条件及び事後条件が記述された表明注釈が付与されたプログラムリストのデバッグを支援する情報処理装置を、
    デバッグ対象の表明注釈付きプログラムリストの表明注釈を解析する表明注釈解析手段と、
    前記プログラムリストの有する各メソッドの開始時点及び終了時点にブレークポイントを置き、該ブレークポイントにて、プログラムの実行の停止及び再開のいずれか一方をシンボリックデバッガにさせる実行制御手段と、
    前記表明注釈解析手段による解析によって得られた各メソッドの事前条件及び事後条件に基づき、前記各メソッドの表明ごとに前記事前条件及び事後条件の真偽値を得るデバッグ範囲特定手段と、として機能させ、
    前記実行制御手段は、前記ブレークポイントにて、前記デバッグ範囲特定手段に、前記各メソッドの表明ごとに前記事前条件及び事後条件の真偽値を評価させ、
    前記デバッグ範囲特定手段は、呼出メソッドから呼び出されたメソッドの、ある表明の事前条件の評価結果が偽であれば、デバッグ範囲を、前記呼出メソッドの開始時点から前記表明にて前記呼び出されたメソッドを呼び出す時点までに特定し、
    呼出メソッドから呼び出されたメソッドの、ある表明の事後条件の評価結果が偽であれば、デバッグ範囲を、前記表明にて前記呼び出されたメソッドの開始時点から終了時点までに特定することを特徴とするプログラム。
  6. 前記実行制御手段は、
    制御の開始時点から、実行制御の履歴を保持し、
    前記デバッグ範囲特定手段により前記各メソッドのある表明にて前記事前条件及び事後条件のいずれか一方の真偽値の評価結果が偽であると評価されたときに、前記実行制御の履歴を参照して、評価結果が偽であると評価された前記表明にてメソッドを開始する時点の状態を再現することを特徴とする請求項5記載のプログラム。
JP2007044705A 2007-02-23 2007-02-23 情報処理装置、デバッグ支援方法及びプログラム Withdrawn JP2008210059A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007044705A JP2008210059A (ja) 2007-02-23 2007-02-23 情報処理装置、デバッグ支援方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007044705A JP2008210059A (ja) 2007-02-23 2007-02-23 情報処理装置、デバッグ支援方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2008210059A true JP2008210059A (ja) 2008-09-11

Family

ID=39786318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007044705A Withdrawn JP2008210059A (ja) 2007-02-23 2007-02-23 情報処理装置、デバッグ支援方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2008210059A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011210145A (ja) * 2010-03-30 2011-10-20 Fujitsu Ltd プロパティ分析装置、プロパティ分析方法およびプロパティ分析プログラム
US8621429B2 (en) 2009-04-10 2013-12-31 Nec Corporation Software development support apparatus, function extension method and storage medium for storing function extension program
JP2016018830A (ja) * 2014-07-04 2016-02-01 富士機械製造株式会社 部品実装機

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621429B2 (en) 2009-04-10 2013-12-31 Nec Corporation Software development support apparatus, function extension method and storage medium for storing function extension program
JP2011210145A (ja) * 2010-03-30 2011-10-20 Fujitsu Ltd プロパティ分析装置、プロパティ分析方法およびプロパティ分析プログラム
JP2016018830A (ja) * 2014-07-04 2016-02-01 富士機械製造株式会社 部品実装機

Similar Documents

Publication Publication Date Title
US7882495B2 (en) Bounded program failure analysis and correction
Zhang et al. Pensieve: Non-intrusive failure reproduction for distributed systems using the event chaining approach
US20150212923A1 (en) Nontransitory processor readable recording medium having fault injection program recorded therein and fault injection method
Chiş et al. The moldable debugger: A framework for developing domain-specific debuggers
US8826244B2 (en) Providing programming support to debuggers
Ceccato et al. Is AOP code easier or harder to test than OOP code
US8448147B2 (en) Heterogenic Coverage Analysis
Ahmed et al. Mandoline: Dynamic slicing of android applications with trace-based alias analysis
US20080127118A1 (en) Method and system for dynamic patching of software
Perez et al. Generating predicate callback summaries for the android framework
Pastore et al. RADAR: a tool for debugging regression problems in C/C++ software
JP2008210059A (ja) 情報処理装置、デバッグ支援方法及びプログラム
Jetley et al. Static analysis of medical device software using CodeSonar
US10229029B2 (en) Embedded instruction sets for use in testing and error simulation of computing programs
CN105446886A (zh) 一种计算机程序调试方法和装置
US11429379B2 (en) Software checkpoint-restoration between distinctly compiled executables
Khmelevsky et al. A source-to-source transformation tool for error fixing
Höller et al. Evaluation of diverse compiling for software-fault detection
JP2010287101A (ja) ソフトウエアデバッグ装置及び方法
Dietrich et al. Driver generation for java ee web applications
JP2009258796A (ja) プログラム開発装置及びプログラム開発方法
KR20080052261A (ko) 내장형 시스템 오류 수정을 위한 비정지 디버깅 장치 및방법
Oliveira et al. Droideh: An exception handling mechanism for android applications
JPH11110256A (ja) プログラムデバッグ装置、プログラムデバッグ方法及びその方法を記録したコンピュータ読取り可能な記録媒体
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100511