JP6490779B2 - 仕様抽出装置、仕様抽出方法およびプログラム - Google Patents
仕様抽出装置、仕様抽出方法およびプログラム Download PDFInfo
- Publication number
- JP6490779B2 JP6490779B2 JP2017211764A JP2017211764A JP6490779B2 JP 6490779 B2 JP6490779 B2 JP 6490779B2 JP 2017211764 A JP2017211764 A JP 2017211764A JP 2017211764 A JP2017211764 A JP 2017211764A JP 6490779 B2 JP6490779 B2 JP 6490779B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- processing
- source code
- input
- code
- 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
制御部16の変数特定手段161は、対象モジュールのソースコードにおける出力変数を特定する。具体的には、変数特定手段161は、出力変数として、ソースコードにおいて更新されているグローバル変数を特定する。そして、ステップS11へ進む。
制御部16の等価変換手段162は、対象モジュールのソースコードにおいて等価変換処理を実行し、出力変数についての方程式を導出する。具体的には、等価変換手段162は、等価変換処理として、定数伝播処理、入力変数伝播処理、枝刈り処理および条件式情報伝播処理を実行する。
制御部16のグラフ作成手段163は、等価変換手段162により導出された出力変数についての方程式から、原因結果グラフを作成する。具体的には、グラフ作成手段163は、出力変数についての方程式の各入力条件をノードとして、後述するように、OR記号部、AND記号部およびNOT記号部で結合することにより、出力変数の値(出力値)の振る舞いが把握できる原因結果グラフを作成する。ただし、グラフ作成手段163は、上述のように出力変数についての方程式から、入力条件式のノードがOR記号部、AND記号部およびNOT記号部によって結合された原因結果グラフを作成する。したがって、等価変換手段162は、3項演算子を用いて表された方程式を、論理演算子を用いて表された方程式に変換することが望ましい。そして、ステップS13へ進む。
制御部16のテーブル変換手段164は、グラフ作成手段163により作成された原因結果グラフをデシジョンテーブルに変換する。具体的には、テーブル変換手段164は、上述の出力変数についての方程式の入力条件(原因結果グラフにおける入力条件のノード)の値の組み合わせごとに、出力変数の値(出力値)がどのように値をとるかについて表にしたデシジョンテーブルを作成する。そして、仕様抽出動作を終了する。
11 通信部
12 操作部
13 表示部
14 記憶部
15 外部記憶装置
16 制御部
17 シリアルバス
20 対象モジュール
21〜24 処理後モジュール
25 対象モジュール
26 等価変換後モジュール
30、30a〜30c サンプルコード
31 定数伝播処理後コード
31a 入力変数伝播処理後コード
31b 枝刈り処理後コード
31c 条件式情報伝播処理後コード
40〜45 ノード
42a、43a ノード
50 デシジョンテーブル
60 OR記号部
61 AND記号部
62a、62b NOT記号部
70 出力値ノード
161 変数特定手段
162 等価変換手段
163 グラフ作成手段
164 テーブル変換手段
200、201 グローバル変数
202〜204 入力条件部
205、206、207a〜207c、208 コード部
210 定数伝播処理後コード部
211 入力変数伝播処理後コード部
212a〜212c、213 定数伝播処理後コード部
214 コード部
220 枝刈り処理後コード部
221 コード部
230 条件式情報伝播処理後コード部
231 コード部
240 条件式情報伝播処理後コード部
241 方程式
250 仮変数設定コード部
260 方程式コード部
300〜303 コード部
300a、301a コード部
300b、301b コード部
300c コード部
310〜312 定数伝播処理後コード部
310a 入力変数伝播処理後コード部
310b 枝刈り処理後コード部
310c 条件式情報伝播処理後コード部
Claims (6)
- ソースコードを解析して出力変数を特定する解析手段と、
特定された前記出力変数に基づいて、等価変換処理として、定数伝播処理、入力変数伝播処理および枝刈り処理のループ処理を実行することによって前記ソースコードを縮約する縮約手段と、
縮約された前記ソースコードから、入力条件の真偽と、前記出力変数の値との対応関係を示すデシジョンテーブルを生成する生成手段と、
を備えた仕様抽出装置。 - 前記縮約手段は、
前記定数伝播処理では、前記ソースコードにおいて、変数への定数の代入箇所を開始点として、変数を定数に置き換え、
前記入力変数伝播処理では、前記ソースコードにおいて、グローバル変数である入力変数を使って計算される変数の箇所を開始点として、変数を入力変数を用いた式に置き換え、
前記枝刈り処理において、前記ソースコードにおいて、複数の分岐の選択肢のうち、実行されることのない選択肢を削除する請求項1に記載の仕様抽出装置。 - 前記縮約手段は、前記等価変換処理として、さらに条件式情報伝播処理を実行する請求項1または2に記載の仕様抽出装置。
- 前記縮約手段は、前記条件式情報伝播処理では、前記ソースコードにおいて、条件分岐式を3項式に置き換えることを特徴とする請求項3に記載の仕様抽出装置。
- 解析手段が、ソースコードを解析して出力変数を特定するステップと、
縮約手段が、特定された前記出力変数に基づいて、等価変換処理として、定数伝播処理、入力変数伝播処理および枝刈り処理のループ処理を実行することによって前記ソースコードを縮約するステップと、
生成手段が、縮約された前記ソースコードから、入力条件の真偽と、前記出力変数の値との対応関係を示すデシジョンテーブルを生成するステップと、
を有する仕様抽出方法。 - ソースコードを解析して出力変数を特定する解析手段と、
特定された前記出力変数に基づいて、等価変換処理として、定数伝播処理、入力変数伝播処理および枝刈り処理のループ処理を実行することによって前記ソースコードを縮約する縮約手段と、
縮約された前記ソースコードから、入力条件の真偽と、前記出力変数の値との対応関係を示すデシジョンテーブルを生成する生成手段と、
をコンピュータに実現させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017211764A JP6490779B2 (ja) | 2017-11-01 | 2017-11-01 | 仕様抽出装置、仕様抽出方法およびプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017211764A JP6490779B2 (ja) | 2017-11-01 | 2017-11-01 | 仕様抽出装置、仕様抽出方法およびプログラム |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014093091A Division JP6239438B2 (ja) | 2014-04-28 | 2014-04-28 | 仕様抽出装置、仕様抽出方法およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018018548A JP2018018548A (ja) | 2018-02-01 |
| JP6490779B2 true JP6490779B2 (ja) | 2019-03-27 |
Family
ID=61076007
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017211764A Active JP6490779B2 (ja) | 2017-11-01 | 2017-11-01 | 仕様抽出装置、仕様抽出方法およびプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6490779B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102210966B1 (ko) * | 2018-12-21 | 2021-02-03 | 세메스 주식회사 | 제품 명세서 코드 추출 장치 및 제품 명세서 코드 추출 방법 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0540616A (ja) * | 1991-08-02 | 1993-02-19 | Hitachi Ltd | プログラム仕様生成方法 |
| US5666296A (en) * | 1991-12-31 | 1997-09-09 | Texas Instruments Incorporated | Method and means for translating a data-dependent program to a data flow graph with conditional expression |
| JP2009176064A (ja) * | 2008-01-24 | 2009-08-06 | Fuji Electric Holdings Co Ltd | ソフトウェアリファクタリング支援装置および方法 |
-
2017
- 2017-11-01 JP JP2017211764A patent/JP6490779B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018018548A (ja) | 2018-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110673854B (zh) | Sas语言编译方法、装置、设备及可读存储介质 | |
| US20100199269A1 (en) | Program optimization device and program optimization method | |
| US9639454B2 (en) | Computer-readable recording medium storing therein test data generating program, test data generating method, test data generating apparatus and information processing system | |
| JP2021128779A (ja) | データ拡張の方法及び装置、機器、記憶媒体 | |
| CN115469849B (zh) | 一种业务处理系统、方法、电子设备和存储介质 | |
| CN111752566A (zh) | 编译型语言环境中函数表达式的解析方法及装置、存储介质、终端 | |
| JP6309795B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
| JP6239438B2 (ja) | 仕様抽出装置、仕様抽出方法およびプログラム | |
| CN112148279B (zh) | 日志信息处理方法、装置、电子设备和存储介质 | |
| JP6866270B2 (ja) | Sql文抽出装置、sql文抽出方法及びプログラム | |
| JP6490779B2 (ja) | 仕様抽出装置、仕様抽出方法およびプログラム | |
| CN101136780A (zh) | 获取用户命令信息的方法、系统及用户命令注册的装置 | |
| CN117251164A (zh) | 模型代码转换方法、装置、设备及存储介质 | |
| JP6305944B2 (ja) | 仕様抽出装置、仕様抽出方法およびプログラム | |
| JP6289748B2 (ja) | 制御ロジック図解析装置および制御ロジック図解析方法 | |
| CN113391795B (zh) | 一种应用场景和软件开发包自适应映射的实现方法和系统 | |
| JP2016051367A (ja) | データ解析装置、データ解析方法、および、プログラム。 | |
| JP2009163662A (ja) | 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム | |
| CN116643739A (zh) | 决策引擎实现方法、装置、设备及存储介质 | |
| WO2023248407A1 (ja) | システム検証装置、システム検証方法、及びコンピュータ読み取り可能な記録媒体 | |
| JP6025955B1 (ja) | プログラム解析装置及びプログラム解析方法 | |
| JP6175306B2 (ja) | 制御プログラム分割装置、制御プログラム分割方法及びその記録媒体 | |
| CN114449063A (zh) | 一种报文处理方法、装置及设备 | |
| JP6305356B2 (ja) | 仕様抽出装置、仕様抽出方法およびプログラム | |
| JP6802109B2 (ja) | ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20171122 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171124 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20171122 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180525 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180626 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180810 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181127 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190111 |
|
| 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: 20190129 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190227 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6490779 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |