JP2016115124A - スタブ化方法、プログラム及び装置 - Google Patents

スタブ化方法、プログラム及び装置 Download PDF

Info

Publication number
JP2016115124A
JP2016115124A JP2014252989A JP2014252989A JP2016115124A JP 2016115124 A JP2016115124 A JP 2016115124A JP 2014252989 A JP2014252989 A JP 2014252989A JP 2014252989 A JP2014252989 A JP 2014252989A JP 2016115124 A JP2016115124 A JP 2016115124A
Authority
JP
Japan
Prior art keywords
stub
description
program
target
unit
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.)
Granted
Application number
JP2014252989A
Other languages
English (en)
Other versions
JP6503724B2 (ja
Inventor
英生 谷田
Hideo Tanida
英生 谷田
忠弘 上原
Tadahiro Uehara
忠弘 上原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014252989A priority Critical patent/JP6503724B2/ja
Publication of JP2016115124A publication Critical patent/JP2016115124A/ja
Application granted granted Critical
Publication of JP6503724B2 publication Critical patent/JP6503724B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】プログラムのテスト結果の信頼性低下を抑制する。
【解決手段】スタブ化対象記述検出部14が、シンボリック実行によるテスト対象のプログラムに含まれるスタブ化対象記述を検出し、具体値入力生成部16が、スタブ化対象記述が実行される際のパス条件を充足する変数値を生成し、スタブ生成部18が、生成された変数値を用いてスタブ化対象記述を処理部30に実行させるとともに、処理部30からの返却値に基づいてスタブを生成し、スタブ挿入部20が、スタブ化対象記述を生成されたスタブで置換する。
【選択図】図2

Description

本発明は、スタブ化方法、プログラム及び装置に関する。
プログラムテストにおいて、プログラム中の変数値を具体化せずに、記号(シンボル値)のまま実行する技術(シンボリック実行技術)が用いられることがある。このプログラムテストでは、シンボリック実行によって得たパス条件の充足値をテストデータとして用いる。
特開2012−181666号公報
しかしながら、実際のプログラムには、シンボリック実行エンジンが解析対象とできないが、一般的な処理系では実行可能な記述が存在する。このような記述が存在する場合、当該記述を置き換えるスタブを用意して使用する必要がある。なお、スタブは一般的には人手で記述する必要があり、手間が掛かる。
これに対し、JUnit(Java(登録商標)で開発されたプログラムにおいてユニットテスト(単体テスト)の自動化を行うためのフレームワーク)では、戻り値の型に応じて予め決められた定数を返すスタブの自動生成は可能である。例えば、戻り値の型が整数であれば、0を返すスタブを生成し、戻り値の型が真偽値であれば、falseを返すスタブを生成するなどである。しかし、このように予め決められた定数を返すスタブを生成すると、プログラムのうち元々実行し得ない文まで実行されてしまい、テスト結果の信頼性が低下するおそれがある。
なお、従来においては、特許文献1のような技術も知られているが、本技術ではスタブの自動生成はできない。
1つの側面では、本発明は、プログラムのテスト結果の信頼性低下を抑制することが可能なプログラムのスタブ化方法、プログラム及び装置を提供することを目的とする。
一つの態様では、スタブ化方法は、シンボリック実行によるテスト対象のプログラムに含まれるスタブ化対象の記述を検出し、検出された前記スタブ化対象の記述が実行される際のパス条件を充足する変数値を設定し、設定された前記変数値を用いて前記スタブ化対象の記述を情報処理部に実行させ、該情報処理部からの返却値に基づいてスタブを生成し、前記テスト対象のプログラムの前記スタブ化対象の記述を前記スタブで置換する、処理をコンピュータが実行する。
プログラムのテスト結果の信頼性低下を抑制することができる。
一実施形態に係る情報処理装置のハードウェア構成を示す図である。 情報処理装置の機能ブロック図である。 情報処理装置の処理を示すフローチャートである。 図4(a)〜図4(d)は、図3の処理を説明するための図(その1)である。 図5(a)、図5(b)は、図3の処理を説明するための図(その2)である。 図3の処理を説明するための図(その3)である。 図7(a)、図7(b)は、図3の処理を説明するための図(その4)である。 図3の処理を説明するための図(その5)である。 図9(a)、図9(b)は、実施形態の効果を説明するための図である。
以下、情報処理装置の一実施形態について、図1〜図9に基づいて詳細に説明する。本実施形態の情報処理装置は、テスト対象のプログラム(スタブ化前プログラム)の入力を受け付け、スタブ化を実行した後、スタブ化後プログラムを出力するスタブ化装置としての機能を有している。
図1には、本実施形態にかかる情報処理装置10のハードウェア構成が示されている。図1に示すように、情報処理装置10は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、ネットワークインタフェース97、表示部93、入力部95、及び可搬型記憶媒体用ドライブ99等を備えている。これら情報処理装置10の構成各部は、バス98に接続されている。表示部93は、液晶ディスプレイ等を含み、入力部95は、キーボードやマウス、タッチパネル等を含む。情報処理装置10では、ROM92あるいはHDD96に格納されているプログラム(スタブ化プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム(スタブ化プログラムを含む)をCPU90が実行することにより、図2に示す各部としての機能が実現されている。
図2は、情報処理装置10の機能ブロック図である。図2に示すように、CPU90がプログラムを実行することにより、シンボリック実行部12、検出部としてのスタブ化対象記述検出部14、設定部としての具体値入力生成部16、生成部としてのスタブ生成部18、置換部としてのスタブ挿入部20、として情報処理装置10を機能させる。なお、図2には、HDD96等に格納されている格納部としてのスタブ化対象記述DB40も記載されている。また、図2には、シンボリック実行部12(シンボリック実行エンジン)とは異なる一般的な処理系である情報処理部としての処理部30も記載されている。
シンボリック実行部12は、テスト対象のプログラムをシンボリック実行する。本実施形態では、シンボリック実行部12は、スタブ化前プログラムの入力を受け付け、スタブ化後プログラムを出力する。
スタブ化対象記述検出部14は、シンボリック実行部12から入力されるプログラム内の各記述を、スタブ化対象記述データベース(DB)40の内容と比較し、スタブ化対象とするかを判定する。すなわち、スタブ化対象記述検出部14は、プログラムに含まれるスタブ化対象の記述を検出する。なお、スタブ化対象記述DB40には、スタブ化する必要のある記述(スタブ化対象記述)、すなわちシンボリック実行部12では解析できないが一般的な処理系(処理部30)では解析できる記述を格納しているものとする。なお、スタブ化対象記述は、スタブ化対象記述DB40に対して人手で入力されてもよいが、過去のテストにおいてシンボリック実行部12が処理できなかった記述をスタブ化対象記述DB40に自動的に格納してもよい。
具体値入力生成部16は、スタブ化対象記述が実行される際のパス条件を充足する各変数の具体値(変数値)をSMT(Satisfiability Modulo Theories)ソルバを用いて算出する。この場合、過去に同一のスタブ化対象記述がスタブ化されていた場合であっても、具体値入力生成部16は、実行時のパス条件が異なる場合にはそのパス条件に応じた各変数の具体値を新たに算出する。
スタブ生成部18は、具体値入力生成部16で得られた具体値入力を用いて一般的な処理系(処理部30)にスタブ化対象記述を実行させる。処理部30では、シンボリック実行部12が解析対象とできない記述も実行可能であり、スタブ生成部18は、処理部30からの返却値を取得すると、当該返却値に基づいてスタブを生成する。
スタブ挿入部20は、スタブ生成部18において生成されたスタブによって、テスト対象のプログラムのスタブ化対象記述を置換することで、プログラムにスタブを挿入し、シンボリック実行部12の解析対象にできるようにする。
(情報処理装置10の処理)
次に、情報処理装置10の処理について、図3のフローチャートに沿って、その他図面を適宜参照しつつ、詳細に説明する。
ステップS10では、シンボリック実行部12が、スタブ化前プログラムの入力を受け付け、初期パス条件をcとする。例えば、シンボリック実行部12は、スタブ化前プログラムとして、図4(a)に示すようなテスト対象関数main2の入力を受け付けたものとする。なお、テスト対象関数main2の制御構造は、図4(d)に示すようになっている。また、シンボリック実行においては、テスト対象関数main2の引数aをシンボルとして指定する。また、プログラム実行中においてシンボルの値が満たすべき条件をパス条件と呼ぶものとする。なお、本実施形態では、説明の簡素化のため、図4(b)に示すように、関数func1(a)(a>0)をスタブ化対象関数と仮定し、図4(c)に示すように、関数func2(a)(a==0)をスタブ化対象外関数と仮定している。
次いで、ステップS12では、シンボリック実行部12が、スタブ化前プログラム内の次命令iを読み出す。ここでは、シンボリック実行部12は、図4(a)のテスト対象関数main2のfunc2を読み出したものとする。なお、シンボリック実行部12は、読み出した命令iをスタブ化対象記述検出部14に送信する。
ステップS14では、スタブ化対象記述検出部14が、シンボリック実行部12から受信した命令iがスタブ化対象記述DB40に含まれるか否かを判断する。ここで、func2は、図4(c)に示すようにスタブ化対象外関数であるものとする。すなわち、func2は、スタブ化対象記述DB40に含まれていないため、ステップS14の判断は否定され、ステップS26に移行する。
ステップS26に移行すると、シンボリック実行部12は、命令iのシンボリック実行を行いパス条件cを更新する(ここでは、a==0とする)。その後は、ステップS28に移行し、シンボリック実行部12は、プログラムの次命令が存在しないか否かを判断する。ここでは、次の命令が存在しているので、ステップS28の判断は否定され、ステップS12に戻る。
ステップS12に戻ると、シンボリック実行部12は、スタブ化前プログラム内の次命令iを読み出す。ここでは、シンボリック実行部12は、図4(a)のテスト対象関数main2のfunc1を読み出したものとする。
次いで、ステップS14では、スタブ化対象記述検出部14が、シンボリック実行部12から受信した命令i(func1)がスタブ化対象記述DB40に含まれるか否かを判断する。ここで、func1は、図4(b)に示すようにスタブ化対象関数であるものとする。すなわち、func1は、スタブ化対象記述DB40に含まれているため、ステップS14の判断は肯定され、ステップS16に移行する。
ステップS16に移行すると、具体値入力生成部16が、パス条件c(a==0)を充足する具体値入力を生成する。ここでは、図5(a)に示すように、具体値(変数値)として、パス条件c(a==0)を充足するa=0が生成される。
次いで、ステップS18では、スタブ生成部18が、具体値入力を用いて、処理部30において命令iまでスタブ化前プログラムを実行する。この場合、図5(b)に示すように、処理部30では、func1(a)=func1(0)=falseという返却値が得られるので、処理部30は、この返却値(false)をスタブ生成部18に戻す。
次いで、ステップS20では、スタブ生成部18が、処理部30による命令iの返却値(評価値)に基づいてスタブを生成する。この場合、スタブ生成部18は、図6において太線枠で示すようなスタブ関数を生成する。次いで、ステップS22では、スタブ挿入部20が、生成されたスタブをプログラムに挿入する。なお、スタブ挿入部20は、スタブ挿入後のプログラムをシンボリック実行部12に送信する。
次いで、ステップS24では、シンボリック実行部12が、スタブ挿入後のプログラムを命令iまでシンボリック実行し、パス条件cを更新する。この場合、シンボリック実行部12は、スタブ化前に実行し得ない記述、すなわち、図6において下線を付して示すif-if側の分岐内記述(print(“positive”))を実行しないようにすることができる。また、シンボリック実行部12は、パス条件cを、次のパス条件(a!=0)に更新する。
次いで、ステップS28では、シンボリック実行部12が、プログラムの次命令が存在しないか否かを判断するが、プログラムには、次命令が存在しているので、ステップS12に再度戻る。
ステップS12に戻ると、シンボリック実行部12は、スタブ化前プログラム内の次命令iを読み出す。ここでは、シンボリック実行部12は、図4(a)のテスト対象関数main2の下側のfunc1(else-if側のfunc1(a))を読み出したものとする。
次いで、ステップS14では、スタブ化対象記述検出部14が、シンボリック実行部12から受信した命令i(func1)がスタブ化対象記述DB40に含まれるか否かを判断する。ここで、func1は、スタブ化対象記述DB40に含まれているため、ステップS14の判断は肯定され、ステップS16に移行する。
ステップS16に移行すると、具体値入力生成部16が、パス条件c(a!=0)を充足する具体値入力を生成する。ここでは、一例として、図7(a)に示すように、具体値(変数値)として、パス条件c(a!=0)を充足するa=1が生成されたものとする。
次いで、ステップS18では、スタブ生成部18が、具体値入力を用いて、処理部30において命令iまでスタブ化前プログラムを実行する。この場合、図5(b)に示すように、処理部30では、func1(a)=func1(1)=trueという返却値が得られるので、処理部30は、この返却値(true)をスタブ生成部18に戻す。
次いで、ステップS20では、スタブ生成部18が、処理部30による命令iの返却値(評価値)に基づいてスタブを生成する。この場合、スタブ生成部18は、図8において太線枠で示すようなスタブ関数を生成する。次いで、ステップS22では、スタブ挿入部20が、生成されたスタブをプログラムに挿入し、該プログラムをシンボリック実行部12に送信する。
次いで、ステップS24では、シンボリック実行部12が、スタブ挿入後のプログラムを命令iまでシンボリック実行し、パス条件cを更新する。ここで、シンボリック実行部12は、図8において下線を付して示すelse-if側の分岐内記述(print(“positive”))をシンボリック実行する。なお、この段階では、パス条件cは更新されずに、ステップS28に移行する。
なお、パス条件cがa!=0の場合、例えば、具体値入力をa=−1とすることもできる(S16)。このようにした場合、処理部30からの返却値はfalseとなるので、シンボリック実行部12は、else-else側の分岐内記述(print(“negative”))を実行することになる(S24)。
次いで、ステップS28では、シンボリック実行部12が、プログラムの次命令が存在しないか否かを判断するが、プログラムには、次命令が存在していないので、ステップS30に移行する。
ステップS30に移行した場合、シンボリック実行部12は、スタブ化後プログラムを出力する。
ここで、本実施形態では、図9(a)において×印で示すように、スタブ化前に実行し得ない記述であるif-if側の分岐内記述が実行されることがなく、スタブ化前に実行可能な記述のみが実行されるようになっている。これにより、テスト結果において一定の信頼性を確保することができるようになる。なお、比較例としては、予めfunc1に対しては、trueなどの定数を返却するスタブを生成する技術がある。このような比較例では、func1に対してはtrueが返却されると、スタブ化前に実行し得ない記述であるif-if側の分岐内記述(図9(a)において×印で示す記述)が実行されてしまうため、テスト結果において信頼性が低くなるおそれがある。
また、本実施形態では、スタブ化対象記述の処理及び返却値の決定処理を一般的な処理系である処理部30が実行するため、シンボリック実行部(シンボリック実行エンジン)が解析対象とできない記述も解析することが可能となる。この結果、図9(b)に太線及び白抜きの線にて示すように、関数func1の記述を解析できずに、解析が停止してしまうのを防止することができる。なお、図9(b)のように解析が停止した場合、解析を継続するためには、func1のスタブを手動で記述する必要があるが、本実施形態では、このような人手の介入が不要である。
以上、詳細に説明したように、本実施形態によると、スタブ化対象記述検出部14がシンボリック実行によるテスト対象のプログラムに含まれるスタブ化対象記述を検出し(S14:肯定)、具体値入力生成部16が、スタブ化対象記述が実行される際のパス条件を充足する変数値を生成し(S16)、スタブ生成部18が、生成された変数値を用いてスタブ化対象記述を処理部30に実行させ、処理部30からの返却値に基づいてスタブを生成し(S18、S20)、スタブ挿入部20が、スタブ化対象記述を生成されたスタブで置換する(プログラムにスタブを挿入する)(S22)。これにより、プログラム実行時のパス条件を考慮したスタブが生成されるので、スタブ化前プログラムで実行可能な記述のみが実行され、スタブ化前プログラムでは実行され得ない記述が実行されるのを防止することができる。これにより、テスト結果の信頼性の低下を抑制することが可能である。また、処理部30にスタブ化対象記述を実行させ、スタブを自動生成し、スタブ化後のプログラムをシンボリック実行部12がシンボリック実行するため、シンボリック実行部12による解析が停止することがなくなる。これにより、人手によるスタブの記述の手間を省くことが可能となる。
また、本実施形態では、スタブ化対象記述検出部14は、スタブ化する必要のある記述(スタブ化対象記述)を格納したスタブ化対象記述DB40に基づいて、プログラム中の記述がスタブ化対象記述であるかを判断する。これにより、簡易に、スタブ化対象記述であるかどうかの判断を行うことができる。
なお、上記実施形態では、情報処理装置10が処理部30を有する場合について説明したが、これに限らず、情報処理装置10とネットワーク等により接続された外部の装置が処理部30と同等の機能を有していてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) シンボリック実行によるテスト対象のプログラムに含まれるスタブ化対象の記述を検出し、
検出された前記スタブ化対象の記述が実行される際のパス条件を充足する変数値を設定し、
設定された前記変数値を用いて前記スタブ化対象の記述を情報処理部に実行させ、該情報処理部からの返却値に基づいてスタブを生成し、
前記テスト対象のプログラムの前記スタブ化対象の記述を前記スタブで置換する、処理をコンピュータが実行するスタブ化方法。
(付記2) 前記検出する処理では、スタブ化する必要のある記述を格納した格納部に基づいて、前記テスト対象のプログラムの中から前記スタブ化対象の記述を検出することを特徴とする付記1に記載のスタブ化方法。
(付記3) シンボリック実行によるテスト対象のプログラムに含まれるスタブ化対象の記述を検出し、
検出された前記スタブ化対象の記述が実行される際のパス条件を充足する変数値を設定し、
設定された前記変数値を用いて前記スタブ化対象の記述を情報処理部に実行させ、該情報処理部からの返却値に基づいてスタブを生成し、
前記テスト対象のプログラムの前記スタブ化対象の記述を前記スタブで置換する、処理をコンピュータに実行させるスタブ化プログラム。
(付記4) 前記検出する処理では、スタブ化する必要のある記述を格納した格納部に基づいて、前記テスト対象のプログラムの中から前記スタブ化対象の記述を検出することを特徴とする付記3に記載のスタブ化プログラム。
(付記5) シンボリック実行によるテスト対象のプログラムに含まれるスタブ化対象の記述を検出する検出部と、
前記検出部が検出した前記スタブ化対象の記述が実行される際のパス条件を充足する変数値を設定する設定部と、
前記設定部が設定した前記変数値を用いて前記スタブ化対象の記述を情報処理部に実行させ、該情報処理部からの返却値に基づいてスタブを生成する生成部と、
前記テスト対象のプログラムの前記スタブ化対象の記述を前記スタブで置換する置換部と、を備えるスタブ化装置。
(付記6) スタブ化する必要のある記述を格納した格納部を更に備え、
前記検出部は、前記格納部に基づいて、前記テスト対象のプログラムの中から前記スタブ化対象の記述を検出することを特徴とする付記5に記載のスタブ化装置。
10 情報処理装置(スタブ化装置)
14 スタブ化対象記述検出部(検出部)
16 具体値入力生成部(設定部)
18 スタブ生成部(生成部)
20 スタブ挿入部(置換部)
30 処理部(情報処理部)
40 スタブ化対象記述DB(格納部)

Claims (4)

  1. シンボリック実行によるテスト対象のプログラムに含まれるスタブ化対象の記述を検出し、
    検出された前記スタブ化対象の記述が実行される際のパス条件を充足する変数値を設定し、
    設定された前記変数値を用いて前記スタブ化対象の記述を情報処理部に実行させ、該情報処理部からの返却値に基づいてスタブを生成し、
    前記テスト対象のプログラムの前記スタブ化対象の記述を前記スタブで置換する、処理をコンピュータが実行するスタブ化方法。
  2. 前記検出する処理では、スタブ化する必要のある記述を格納した格納部に基づいて、前記テスト対象のプログラムの中から前記スタブ化対象の記述を検出することを特徴とする請求項1に記載のスタブ化方法。
  3. シンボリック実行によるテスト対象のプログラムに含まれるスタブ化対象の記述を検出し、
    検出された前記スタブ化対象の記述が実行される際のパス条件を充足する変数値を設定し、
    設定された前記変数値を用いて前記スタブ化対象の記述を情報処理部に実行させ、該情報処理部からの返却値に基づいてスタブを生成し、
    前記テスト対象のプログラムの前記スタブ化対象の記述を前記スタブで置換する、処理をコンピュータに実行させるスタブ化プログラム。
  4. シンボリック実行によるテスト対象のプログラムに含まれるスタブ化対象の記述を検出する検出部と、
    前記検出部が検出した前記スタブ化対象の記述が実行される際のパス条件を充足する変数値を設定する設定部と、
    前記設定部が設定した前記変数値を用いて前記スタブ化対象の記述を情報処理部に実行させ、該情報処理部からの返却値に基づいてスタブを生成する生成部と、
    前記テスト対象のプログラムの前記スタブ化対象の記述を前記スタブで置換する置換部と、を備えるスタブ化装置。
JP2014252989A 2014-12-15 2014-12-15 スタブ化方法、プログラム及び装置 Expired - Fee Related JP6503724B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014252989A JP6503724B2 (ja) 2014-12-15 2014-12-15 スタブ化方法、プログラム及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014252989A JP6503724B2 (ja) 2014-12-15 2014-12-15 スタブ化方法、プログラム及び装置

Publications (2)

Publication Number Publication Date
JP2016115124A true JP2016115124A (ja) 2016-06-23
JP6503724B2 JP6503724B2 (ja) 2019-04-24

Family

ID=56141958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014252989A Expired - Fee Related JP6503724B2 (ja) 2014-12-15 2014-12-15 スタブ化方法、プログラム及び装置

Country Status (1)

Country Link
JP (1) JP6503724B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129132A (ja) * 2007-11-22 2009-06-11 Nec Corp ソフトウェア部分テストシステム、それに用いる方法およびプログラム
WO2013161195A1 (ja) * 2012-04-26 2013-10-31 日本電気株式会社 プログラム単体テスト支援装置
JP2014186727A (ja) * 2013-03-14 2014-10-02 Fujitsu Ltd ソフトウェア検証方法及びプロセッサ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129132A (ja) * 2007-11-22 2009-06-11 Nec Corp ソフトウェア部分テストシステム、それに用いる方法およびプログラム
WO2013161195A1 (ja) * 2012-04-26 2013-10-31 日本電気株式会社 プログラム単体テスト支援装置
JP2014186727A (ja) * 2013-03-14 2014-10-02 Fujitsu Ltd ソフトウェア検証方法及びプロセッサ

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
坂本 衛: "Java Drive 第18回「Java RMIを利用したプログラミング」", UNIX USER 1998年3月号, vol. 第7巻 第3号, JPN6018028873, 1 March 1998 (1998-03-01), JP, pages 71 - 76, ISSN: 0003845558 *
岩間 太 他: "「ユニットテストの入力データ生成のためのBit−vector Logicに基づくCOBOL記号実行器", レクチャーノート/ソフトウェア学39 ソフトウェア工学の基礎XX, vol. 初版, JPN6018028874, 30 November 2013 (2013-11-30), JP, pages 163 - 172, ISSN: 0003845559 *
片山 朝子 他: "「業務システムを対象としたシンボリック実行による検証試行」", 情報処理学会 ソフトウェアエンジニアリングシンポジウム 2013, JPN6018028871, 2 September 2013 (2013-09-02), JP, pages 1 - 6, ISSN: 0003845557 *

Also Published As

Publication number Publication date
JP6503724B2 (ja) 2019-04-24

Similar Documents

Publication Publication Date Title
US9507943B1 (en) Analysis tool for data security
US8510842B2 (en) Pinpointing security vulnerabilities in computer software applications
US8370945B2 (en) Identifying security breaches caused by web-enabled software applications
US9128723B2 (en) Method and apparatus for dynamic document object model (DOM) aware code editing
US8671397B2 (en) Selective data flow analysis of bounded regions of computer software applications
US8607193B2 (en) Tracking stale comments in source code listings
US9292693B2 (en) Remediation of security vulnerabilities in computer software
US11797639B2 (en) Systems and methods for development of web products
US10380313B1 (en) Implementation and evaluation of designs for heterogeneous computing platforms with hardware acceleration
US20160112285A1 (en) Apparatus and method for detecting abnormal connection
US9734458B2 (en) Predicting outcome based on input
CN110688320A (zh) 全局变量的检测方法、装置及终端设备
JP6503724B2 (ja) スタブ化方法、プログラム及び装置
EP2721494B1 (en) System and method to in-line script dependencies
JP6747161B2 (ja) ソフトウェア品質判定方法
JPWO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
US20130073526A1 (en) Log message optimization to ignore or identify redundant log messages
US8639490B2 (en) Concretization of abstracted traces
US10127202B2 (en) Detecting overlapping web elements in a graphical user interface
US9235387B1 (en) Methods, systems, and computer program products for evaluating the compatibility of a computer program with target data processing environments based on associations between source code instructions and required data processing facilities
US8397192B2 (en) Proof based bounded model checking
CN111611153B (zh) 一种用户界面过度绘制的检测方法和装置
US20240202109A1 (en) Test support apparatus, test support method, and program
US20200151034A1 (en) Shared resource analysis for embedded multi-core systems
JP5949391B2 (ja) 実行条件検査装置、実行条件検査システム、実行条件検査方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180925

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: 20190226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190311

R150 Certificate of patent or registration of utility model

Ref document number: 6503724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees