JP7474132B2 - プログラム検証データ生成支援装置、及びプログラム検証データ生成支援方法 - Google Patents
プログラム検証データ生成支援装置、及びプログラム検証データ生成支援方法 Download PDFInfo
- Publication number
- JP7474132B2 JP7474132B2 JP2020108714A JP2020108714A JP7474132B2 JP 7474132 B2 JP7474132 B2 JP 7474132B2 JP 2020108714 A JP2020108714 A JP 2020108714A JP 2020108714 A JP2020108714 A JP 2020108714A JP 7474132 B2 JP7474132 B2 JP 7474132B2
- Authority
- JP
- Japan
- Prior art keywords
- processes
- variable
- execution path
- input data
- program
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 427
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 2
- 238000012790 confirmation Methods 0.000 claims description 112
- 238000012795 verification Methods 0.000 claims description 99
- 238000012545 processing Methods 0.000 claims description 44
- 238000000605 extraction Methods 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000010365 information processing Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 73
- 230000001419 dependent effect Effects 0.000 description 15
- 238000009795 derivation Methods 0.000 description 11
- 239000000284 extract Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
の有線又は無線のネットワークによって通信可能に接続される。
図2は、検証データ表30の一例を示す図である。検証データ表30は、検証データのIDである検証番号31、検証用入力データ32、及び検証用確認データ33の各情報を有する1以上のレコードで構成される。
モリ番地表250、ソースコード23、網羅基準表270、処理-工数管理表290、及び分割基準表25の各データを記憶している。
図3は、変数名メモリ番地表250の一例を示す図である。変数名メモリ番地表250は、編集変数又は参照変数の変数名251、及びその変数に使用されるメモリ番地252の各情報を有する1以上のレコードを備えるデータベースである。
図4は、網羅基準表270の一例を示す図である。網羅基準表270は、識別子や名称が設定される網羅基準271、及びその網羅基準が満たすべき網羅率272の各情報を有する1以上のレコードを備えるデータベースである。
ータサーバ20は、CPU、GPU等の処理装置11(プロセッサ)と、プログラム及びデータ等が展開される、RAM(Random Access Memory)又はROM(Read Only Memory)等の主記憶装置12と、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等を含む補助記憶装置13と、キーボード又はタッチパネル等の入力装置14と、モニタ又はディスプレイ等の出力装置15と、他の情報処理装置と通信する、ネットワークインタフェースカード等の通信装置16とを備える。
図7は、検証データ表30を生成する処理である検証データ表生成処理s1の一例を説明する図である。検証データ表生成処理s1は、例えば、プログラム検証データ生成支援装置10が、ユーザからソースコード23の指定入力を受け付け、ソースコード23をデータサーバ20から受信したことを契機に開始される。
図8は、処理間依存関係グラフ生成処理s100の一例を説明するフロー図である。
図12は、処理-変数間依存関係DB310の一例を示す図である。処理-変数間依存
関係DB310は、検証対象処理ごとに割り当てられた処理番号311、編集変数の変数名312、編集変数のメモリ番号313、参照変数の変数名314、及び参照変数のメモリ番号315の各情報を有する、1以上のレコードを備えるデータベースである。
ここで、図13は、処理間依存関係DB110の一例を示す図である。処理間依存関係DB110は、検証対象処理の処理番号111、検証対象処理に対する依存先条件分岐処理の処理番号の一覧112、及び、依存先処理の処理番号の一覧113の各情報を有する1以上のレコードで構成される。
次に、図14は、処理間依存関係グラフ330の一例を示す図である。処理間依存関係グラフ330は、処理間依存関係DB110に基づき生成される検証対象処理間の関係図である。処理間依存関係グラフ330には、各検証対象処理の処理番号331、及び、各条件分岐処理の分岐番号332が表示される。
それぞれに含まれている。
図15は、検証可能処理集合抽出処理s200の一例を説明するフロー図である。
検証対象分岐処理に係るレコードの依存先処理番号一覧113の内容を取得する。
(分岐関連命令表)
ここで、図16は、分岐関連命令表350の一例を示す図である。分岐関連命令表350は、検証対象分岐処理の処理番号である分岐管理番号351、及び、その検証対象分岐処理の依存先処理の処理番号の一覧352の各情報を有する1以上のレコードで構成されるデータベースである。
図17は、分岐検証実行経路DB130の一例を示す図である。分岐検証実行経路DB130は、検証対象分岐処理の処理群である実行経路の実行経路ID131、及び、その実行経路を構成する検証対象分岐処理の処理番号(分岐管理番号)の一覧である分岐管理番号一覧132の各情報を有する1以上のレコードで構成される。
次に、図18は、網羅基準到達可能実行経路選択処理s300の一例を説明するフロー図である。
図19は、網羅率表390の一例を示す図である。網羅率表390は、実行経路ID391、網羅基準392、及び網羅率393の各情報を有する1以上のレコードで構成される。
ソースコード23を参照することで、各実行経路における各処理の内容を解析し、各処理における編集命令(編集変数を編集する処理)の数及び型、編集変数及び参照変数の数、並びに条件分岐処理の数等をそれぞれ特定することで、処理-工数管理表410を生成する。そして、網羅基準到達可能実行経路選択部103は、生成したこれらの情報を検証データ導出工数算出式に代入することにより、各実行経路の検証データ導出工数を算出し、算出した検証データ導出工数を工数表430に登録する。
図20は、処理-工数管理表410の一例を示す図である。処理-工数管理表410は、実行経路ID411、編集命令数412、型が一致しない編集命令の数413、参照変数又は編集変数の数414、複数回参照又は編集される参照変数及び編集変数の数415、条件分岐処理の数416、分岐網羅必要条件分岐処理の数417、及び、反復処理数418の各情報を有する1以上のレコードで構成される。
図21は、検証データ導出工数算出式の一例を示す図である。検証データ導出工数算出式は、例えば、処理-工数管理表410に設定されている各情報と、所定の係数とを用いて算出される。
図22は、工数表430の一例を示す図である。工数表430は、実行経路ID431、及びその工数432(検証データ導出工数)の各情報を有する1以上のレコードで構成される。
網羅基準到達可能実行経路選択部103は、並び替えた工数表430の実行経路の各レコードを順番に確認して、網羅基準を満たす実行経路を特定する(s304~s308)。
か否か)を判定する(s306)。
図23は、網羅基準到達可能実行経路DB150の一例を示す図である。網羅基準到達可能実行経路DB150は、網羅基準(網羅率)を満たした実行経路の番号(実行経路番号151)のリストを記憶している。
次に、図24は、実行経路分割処理s400の一例を説明するフロー図である。
図25は、実行経路分割候補DB450の一例を示す図である(分割基準表が最大処理数として15を設定している場合)。実行経路分割候補DB450は、分割方法のIDである分割候補ID451、その分割方法による分割前の実行経路のIDである元実行経路ID452、その分割方法による分割後の分割後実行経路候補のIDである分割ID453、分割後実行経路候補における各処理の処理番号の一覧である処理番号一覧454、分割後実行経路候補における各処理で使用されている参照変数の一覧455、分割後実行経路候補における各処理で使用されている編集変数の一覧456、及び、分割後実行経路候補における設定変数数457の各情報を有する1以上のレコードで構成される。
後実行経路の間で共有して使用されている参照変数及び編集変数(それぞれ、共有参照変数、共有編集変数という)を特定し、特定した共有変数の数を計数する(s404)。
図26は、結合工数の算出式の一例を示す図である。結合工数は、設定変数数、共有参照変数の数、共有編集変数の数、及び、これらに対して適用される、値の異なる所定の係数によって算出される。
図27は、結合工数を算出するために生成される実行経路分割候補工数見積もり表470の一例を示す図である。実行経路分割候補工数見積もり表470は、分割方法のIDである分割候補ID471、その分割方法による分割における設定変数数472、その分割方法による分割後の分割後実行経路候補間の共有参照変数の一覧473、分割後実行経路候補間の共有参照変数の数474、分割後実行経路候補間の共有編集変数の一覧475、分割後実行経路候補間の共有編集変数の数476、及び、その分割方法による結合工数477の各情報を有する1以上のレコードで構成される。
図28は、分割後実行経路DB170の一例を示す図である。分割後実行経路DB170は、s406で特定された分割対象実行経路の情報を実行経路分割候補DB450から抽出した情報であり、具体的には、分割対象実行経路から分割された各実行経路候補(以下、分割後実行経路という)のIDである分割後実行経路ID171、分割対象実行経路のIDである分割候補ID172、元実行経路ID173、及び、分割後実行経路における各処理の処理番号の一覧である処理番号一覧174の各情報を有する1以上のレコード
で構成される。
次に、図29は、入力データ生成処理s500の一例を説明するフロー図である。
図30は、入力ルール表490の一例を示す図である。入力ルール表490は、入力ルールごとに割り当てられた番号である入力ルール番号491、実行経路の番号492、入力ルールの内容493、及び、入力ルールに係る分岐番号のリストである通過分岐番号494の各情報を有する1以上のレコードで構成される。
図31は、入力データ表510の一例を示す図である。入力データ表510は、入力データのID511、入力ルールの番号512、入力ルールを構成する変数名513、及びその変数の値514の各情報を有する1以上のレコードで構成される。
次に、図32は、入力データ結合処理s600の一例を説明するフロー図である。
図33は、結合後入力ルール-確認変数名DB210の一例を示す図である。結合後入力ルール-確認変数名DB210は、分割後実行経路に適用される入力ルールの番号211、分割後実行経路のID212、入力ルールの内容213、分割後実行経路における参照変数の名称の一覧214、分割後実行経路における確認変数の名称の一覧215、及び、分割後実行経路における入力ルールに対応する確認ルールの内容216の各情報を有する1以上のレコードで構成される。
割後実行経路について、以下のs605の処理を実行する。
図34は、入力ルール候補表530の一例を示す図である。入力ルール候補表530は、新たな入力ルールの番号である入力ルール候補番号531、分割後実行経路(選択経路)の入力ルールの番号である分割後入力ルール番号532、新たな入力ルールの内容533、及び、新たな入力ルールの論理的整合性の有無を示す情報である充足有無534の各情報を有する1以上のレコードで構成される。
次に、図35は、確認変数名選択処理s700の一例を説明するフロー図である。
図36は、確認変数表230の一例を示す図である。確認変数表230は、確認変数の登録ごとに割り当てられた確認変数番号231、入力ルール番号232、入力ルールに対応する確認変数の名称233、及び、検証命令一覧234の各情報を有する1以上のレコードで構成される。
図37は、選択後確認変数表570の一例を示す図である。選択後確認変数表570は、入力ルール番号571、及び確認変数の名称の一覧572の各情報を有する1以上のレコードで構成される。
図38は、確認変数値生成処理s800の一例を説明するフロー図である。
Claims (6)
- プロセッサ及びメモリを備え、
プログラムの各処理間の関係を、各処理で使用されている変数間の依存関係に基づき算出する処理間依存関係算出処理と、
前記プログラムの各処理のうち条件分岐処理を含む処理の集合を抽出する検証可能処理集合抽出処理と、
前記抽出した処理の集合のうち、前記プログラムに対する所定の網羅率を超え、かつ、各変数に対する処理の負荷が所定の基準以下である処理の集合を選択する網羅基準到達可能実行経路選択処理と、
前記選択した処理の集合における条件分岐処理の条件判断に使用される変数のデータの組み合わせである入力データを、前記変数間の依存関係に基づき生成する入力データ生成処理と、
前記抽出した条件分岐処理に前記入力データを入力した場合に当該条件分岐処理の実行により設定され又は編集される変数である確認変数を選択する確認変数名選択処理と、
前記生成した入力データと、前記選択した確認変数の、前記プログラムの実行に基づく算出値である出力データとを対応づけたデータである検証データを生成する確認変数値生成処理と、
を実行する、プログラム検証データ生成支援装置。 - 前記確認変数名選択処理において、複数の前記入力データのうち、前記確認変数と前記確認変数に係る処理とが互いに共通している入力データの組み合わせを特定し、特定した入力データの組み合わせのうち一つの入力データのみについての前記確認変数を選択し、
前記確認変数値生成処理において、前記選択した確認変数に基づき、前記検証データを生成する、
請求項1に記載のプログラム検証データ生成支援装置。 - 前記検証可能処理集合抽出処理において、前記変数間の依存関係に基づき、前記条件分岐処理の分岐条件に係る変数の値に依存している処理群を前記条件分岐処理の分岐先のそれぞれについて特定し、特定した処理群のそれぞれを、前記処理の集合として特定し、
前記入力データ生成処理において、前記特定した処理の集合のそれぞれについて、前記条件分岐処理の条件判断に使用される入力データを生成する、
請求項1に記載のプログラム検証データ生成支援装置。 - 前記網羅基準到達可能実行経路選択処理において選択した前記処理の集合のうち、所定の処理数を超える処理の集合を特定し、
前記特定した処理の集合を複数の処理に分割した場合に各処理で使用される変数の、前記各処理の間での共有使用関係を特定し、
前記特定した共有使用関係が所定の要件を満たす場合に、前記特定した処理の集合を分割する実行経路分割処理を実行し、
前記入力データ生成処理において、前記分割した処理の集合のそれぞれに対して、前記入力データを生成する、
請求項1に記載のプログラム検証データ生成支援装置。 - 前記実行経路分割処理において、
前記依存関係として、前記特定した処理の集合を異なる複数の分割方法で複数の処理に分割した場合の、各前記処理で共有して使用される変数の数をそれぞれの分割方法について特定し、
前記特定した数に関するパラメータ値が最小となる分割方法を特定し、特定した分割方法により、前記特定した処理の集合を分割する、
請求項4に記載のプログラム検証データ生成支援装置。 - プロセッサ及びメモリを備える情報処理装置が、
プログラムの各処理間の関係を、各処理で使用されている変数間の依存関係に基づき算出する処理間依存関係算出処理と、
前記プログラムの各処理のうち条件分岐処理を含む処理の集合を抽出する検証可能処理集合抽出処理と、
前記抽出した処理の集合のうち、前記プログラムに対する所定の網羅率を超え、かつ、各変数に対する処理の負荷が所定の基準以下である処理の集合を選択する網羅基準到達可能実行経路選択処理と、
前記選択した処理の集合における条件分岐処理の条件判断に使用される変数のデータの組み合わせである入力データを、前記変数間の依存関係に基づき生成する入力データ生成処理と、
前記抽出した条件分岐処理に前記入力データを入力した場合に当該条件分岐処理の実行により設定され又は編集される変数である確認変数を選択する確認変数名選択処理と、
前記生成した入力データと、前記選択した確認変数の、前記プログラムの実行に基づく算出値である出力データとを対応づけたデータである検証データを生成する確認変数値生成処理と、
を実行する、プログラム検証データ生成支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020108714A JP7474132B2 (ja) | 2020-06-24 | 2020-06-24 | プログラム検証データ生成支援装置、及びプログラム検証データ生成支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020108714A JP7474132B2 (ja) | 2020-06-24 | 2020-06-24 | プログラム検証データ生成支援装置、及びプログラム検証データ生成支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022006483A JP2022006483A (ja) | 2022-01-13 |
JP7474132B2 true JP7474132B2 (ja) | 2024-04-24 |
Family
ID=80110841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020108714A Active JP7474132B2 (ja) | 2020-06-24 | 2020-06-24 | プログラム検証データ生成支援装置、及びプログラム検証データ生成支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7474132B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014127091A (ja) | 2012-12-27 | 2014-07-07 | Fujitsu Ltd | テストデータ生成方法、プログラム及び装置 |
JP2015219906A (ja) | 2014-05-15 | 2015-12-07 | 富士通株式会社 | ソフトウェア確認方法およびプロセッサ |
JP2020510925A (ja) | 2017-02-28 | 2020-04-09 | スパロー カンパニー リミテッド | テストケースを利用してテストを遂行する方法および装置 |
-
2020
- 2020-06-24 JP JP2020108714A patent/JP7474132B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014127091A (ja) | 2012-12-27 | 2014-07-07 | Fujitsu Ltd | テストデータ生成方法、プログラム及び装置 |
JP2015219906A (ja) | 2014-05-15 | 2015-12-07 | 富士通株式会社 | ソフトウェア確認方法およびプロセッサ |
JP2020510925A (ja) | 2017-02-28 | 2020-04-09 | スパロー カンパニー リミテッド | テストケースを利用してテストを遂行する方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2022006483A (ja) | 2022-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7624380B2 (en) | Generating functional test scripts | |
US8875105B2 (en) | Efficiently developing software using test cases to check the conformity of the software to the requirements | |
JP6424557B2 (ja) | 情報処理装置及び情報処理プログラム | |
CN111142903A (zh) | 一种基于文件对比的配置文件交互式更新方法及装置 | |
JP6996629B2 (ja) | 検証自動化装置、検証自動化方法、およびプログラム | |
JP2735698B2 (ja) | インタフェース検証処理方式 | |
US8527254B2 (en) | Simulator engine development system and simulator engine development method | |
JP4648386B2 (ja) | 設計支援装置、設計支援方法、設計支援プログラム | |
US10656922B2 (en) | Systems and methods for providing an application transformation tool | |
JP7474132B2 (ja) | プログラム検証データ生成支援装置、及びプログラム検証データ生成支援方法 | |
US8510693B2 (en) | Changing abstraction level of portion of circuit design during verification | |
WO2004051470A1 (ja) | プログラム自動変換方法およびプログラム自動変換装置 | |
CN115130043B (zh) | 基于数据库的数据处理方法、装置、设备及存储介质 | |
JP6511793B2 (ja) | テストケース生成プログラム、テストケース生成方法及びテストケース生成装置 | |
JP7400833B2 (ja) | トポロジー設計装置、トポロジー設計方法、及びプログラム | |
US10817340B2 (en) | Availability factor (AFactor) based automation system | |
US8775873B2 (en) | Data processing apparatus that performs test validation and computer-readable storage medium | |
JPWO2007072567A1 (ja) | 並列処理支援装置 | |
JP7492451B2 (ja) | データ制御システム及びデータ制御方法 | |
JP6777903B2 (ja) | 探索装置、探索方法および探索プログラム | |
JPS6284337A (ja) | 仕様書情報解析方式 | |
US12001324B2 (en) | Operation pattern generation apparatus, operation pattern generation method and program | |
JP5049804B2 (ja) | Vliwプロセッサ自動生成方法及び自動生成プログラム | |
JP2018147114A (ja) | テストケース生成方法、計算機及びプログラム | |
JP4120879B2 (ja) | プログラム生成システム及び方法とそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240314 |
|
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: 20240402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7474132 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |