JP6904914B2 - 決定表生成装置、及び決定表生成方法 - Google Patents
決定表生成装置、及び決定表生成方法 Download PDFInfo
- Publication number
- JP6904914B2 JP6904914B2 JP2018016917A JP2018016917A JP6904914B2 JP 6904914 B2 JP6904914 B2 JP 6904914B2 JP 2018016917 A JP2018016917 A JP 2018016917A JP 2018016917 A JP2018016917 A JP 2018016917A JP 6904914 B2 JP6904914 B2 JP 6904914B2
- Authority
- JP
- Japan
- Prior art keywords
- decision table
- rule
- information
- generation
- generation range
- 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
Images
Landscapes
- Stored Programmes (AREA)
Description
の割り当てが発生する条件(以下、「入力条件」と称する。)の組をルールとみなし、ソースコードから抽出したルールを決定表形式で可視化することによりソースコードの仕様の確認を効率化する方法が存在する。
記述、入力条件と結果の対応関係を表形式で定義した決定表(decision table)による記述等、様々な形で表される。
理和(Or)等)を用いて組み合わせた論理式で表される。また上記の結果は、例えば、「
変数=値」、「変数=変数」、もしくは「変数=変数を0以上含む計算式」等の形式のリテラルから成る論理式で表される。
である。
出現頻度が低い(出現頻度が予め設定された閾値以下の)リテラルの組合せを含むルールを決定表生成対象とする、(2)入力条件に含まれるリテラルの数が多い(入力条件に所定数以上のリテラルが含まれる)ルールを決定表生成対象とする、(3)距離が長い(予め設定された閾値以上の)ルールを決定表生成対象とする、(4)ルールが内包するElse数が多い(予め設定された閾値以上の)ルールを決定表生成対象とする、等である。ここで(1)のように出現頻度が低いリテラルの組合せを含むルールを決定表生成対象とするのは、例えば、ルール仕様のうち見落とす可能性の高い部分を決定表にして可視化するためである。また(2)のように入力条件が多いルールを決定表生成対象とするのは、例えば、入力条件が多くて複雑な部分は誤りが生じやすいのでこれを決定表にして可視化しユーザに注意を促すためである。また(3)のように距離が長いルールを決定表生成対象とするのは、距離が長いと誤りが生じやすく(例えば、長いソースコードや複数ファイルに分割されたソースコードは一つの画面に収まりきらず、全体の見通しがつきにくく誤りが生じやすい等)、決定表を生成して可視化しユーザに注意を促すためである。また(4)のようにルールが内包するElse数が多いルールを決定表生成対象とするのは、ユーザが「If 条件 Then 処理1 Else 処理2」という形でソースコードを記述した場合、Elseに相当する条件はソースコード上に明示的には表示されず、ユーザはElseに相当する条件を意識しない可能性があるため、ルールが内包するElse数が多いと誤りが生じやすく、決定表を生成して可視化しユーザに注意を促すためである。
、ストレージシステム、ICカード、SDメモリカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置130に格納されているプログラムやデータは主記憶装置120に随時読み込まれる。
l Serial Interface)モジュール、シリアル通信モジュール等である。
ルールセットIDが「RS2」のルールセット320とを含む。ルールセット310及びル
ールセット320は夫々、ルールIDが「1」〜「4」の4つのルールを含む。
には識別子(以下、「行番号」と称する。)が付与される。決定表の各行は、入力条件「If」と結果「Then」とを含み、1行が一つのルールに対応する。例えば、決定表410の2行目は「If x<=50 And y>=0 Then out=1」というルールに対応し、決定表410の3行目は「If 0<x And x<=50 Then out=2」というルールに対応する。各行のセルは変数が同
じ0個以上のリテラルに対応する。例えば、決定表410のセル411は、リテラル「x<=50」に対応し、決定表410のセル412は、リテラル「y>=0」に対応し、決定表41
0のセル413は、リテラル「0<x」と「x<=50」に対応する。尚、決定表410のセル414の「-」は、変数「y」の値が関係ないことを意味している。
決定表生成部220は、決定表の生成に際し、除去したとしても入力条件に影響がないリテラル(以下、「ドントケア」と称する。)を除去する。決定表410の1行目の場合、「x>50」以外のリテラルがすべてドントケアとして除去されるため、決定表の行番号「1
」は「If x>50 Then out=1」に対応する内容になっている。
る。
0は、生成範囲特定情報280にフィルタリング条件が指定されている場合、フィルタリング条件を満たす範囲について決定表を生成する。決定表430は、ルールセット310の全体の決定表である決定表410のうち、フィルタリング条件「out=2 And y<0」を満
たす3行目のみについて決定表を生成した例である。
には、決定表の生成対象入力欄510、比較対象入力欄520、ルールメトリクス入力欄530、フィルタ条件入力欄540、及び決定表生成ボタン550が設けられている。
ストフォーム513はダイアログボックス等としてもよい。またラジオボタン512はリストボックス等としてもよい。
フォーム524にルールセットID「RS2」が設定されている。尚、テキストフォーム5
22及びテキストフォーム524はダイアログボックス等としてもよい。またラジオボタン523はリストボックス等としてもよい。
ボックスはテキストフォーム等としてもよく、閾値を入力するテキストフォームは、リストボックス等としてもよい。
541には、決定表の生成範囲を特定するためにフィルタ条件を使うか否かのユーザの意思表示が設定され、フィルタ条件を使う場合、ユーザはチェックボックス541をチェックする。テキストフォーム542には、フィルタ条件を入力する。同図の例では、チェックボックス541がチェックされ、テキストフォーム542にフィルタ条件「out=2 And y<0」が設定されている。
決定表生成処理S604の結果が「差分無し」でなければ、処理はS607に進む。
、真になり得ることを「充足可能」と称し、真になり得ないことを「充足不能」と称する。)を判定し、充足不能の場合、その行を決定表から除外する。尚、論理式の充足可能性を判定する技術として、SMTソルバ(Satisfiability Modulo Theories Solver)があ
る。決定表生成部220は、例えば、SMTソルバ等を用いて充足可能性を判定する。
Or x>0))And(out=0))」という論理式に変換される。尚、この論理式は、ルールセット310に含まれるルールIDが「1」〜「4」のルールのうち、一つ以上のルールにおいて入力条件と結果が成り立つことを意味している。
比較対象の論理式 And Not(決定表生成対象の出力変数 =比較対象の出力変数)」という論理式で表すことができる。この論理式は、決定表生成対象と比較対象を満たす入力条件と結果のうち、決定表生成対象の出力変数の値と比較対象の出力変数の値とが異なるケースを表している。
、上記論理式から否定を除外した論理式「(差分入力条件 → 結果ペアに含まれる各リテラルの右辺を不等号で結合したリテラル」は常に真である。即ち、差分入力条件が成り立つならば、必ず決定表生成対象の出力変数と比較対象の出力変数に割り当てられる値が異なるので、決定表生成部220は、出力変数の値の不一致が自明であるとする。上記論理式が充足可能の場合、決定表生成部220は、出力変数の値の不一致が自明でないとする。決定表生成部220が出力変数の値の不一致が自明であると判定した場合(S708:YES)、処理はS710に進む。決定表生成部220が出力変数の値の不一致が自明でないと判定した場合(S708:NO)、処理はS709に進む。
値)として、論理式等価変換処理S900を終了する。
12)。変換対象の論理式が充足可能である場合(S912:YES)、処理はS907に戻り、変換対象の論理式が充足不能である場合(S912:NO)、処理はS913に進む。
能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、また
はICカード、SDカード、DVD等の記録媒体に置くことができる。
Claims (12)
- ソフトウェアの仕様を入力条件と出力変数の値を示す情報である結果とを含む一つ以上のルールにより記述した情報であるルール仕様、及び、
決定表の生成範囲を特定する情報である生成範囲特定情報、
を記憶する情報記憶部と、
前記ルール仕様のうち、前記生成範囲特定情報によって特定される範囲について決定表を生成する決定表生成部と、
を備え、
前記入力条件の構成要素は、比較式、真偽型の変数、及び真偽値の少なくともいずれかである項、もしくは前記項の否定であり、
前記決定表生成部は、
前記入力条件又は前記ルール仕様に基づき生成された論理式を、論理的に等価な、前記構成要素の論理積である節を論理和で結合した論理式である選言標準形に変換し、
前記構成要素ごとに前記入力条件に影響を与えるか否かを判定し、前記入力条件に影響を与えない前記構成要素を前記入力条件から除外して前記決定表を生成する、
決定表生成装置。 - 請求項1に記載の決定表生成装置であって、
前記生成範囲特定情報は、決定表の生成対象である第1の前記ルール仕様について比較の対象とする第2の前記ルール仕様を特定する情報を含み、
前記決定表生成部は、前記第1のルール仕様と前記第2のルール仕様のうち、異なる結果となる同一の前記入力条件と当該入力条件における前記第1のルール仕様の結果及び前記第2のルール仕様の結果との組合せについて決定表を生成する、
決定表生成装置。 - 請求項1に記載の決定表生成装置であって、
前記生成範囲特定情報は、決定表の生成対象である前記ルール仕様について取得されるメトリクス値と、前記メトリクス値を評価して前記生成範囲を特定する情報であるメトリクス評価情報とを含み、
前記決定表生成部は、前記メトリクス値及び前記メトリクス評価情報に基づき前記生成範囲を特定し、特定した前記生成範囲について決定表を生成する、
決定表生成装置。 - 請求項3に記載の決定表生成装置であって、
前記メトリクス評価情報は、前記メトリクス値と比較される閾値を含み、
前記決定表生成部は、前記メトリクス値と前記閾値とを比較することにより特定される前記生成範囲について決定表を生成する、
決定表生成装置。 - ソフトウェアの仕様を入力条件と出力変数の値を示す情報である結果とを含む一つ以上のルールにより記述した情報であるルール仕様、及び、
決定表の生成範囲を特定する情報である生成範囲特定情報、
を記憶する情報記憶部と、
前記ルール仕様のうち、前記生成範囲特定情報によって特定される範囲について決定表を生成する決定表生成部と、
を備え、
前記入力条件の構成要素は、比較式、真偽型の変数、及び真偽値の少なくともいずれかである項、もしくは前記項の否定であり、
前記生成範囲特定情報は、決定表の生成対象である前記ルール仕様について取得されるメトリクス値と、前記メトリクス値を評価して前記生成範囲を特定する情報であるメトリクス評価情報とを含み、
前記決定表生成部は、前記メトリクス値及び前記メトリクス評価情報に基づき前記生成範囲を特定し、特定した前記生成範囲について決定表を生成し、
前記メトリクス値は、前記入力条件の前記構成要素の組合せの数であり、
前記メトリクス評価情報は、予め設定された閾値以下の数のルールにしか出現しない前記組合せを含む前記ルールを前記生成範囲として特定する情報を含む、
決定表生成装置。 - ソフトウェアの仕様を入力条件と出力変数の値を示す情報である結果とを含む一つ以上のルールにより記述した情報であるルール仕様、及び、
決定表の生成範囲を特定する情報である生成範囲特定情報、
を記憶する情報記憶部と、
前記ルール仕様のうち、前記生成範囲特定情報によって特定される範囲について決定表を生成する決定表生成部と、
を備え、
前記入力条件の構成要素は、比較式、真偽型の変数、及び真偽値の少なくともいずれかである項、もしくは前記項の否定であり、
前記生成範囲特定情報は、決定表の生成対象である前記ルール仕様について取得されるメトリクス値と、前記メトリクス値を評価して前記生成範囲を特定する情報であるメトリクス評価情報とを含み、
前記決定表生成部は、前記メトリクス値及び前記メトリクス評価情報に基づき前記生成範囲を特定し、特定した前記生成範囲について決定表を生成し、
前記メトリクス値は、前記入力条件の前記構成要素の数であり、
前記メトリクス評価情報は、前記構成要素の数が予め設定された閾値以上の前記ルールを前記生成範囲として特定する情報を含む、
決定表生成装置。 - ソフトウェアの仕様を入力条件と出力変数の値を示す情報である結果とを含む一つ以上のルールにより記述した情報であるルール仕様、及び、
決定表の生成範囲を特定する情報である生成範囲特定情報、
を記憶する情報記憶部と、
前記ルール仕様のうち、前記生成範囲特定情報によって特定される範囲について決定表を生成する決定表生成部と、
を備え、
前記入力条件の構成要素は、比較式、真偽型の変数、及び真偽値の少なくともいずれかである項、もしくは前記項の否定であり、
前記生成範囲特定情報は、決定表の生成対象である前記ルール仕様について取得されるメトリクス値と、前記メトリクス値を評価して前記生成範囲を特定する情報であるメトリクス評価情報とを含み、
前記決定表生成部は、前記メトリクス値及び前記メトリクス評価情報に基づき前記生成範囲を特定し、特定した前記生成範囲について決定表を生成し、
前記ルール仕様はソースコードに基づき生成されたものであり、
前記メトリクス値は、前記ルールの前記入力条件の前記構成要素に対応する命令の前記ソースコードにおける距離であり、
前記メトリクス評価情報は、前記距離が予め設定された閾値以上の前記ルールを前記生成範囲として特定する情報を含む、
決定表生成装置。 - ソフトウェアの仕様を入力条件と出力変数の値を示す情報である結果とを含む一つ以上のルールにより記述した情報であるルール仕様、及び、
決定表の生成範囲を特定する情報である生成範囲特定情報、
を記憶する情報記憶部と、
前記ルール仕様のうち、前記生成範囲特定情報によって特定される範囲について決定表を生成する決定表生成部と、
を備え、
前記入力条件の構成要素は、比較式、真偽型の変数、及び真偽値の少なくともいずれかである項、もしくは前記項の否定であり、
前記生成範囲特定情報は、決定表の生成対象である前記ルール仕様について取得されるメトリクス値と、前記メトリクス値を評価して前記生成範囲を特定する情報であるメトリクス評価情報とを含み、
前記決定表生成部は、前記メトリクス値及び前記メトリクス評価情報に基づき前記生成範囲を特定し、特定した前記生成範囲について決定表を生成し、
前記ルール仕様はソースコードに基づき生成されたものであり、
前記メトリクス値は、前記ルールの前記入力条件の前記構成要素に対応する前記ソースコードの命令が内包する「If〜Then〜Else」形式の命令におけるElse命令の数であり、
前記メトリクス評価情報は、前記Else命令の数が予め設定された閾値以上の前記ルールを前記生成範囲として特定する情報を含む、
決定表生成装置。 - 請求項1に記載の決定表生成装置であって、
前記生成範囲特定情報は論理式で記述されたフィルタ条件を含み、
前記決定表生成部は、前記ルール仕様に前記フィルタ条件を適用することにより特定される前記生成範囲について決定表を生成する、
決定表生成装置。 - 請求項1に記載の決定表生成装置であって、
前記情報記憶部はソースコードを記憶し、
前記出力変数を受け付けるユーザインタフェース、及び前記ソースコードと出力変数とに基づき前記ルール仕様を自動生成するルール仕様生成部をさらに備える、
決定表生成装置。 - 請求項1に記載の決定表生成装置であって、
前記情報記憶部は決定表を記憶し、
前記決定表に基づき前記ルール仕様を自動生成する決定表逆変換部をさらに備える、
決定表生成装置。 - 情報処理装置が、
ソフトウェアの仕様を入力条件と出力変数の値を示す情報である結果とを含む一つ以上のルールにより記述した情報であるルール仕様、及び、
決定表の生成範囲を特定する情報である生成範囲特定情報、
を記憶するステップ、
前記ルール仕様のうち、前記生成範囲特定情報によって特定される範囲について決定表
を生成するステップ、
を実行し、
前記入力条件の構成要素は、比較式、真偽型の変数、及び真偽値の少なくともいずれかである項、もしくは前記項の否定であり、
前記情報処理装置が、
前記入力条件又は前記ルール仕様に基づき生成された論理式を、論理的に等価な、前記構成要素の論理積である節を論理和で結合した論理式である選言標準形に変換するステップ、
前記構成要素ごとに前記入力条件に影響を与えるか否かを判定し、前記入力条件に影響を与えない前記構成要素を前記入力条件から除外して前記決定表を生成するステップ、
を実行する、決定表生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018016917A JP6904914B2 (ja) | 2018-02-02 | 2018-02-02 | 決定表生成装置、及び決定表生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018016917A JP6904914B2 (ja) | 2018-02-02 | 2018-02-02 | 決定表生成装置、及び決定表生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019133538A JP2019133538A (ja) | 2019-08-08 |
JP6904914B2 true JP6904914B2 (ja) | 2021-07-21 |
Family
ID=67546212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018016917A Active JP6904914B2 (ja) | 2018-02-02 | 2018-02-02 | 決定表生成装置、及び決定表生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6904914B2 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005352861A (ja) * | 2004-06-11 | 2005-12-22 | Nippon Telegr & Teleph Corp <Ntt> | 電子データ処理方法、電子データ処理装置、および、電子データ処理プログラム |
JP2011257965A (ja) * | 2010-06-09 | 2011-12-22 | Mitsubishi Electric Corp | メトリクス算出装置 |
JP5460629B2 (ja) * | 2011-03-10 | 2014-04-02 | 株式会社日立製作所 | 表形式ソフトウェア仕様作成支援方法、及び装置 |
JP5970292B2 (ja) * | 2012-08-21 | 2016-08-17 | 株式会社日立製作所 | ソフトウェア仕様開発支援方法及びソフトウェア仕様開発支援装置 |
JPWO2014061199A1 (ja) * | 2012-10-17 | 2016-09-05 | 日本電気株式会社 | システム設計方法、システム設計装置及びシステム設計プログラム |
JP6247976B2 (ja) * | 2014-03-28 | 2017-12-13 | 株式会社日立製作所 | ルール管理支援装置、およびルール管理支援方法 |
JP6239438B2 (ja) * | 2014-04-28 | 2017-11-29 | 東芝デジタルソリューションズ株式会社 | 仕様抽出装置、仕様抽出方法およびプログラム |
WO2016110946A1 (ja) * | 2015-01-06 | 2016-07-14 | 株式会社日立製作所 | ルール整合性検証装置およびルール整合性検証方法 |
-
2018
- 2018-02-02 JP JP2018016917A patent/JP6904914B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019133538A (ja) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Saura et al. | Using data mining techniques to explore security issues in smart living environments in Twitter | |
CN107644011B (zh) | 用于细粒度医疗实体提取的***和方法 | |
Itzik et al. | Variability analysis of requirements: Considering behavioral differences and reflecting stakeholders’ perspectives | |
Huang et al. | Synthesizing qualitative research in software engineering: A critical review | |
Van Benthem et al. | Symbolic model checking for dynamic epistemic logic—S5 and beyond | |
CN108885631B (zh) | 用于数据市场中的合同管理的方法和*** | |
CN111562965B (zh) | 基于决策树的页面数据校验方法和装置 | |
JP5970292B2 (ja) | ソフトウェア仕様開発支援方法及びソフトウェア仕様開発支援装置 | |
EP4285270A1 (en) | Auditing citations in a textual document | |
CN114840531B (zh) | 基于血缘关系的数据模型重构方法、装置、设备及介质 | |
CN113032580A (zh) | 关联档案推荐方法、***及电子设备 | |
JP6205512B2 (ja) | ルール管理支援装置、およびルール管理支援方法 | |
JP6692281B2 (ja) | テストケース生成装置、及びテストケース生成方法 | |
Sun et al. | Decoding the silent majority: Inducing belief augmented social graph with large language model for response forecasting | |
JP6904914B2 (ja) | 決定表生成装置、及び決定表生成方法 | |
CN112835810B (zh) | 一种基于日志分析的接口测试方法及装置 | |
CN109299475B (zh) | 一种医学文档的处理方法、装置、介质及电子设备 | |
JP2012194833A (ja) | テストデータ生成プログラム、装置、及び方法 | |
Tschirschwitz et al. | A dataset for analysing complex document layouts in the digital humanities and its evaluation with Krippendorff’s alpha | |
JP6802109B2 (ja) | ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法 | |
Pagnan | Syllogisms in rudimentary linear logic, diagrammatically | |
KR102492688B1 (ko) | 임상 의사 결정 지원 시스템에서 융합 지식 베이스를 제공하는 방법 및 장치 | |
Moody | Summarizing Crowd Sourced Reviews With Natural Language Processing: A Case Study | |
US20220230073A1 (en) | Computer-readable recording medium storing display program, information processing apparatus, and display method | |
Kuang et al. | Suggesting method names based on graph neural network with salient information modelling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210406 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210525 |
|
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: 20210608 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210624 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6904914 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |