JP4888790B2 - 契約定義関数検証装置、その方法及びそのプログラム - Google Patents
契約定義関数検証装置、その方法及びそのプログラム Download PDFInfo
- Publication number
- JP4888790B2 JP4888790B2 JP2008056291A JP2008056291A JP4888790B2 JP 4888790 B2 JP4888790 B2 JP 4888790B2 JP 2008056291 A JP2008056291 A JP 2008056291A JP 2008056291 A JP2008056291 A JP 2008056291A JP 4888790 B2 JP4888790 B2 JP 4888790B2
- Authority
- JP
- Japan
- Prior art keywords
- contract
- function
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
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項に記載の契約定義関数検証装置。
- オブジェクトファイル中にアノテーションとして記述された契約定義関数の契約条件の充足性を検証用ソースコードに基づいて検証し、該検証の結果を検証結果ファイルとして出力する契約定義関数検証装置が行う、契約定義関数検証方法であって、
前記契約定義関数検証装置が備える契約定義関数抽出手段が、前記オブジェクトファイルから前記契約定義関数の定義を抽出し、かつ、
前記契約定義関数の定義と、前記契約条件と、前記契約定義関数のファイルの名称及び前記契約定義関数のファイルにおいて前記契約条件が記載されている行番号を記した契約定義箇所と、を含む契約定義関数情報を作成する手順と、
前記契約定義関数検証装置が備える検証用ソースコード生成手段が、前記検証用ソースコードとして、前記契約条件を検証可能な形式に変換した表明を前記契約定義箇所の処理を定義したスタブ関数に挿入した表明埋め込みスタブ関数を有する表明埋め込みスタブファイルと、前記契約定義関数の呼び出し処理を、前記表明埋め込みスタブ関数の呼び出しに置き換えた、関数呼び出し置換ファイルと、を作成する手順と、
を備えること、を特徴とする契約定義関数検証方法。 - 前記検証用ソースコード生成手段が、前記契約定義箇所と、前記表明埋め込みスタブファイルの名称と、前記表明埋め込みスタブファイルにおいて前記契約条件が記載されている行番号と、の関係を示す表明生成情報を更に作成する手順と、
前記契約定義関数検証装置が備える検証結果表示部が、前記検証結果ファイル及び前記表明生成情報に基づいた検証結果を表示する手順と、
を更に備えること、を特徴とする請求項7に記載の契約定義関数検証方法。 - 前記検証用ソースコード生成手段が備える表明埋め込みスタブ作成手段が、前記表明埋め込みスタブファイルを作成する手順と、
前記検証用ソースコード生成手段が備える関数呼び出し置換ソース作成手段が、前記関数呼び出し置換ファイルを作成する手順と、
前記検証用ソースコード生成手段が備える表明生成情報出力手段が、前記表明生成情報を作成する手順と、
を更に備えること、を特徴とする請求項7又は8に記載の契約定義関数検証方法。 - 前記表明埋め込みスタブ作成手段が、前記契約定義関数情報を参照して、前記契約定義関数の呼び出しに対応した前記スタブ関数を作成すること、を特徴とする請求項9に記載の契約定義関数検証方法。
- 前記オブジェクトファイルはソースコードであること、を特徴とする請求項7乃至10のいずれか1項に記載の契約定義関数検証方法。
- 前記オブジェクトファイルはバイナリファイルであること、を特徴とする請求項7乃至10のいずれか1項に記載の契約定義関数検証方法。
- オブジェクトファイル中にアノテーションとして記述された契約定義関数の契約条件の充足性を検証用ソースコードに基づいて検証し、該検証の結果を検証結果ファイルとして出力する契約定義関数検証装置に組み込まれる契約定義関数検証プログラムであって、
前記オブジェクトファイルから前記契約定義関数の定義を抽出し、かつ、
前記契約定義関数の定義と、前記契約条件と、前記契約定義関数のファイルの名称及び前記契約定義関数のファイルにおいて前記契約条件が記載されている行番号を記した契約定義箇所と、を含む契約定義関数情報を作成する契約定義関数抽出手段と、
前記検証用ソースコードとして、前記契約条件を検証可能な形式に変換した表明を前記契約定義箇所の処理を定義したスタブ関数に挿入した表明埋め込みスタブ関数を有する表明埋め込みスタブファイルと、前記契約定義関数の呼び出し処理を、前記表明埋め込みスタブ関数の呼び出しに置き換えた、関数呼び出し置換ファイルと、を作成する検証用ソースコード生成手段と、
を備える契約定義関数検証装置としてコンピュータを機能させることを特徴とする契約定義関数検証プログラム。 - 前記検証用ソースコード生成手段は、前記契約定義箇所と、前記表明埋め込みスタブファイルの名称と、前記表明埋め込みスタブファイルにおいて前記契約条件が記載されている行番号と、の関係を示す表明生成情報を更に作成し、
前記検証結果ファイル及び前記表明生成情報に基づいた検証結果を表示する検証結果表示部を、更に備えたこと、を特徴とする請求項13に記載の契約定義関数検証プログラム。 - 前記検証用ソースコード生成手段は、
前記表明埋め込みスタブファイルを作成する表明埋め込みスタブ作成手段と、
前記関数呼び出し置換ファイルを作成する関数呼び出し置換ソース作成手段と、
前記表明生成情報を作成する表明生成情報出力手段と、
を備えること、を特徴とする請求項13又は14に記載の契約定義関数検証プログラム。 - 前記表明埋め込みスタブ作成手段は、前記契約定義関数情報を参照して、前記契約定義関数の呼び出しに対応した前記スタブ関数を作成すること、を特徴とする請求項15に記載の契約定義関数検証プログラム。
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 JP2009211622A (ja) | 2009-09-17 |
JP4888790B2 true 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) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011154568A (ja) * | 2010-01-27 | 2011-08-11 | Nec Corp | 情報処理装置、プログラム検証方法およびプログラム |
JP5545133B2 (ja) * | 2010-08-30 | 2014-07-09 | 日本電気株式会社 | 静的解析処理システム、方法、およびプログラム |
CN108960830B (zh) * | 2018-07-16 | 2022-07-15 | 百度在线网络技术(北京)有限公司 | 智能合约的部署方法、装置、设备及存储介质 |
CN110532176B (zh) * | 2019-07-31 | 2024-07-05 | 平安科技(深圳)有限公司 | 一种智能合约的形式化验证方法、电子装置及存储介质 |
WO2022230074A1 (ja) * | 2021-04-27 | 2022-11-03 | 日本電信電話株式会社 | 検知装置、検知方法及び検知プログラム |
-
2008
- 2008-03-06 JP JP2008056291A patent/JP4888790B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009211622A (ja) | 2009-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007323573A (ja) | 機能テスト・スクリプト生成装置 | |
JP2008191963A (ja) | ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム | |
JP4888790B2 (ja) | 契約定義関数検証装置、その方法及びそのプログラム | |
JP6268029B2 (ja) | テストケース生成装置及びテストケース生成方法 | |
JP5109143B2 (ja) | 検証装置および検証方法 | |
JP5293521B2 (ja) | デザインルールチェック検証装置およびデザインルールチェック検証方法 | |
CN113076084A (zh) | 资源文件处理方法、装置、设备及存储介质 | |
JP5316485B2 (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム | |
JP5702265B2 (ja) | プログラム自動生成装置およびプログラム自動生成方法 | |
JP2016128941A (ja) | 出力判定装置、出力判定方法、出力判定プログラム、及び、静的解析装置 | |
JP6665576B2 (ja) | 支援装置、支援方法及びプログラム | |
CN110515653B (zh) | 文档生成方法、装置、电子设备及计算机可读存储介质 | |
JP2008052359A (ja) | テストケース生成装置、テストケース生成方法及びテストケース生成プログラム | |
JP6116983B2 (ja) | エントリーポイント抽出装置 | |
JP2010176594A (ja) | ソースコードバージョン管理プログラム及びソースコードバージョン管理方法 | |
JP4983027B2 (ja) | チェックプログラム及びチェック方法 | |
JP2007018313A (ja) | 回路設計プログラム、回路設計装置、回路設計方法 | |
US10726109B2 (en) | Method and system for identifying whether an application is genuine by means of digital watermarks | |
JP2013206310A (ja) | モデル検査装置、モデル検査方法、およびプログラム | |
JP2009217720A (ja) | プログラム生成装置およびプログラム生成方法 | |
KR101038298B1 (ko) | 다국어 도서정보 자동 생성 장치 및 그 방법 | |
JP6268062B2 (ja) | ソフトウェア仕様抽出装置、方法、及びプログラム | |
JP2007018205A (ja) | アプリケーションプログラム実行装置,アプリケーション開発支援装置,画面遷移履歴表示装置及びプログラム | |
JP2010186378A (ja) | ソフトウェアのバージョン間の差分表示システム及び方法 | |
JP2009042951A (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 |