JP2009211622A - 契約定義関数検証装置、その方法及びそのプログラム - Google Patents
契約定義関数検証装置、その方法及びそのプログラム Download PDFInfo
- Publication number
- JP2009211622A JP2009211622A JP2008056291A JP2008056291A JP2009211622A JP 2009211622 A JP2009211622 A JP 2009211622A JP 2008056291 A JP2008056291 A JP 2008056291A JP 2008056291 A JP2008056291 A JP 2008056291A JP 2009211622 A JP2009211622 A JP 2009211622A
- Authority
- JP
- Japan
- Prior art keywords
- function
- contract
- verification
- file
- assertion
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【解決手段】オブジェクトファイル中にアノテーションとして記述された契約定義関数の契約条件の充足性を検証用ソースコードに基づいて検証する契約定義関数検証装置であって、前記オブジェクトファイルから前記契約定義関数の定義を抽出し、契約定義関数情報を作成する契約定義関数抽出手段21と、検証用ソースコードとして、契約条件を検証可能な形式に変換した表明を契約定義箇所の処理を定義したスタブ関数に挿入した表明埋め込みスタブ関数を有する表明埋め込みスタブファイル41と、契約定義関数の呼び出し処理を、表明埋め込みスタブ関数の呼び出しに置き換えた、関数呼び出し置換ファイル42と、を作成する検証用ソースコード生成手段22と、を備える。
【選択図】図1
Description
2 表明検証装置
5 検証結果ファイル
6 検証結果表示装置
21 契約定義関数抽出手段
22 検証用ソースコード生成手段
23 表明埋め込みスタブ作成手段
24 関数呼び出し置換ソース作成手段
25 表明生成情報出力手段
26 表明検証手段
30 記憶装置
31 契約定義関数情報記憶部
32 表明生成情報
40 検証用ソースコード
41 表明埋め込みスタブファイル
42 関数呼び出し置換ファイル
50 プリンタ
Claims (16)
- オブジェクトファイル中にアノテーションとして記述された契約定義関数の契約条件の充足性を検証用ソースコードに基づいて検証し、該検証の結果を検証結果ファイルとして出力する契約定義関数検証装置であって、
前記オブジェクトファイルから前記契約定義関数の定義を抽出し、かつ、
前記契約定義関数の定義と、前記契約条件と、前記契約定義関数のファイルの名称及び前記契約定義関数のファイルにおいて前記契約条件が記載されている行番号を記した契約定義箇所と、を含む契約定義関数情報を作成する契約定義関数抽出手段と、
前記検証用ソースコードとして、前記契約条件を検証可能な形式に変換した表明を前記契約定義箇所の処理を定義したスタブ関数に挿入した表明埋め込みスタブ関数を有する表明埋め込みスタブファイルと、前記契約定義関数の呼び出し処理を、前記表明埋め込みスタブ関数の呼び出しに置き換えた、関数呼び出し置換ファイルと、を作成する検証用ソースコード生成手段と、
を備えること、を特徴とする契約定義関数検証装置。 - 前記検証用ソースコード生成手段は、前記契約定義箇所と、前記表明埋め込みスタブファイルの名称と、前記表明埋め込みスタブファイルにおいて前記契約条件が記載されている行番号と、の関係を示す表明生成情報を更に作成し、
前記検証結果ファイル及び前記表明生成情報に基づいた検証結果を表示する検証結果表示部を、更に備えたこと、を特徴とする請求項1に記載の契約定義関数検証装置。 - 前記検証用ソースコード生成手段は、
前記表明埋め込みスタブファイルを作成する表明埋め込みスタブ作成手段と、
前記関数呼び出し置換ファイルを作成する関数呼び出し置換ソース作成手段と、
前記表明生成情報を作成する表明生成情報出力手段と、
を備えること、を特徴とする請求項1又は2に記載の契約定義関数検証装置。 - 前記表明埋め込みスタブ作成手段は、前記契約定義関数情報を参照して、前記契約定義関数の呼び出しに対応した前記スタブ関数を作成すること、を特徴とする請求項3に記載の契約定義関数検証装置。
- 前記オブジェクトファイルはソースコードであること、を特徴とする請求項1乃至4のいずれか1項に記載の契約定義関数検証装置。
- 前記オブジェクトファイルはバイナリファイルであること、を特徴とする請求項1乃至4のいずれか1項に記載の契約定義関数検証装置。
- オブジェクトファイル中にアノテーションとして記述された契約定義関数の契約条件の充足性を検証用ソースコードに基づいて検証し、該検証の結果を検証結果ファイルとして出力する契約定義関数検証方法であって、
前記オブジェクトファイルから前記契約定義関数の定義を抽出する手順と、
前記契約定義関数の定義と、前記契約条件と、前記契約定義関数のファイルの名称及び前記契約定義関数のファイルにおいて前記契約条件が記載されている行番号を記した契約定義箇所と、を含む契約定義関数情報を作成する手順と、
前記検証用ソースコードを作成する手順と、
を備え、
前記検証用ソースコードを作成する手順は、
前記契約定義箇所の処理を定義したスタブ関数を定義する手順と、
前記契約条件を検証可能な形式に変換した表明を前記スタブ関数に挿入して表明埋め込みスタブ関数を定義する手順と、
該表明埋め込みスタブ関数を有する表明埋め込みスタブファイルを、第1の前記検証用ソースコードとして作成する手順と、
前記契約定義関数の呼び出し処理を、前記表明埋め込みスタブ関数の呼び出しに置き換えた、関数呼び出し置換ファイルを第2の前記検証用ソースコードとして作成する手順と、
を含むこと、を特徴とする契約定義関数検証方法。 - 前記検証用ソースコードを生成する手順は、前記契約定義箇所と、前記表明埋め込みスタブファイルの名称と、前記表明埋め込みスタブファイルにおいて前記契約条件が記載されている行番号と、の関係を示す表明生成情報を更に作成し、
前記検証結果ファイル及び前記表明生成情報に基づいた検証結果を表示する検証結果表示手順を、更に備えること、を特徴とする請求項7に記載の契約定義関数検証方法。 - 前記スタブ関数を定義する手順は、前記契約定義関数情報を参照して、前記契約定義関数の呼び出しに対応した前記スタブ関数を作成すること、を特徴とする請求項7又は8に記載の契約定義関数検証方法。
- 前記オブジェクトファイルはソースコードであること、を特徴とする請求項7乃至9のいずれか1項に記載の契約定義関数検証方法。
- 前記オブジェクトファイルはバイナリファイルであること、を特徴とする請求項7乃至9のいずれか1項に記載の契約定義関数検証方法。
- オブジェクトファイル中にアノテーションとして記述された契約定義関数の契約条件の充足性を検証用ソースコードに基づいて検証し、該検証の結果を検証結果ファイルとして出力する契約定義関数検証用プログラムであって、
前記オブジェクトファイルから前記契約定義関数の定義を抽出する処理と、
前記契約定義関数の定義と、前記契約条件と、前記契約定義関数のファイルの名称及び前記契約定義関数のファイルにおいて前記契約条件が記載されている行番号を記した契約定義箇所と、を含む契約定義関数情報を作成する処理と、
前記検証用ソースコードを作成する処理と、
をコンピュータに実行させ、
前記検証用ソースコードを作成する処理は、
前記契約定義箇所の処理を定義したスタブ関数を定義する処理と、
前記契約条件を検証可能な形式に変換した表明を前記スタブ関数に挿入して表明埋め込みスタブ関数を定義する処理と、
該表明埋め込みスタブ関数を有する表明埋め込みスタブファイルを、第1の前記検証用ソースコードとして作成する処理と、
前記契約定義関数の呼び出し処理を、前記表明埋め込みスタブ関数の呼び出しに置き換えた、関数呼び出し置換ファイルを第2の前記検証用ソースコードとして作成する処理と、
を含むこと、を特徴とする契約定義関数検証用プログラム。 - 前記検証用ソースコードを生成する処理は、前記契約定義箇所と、前記表明埋め込みスタブファイルの名称と、前記表明埋め込みスタブファイルにおいて前記契約条件が記載されている行番号と、の関係を示す表明生成情報を更に作成し、
前記検証結果ファイル及び前記表明生成情報に基づいた検証結果を表示する検証結果表示処理を、更にコンピュータに実行させること、を特徴とする請求項12に記載の契約定義関数検証用プログラム。 - 前記スタブ関数を定義する処理は、前記契約定義関数情報を参照して、前記契約定義関数の呼び出しに対応した前記スタブ関数を作成すること、を特徴とする請求項12又は13に記載の契約定義関数検証用プログラム。
- 前記オブジェクトファイルはソースコードであること、を特徴とする請求項12乃至14のいずれか1項に記載の契約定義関数検証用プログラム。
- 前記オブジェクトファイルはバイナリファイルであること、を特徴とする請求項12乃至14のいずれか1項に記載の契約定義関数検証用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008056291A JP4888790B2 (ja) | 2008-03-06 | 2008-03-06 | 契約定義関数検証装置、その方法及びそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008056291A JP4888790B2 (ja) | 2008-03-06 | 2008-03-06 | 契約定義関数検証装置、その方法及びそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009211622A true JP2009211622A (ja) | 2009-09-17 |
JP4888790B2 JP4888790B2 (ja) | 2012-02-29 |
Family
ID=41184673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008056291A Expired - Fee Related JP4888790B2 (ja) | 2008-03-06 | 2008-03-06 | 契約定義関数検証装置、その方法及びそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4888790B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011154568A (ja) * | 2010-01-27 | 2011-08-11 | Nec Corp | 情報処理装置、プログラム検証方法およびプログラム |
JP2012048660A (ja) * | 2010-08-30 | 2012-03-08 | Nec Corp | 静的解析処理システム、方法、およびプログラム |
CN108960830A (zh) * | 2018-07-16 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 智能合约的部署方法、装置、设备及存储介质 |
WO2022230074A1 (ja) * | 2021-04-27 | 2022-11-03 | 日本電信電話株式会社 | 検知装置、検知方法及び検知プログラム |
-
2008
- 2008-03-06 JP JP2008056291A patent/JP4888790B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011154568A (ja) * | 2010-01-27 | 2011-08-11 | Nec Corp | 情報処理装置、プログラム検証方法およびプログラム |
JP2012048660A (ja) * | 2010-08-30 | 2012-03-08 | Nec Corp | 静的解析処理システム、方法、およびプログラム |
CN108960830A (zh) * | 2018-07-16 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 智能合约的部署方法、装置、设备及存储介质 |
CN108960830B (zh) * | 2018-07-16 | 2022-07-15 | 百度在线网络技术(北京)有限公司 | 智能合约的部署方法、装置、设备及存储介质 |
WO2022230074A1 (ja) * | 2021-04-27 | 2022-11-03 | 日本電信電話株式会社 | 検知装置、検知方法及び検知プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4888790B2 (ja) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007323573A (ja) | 機能テスト・スクリプト生成装置 | |
JP2009520268A5 (ja) | ||
JP2008191963A (ja) | ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム | |
JP5176478B2 (ja) | データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム | |
JP4888790B2 (ja) | 契約定義関数検証装置、その方法及びそのプログラム | |
JP2009009418A (ja) | 検証装置および検証方法 | |
JP5316485B2 (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム | |
JP5293521B2 (ja) | デザインルールチェック検証装置およびデザインルールチェック検証方法 | |
JP2011191985A (ja) | シンボリック実行支援プログラム、方法及び装置 | |
JP2009230677A (ja) | プロパティ生成システムおよびプロパティ検証システム | |
JP6665576B2 (ja) | 支援装置、支援方法及びプログラム | |
JP2008052359A (ja) | テストケース生成装置、テストケース生成方法及びテストケース生成プログラム | |
JP5702265B2 (ja) | プログラム自動生成装置およびプログラム自動生成方法 | |
CN110515653B (zh) | 文档生成方法、装置、电子设备及计算机可读存储介质 | |
JP6116983B2 (ja) | エントリーポイント抽出装置 | |
JP2004326650A (ja) | 論理検証プログラム及び記録媒体 | |
CN113076084A (zh) | 资源文件处理方法、装置、设备及存储介质 | |
JP2007018313A (ja) | 回路設計プログラム、回路設計装置、回路設計方法 | |
JP2009217720A (ja) | プログラム生成装置およびプログラム生成方法 | |
JP2007018205A (ja) | アプリケーションプログラム実行装置,アプリケーション開発支援装置,画面遷移履歴表示装置及びプログラム | |
JP2010186378A (ja) | ソフトウェアのバージョン間の差分表示システム及び方法 | |
JP2009042951A (ja) | プログラム中のデータ抽出方法及び装置 | |
JP2007200125A (ja) | コーディング規約選択プログラム | |
JP6556091B2 (ja) | システム仕様検証支援装置及びシステム仕様検証支援方法 | |
JP6268062B2 (ja) | ソフトウェア仕様抽出装置、方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100805 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110907 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111104 |
|
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: 20111121 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111201 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141222 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |