JP6699889B2 - プログラム情報生成システム、方法、及びプログラム - Google Patents
プログラム情報生成システム、方法、及びプログラム Download PDFInfo
- Publication number
- JP6699889B2 JP6699889B2 JP2016124547A JP2016124547A JP6699889B2 JP 6699889 B2 JP6699889 B2 JP 6699889B2 JP 2016124547 A JP2016124547 A JP 2016124547A JP 2016124547 A JP2016124547 A JP 2016124547A JP 6699889 B2 JP6699889 B2 JP 6699889B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction code
- section
- program
- information
- critical section
- 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
- 238000000034 method Methods 0.000 title claims description 26
- 238000012545 processing Methods 0.000 claims description 79
- 238000000605 extraction Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 16
- 239000000284 extract Substances 0.000 claims description 7
- 230000006870 function Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 26
- 230000010365 information processing Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 3
- 230000012447 hatching Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
図1は、第1の実施形態に係るプログラム情報生成システム1の機能的構成を例示する図である。プログラム情報生成システム1は、取得部11、抽出部12、判定部13、及び生成部14を含む。
図10は、第2の実施形態に係るプログラム51に含まれる命令コードの分類及び分類情報82を例示する図である。本実施形態に係る動作情報90においては、1〜11のプログラムカウンタ値が付された命令コードがそれぞれ2回ずつ実行されている。これらの命令コードのうち、先に実行された1〜4のプログラムカウンタ値が付された第1の命令コード群91は動作クリティカルセクション67に含まれ、後に実行された1〜4のプログラムカウンタ値が付された第2の命令コード群92は動作クリティカルセクション67に含まれていない。
図11は、第3の実施形態に係るプログラム情報生成システム101の機能的構成を例示する図である。図1に示す第1の実施形態に係るプログラム情報生成システム1との機能構成的な比較において、本実施形態に係るプログラム情報生成システム101の抽出部12は動作割込み位置判定部111を更に含み、判定部13はプログラム割込み位置判定部115を更に含む。
図18は、第4の実施形態に係るプログラム情報生成システム201の機能的構成を例示する図である。本実施形態に係るプログラム情報生成システム201は図11に示す第3の実施形態に係るプログラム情報生成システム101の構成に加え、表示制御部15を含む。
11 取得部
12 抽出部
13 判定部
14 生成部
15 表示制御部
21 動作クリティカルセクション判定部
25 プログラムクリティカルセクション判定部
31 情報処理端末
32 サーバ
22 ネットワーク
41 CPU
42 ROM
43 RAM
44 入力デバイス
45 出力デバイス
46 通信I/F
47 バス
50,120 ソースコード
51,121 プログラム
55 通常命令コード
56 クリティカルセクション開始命令コード
57 クリティカルセクション終了命令コード
60,90,130A,130B,130C 動作情報
65 クリティカルセクション開始位置
66 クリティカルセクション終了位置
67 動作クリティカルセクション
71 プログラムクリティカルセクション
72 プログラム非クリティカルセクション
73 未実行セクション
81A,81B,82,141A,141B,141C 分類情報
91 第1の命令コード群
92 第2の命令コード群
95 未判定セクション
111 動作割込み位置判定部
115 プログラム割込み位置判定部
125 割込み命令コード
127A プログラム割込み位置
135A,135B,135C 動作割込み位置
137A,137B,137C 直前命令コード
138A,138B,138C 直後命令コード
211A,211B,211C,211D,211E,211F,211G,211H,211I,211J 表示画像
215A,215B 命令コードオブジェクト
216A,216B,216C,216D,216E,216F,216G セクションオブジェクト
221,222A,222B,222C 割込み回数オブジェクト
225 割込み未発生オブジェクト
Claims (9)
- 割込み処理を禁止するクリティカルセクションを開始させる開始命令コード及び前記クリティカルセクションを終了させる終了命令コードを含む複数の命令コードを含むプログラムと、複数の前記命令コードを実行した順序を示す動作情報とを取得する取得部と、
前記動作情報から、前記開始命令コードと一致する開始一致部分と前記終了命令コードの一致する終了一致部分との間の区間である第1の区間に含まれる前記命令コードを抽出する抽出部と、
前記第1の区間に含まれる前記命令コードに基づいて、前記第1の区間に対応する前記プログラム内の第2の区間を判定する判定部と、
前記命令コードが前記第2の区間に含まれるか否かを特定可能にする分類情報を生成する生成部と、
を備えるプログラム情報生成システム。 - 前記分類情報は、前記命令コードが前記第2の区間に含まれることを示す情報及び前記命令コードが第2の区間以外の区間に含まれることを示す情報を含む、
請求項1に記載のプログラム情報生成システム。 - 前記抽出部は、前記動作情報に含まれる複数の前記命令コードの中から前記開始一致部分及び前記終了一致部分を検出し、前記開始一致部分と前記終了一致部分との間の区間を前記第1の区間と判定し、
前記判定部は、前記第1の区間に含まれる1つ以上の前記命令コードを識別する命令コードIDと一致する前記命令コードIDで識別される前記命令コードを含む前記プログラム内の区間を前記第2の区間と判定する、
請求項1又は2に記載のプログラム情報生成システム。 - 前記プログラムは、前記割込み処理を実行させる割込み命令コードを更に含み、
前記抽出部は、前記割込み命令コード及び前記動作情報に基づいて、前記動作情報内での前記割込み処理の発生位置を示す第1の位置に対応する前記命令コードを前記動作情報から更に抽出し、
前記判定部は、前記第1の位置に対応する前記命令コードに基づいて、前記第1の位置に対応する前記プログラム内の第2の位置を更に判定し、
前記生成部は、前記第2の位置及び前記第2の区間に基づいて、前記割込み処理の発生位置が前記第2の区間に含まれるか否かを更に特定可能にする前記分類情報を生成する、
請求項1〜3のいずれか1項に記載のプログラム情報生成システム。 - 前記抽出部は、前記動作情報に含まれる複数の前記命令コードの中から前記割込み命令コードと一致する割込み一致部分を検出し、前記割込み一致部分の直前に位置する直前命令コード及び直後に位置する直後命令コードを検出し、
前記判定部は、前記プログラムに含まれる複数の前記命令コードのうち前記直前命令コード及び前記直後命令コードが連続している部分を前記第2の位置と判定する、
請求項4に記載のプログラム情報生成システム。 - 前記分類情報に基づいて、前記命令コードと前記第2の区間との関係を示す表示画像が表示されるように表示部を制御する表示制御部、
を更に備える請求項1〜5のいずれか1項に記載のプログラム情報生成システム。 - 前記分類情報に基づいて、前記命令コード、前記第2の区間、及び前記割込み処理の発生位置との関係を示す表示画像が表示されるように表示部を制御する表示制御部、
を更に備える請求項4又は5に記載のプログラム情報生成システム。 - 割込み処理を禁止するクリティカルセクションを開始させる開始命令コード及び前記クリティカルセクションを終了させる終了命令コードを含む複数の命令コードを含むプログラムと、複数の前記命令コードを実行した順序を示す動作情報とを取得するステップと、
前記動作情報から、前記開始命令コードと一致する開始一致部分と前記終了命令コードの一致する終了一致部分との間の区間である第1の区間に含まれる前記命令コードを抽出するステップと、
前記第1の区間に含まれる前記命令コードに基づいて、前記第1の区間に対応する前記プログラム内の第2の区間を判定するステップと、
前記命令コードが前記第2の区間に含まれるか否かを特定可能にする分類情報を生成するステップと、
を含むプログラム情報生成方法。 - コンピュータに、
割込み処理を禁止するクリティカルセクションを開始させる開始命令コード及び前記クリティカルセクションを終了させる終了命令コードを含む複数の命令コードを含むプログラムと、複数の前記命令コードを実行した順序を示す動作情報とを取得する処理と、
前記動作情報から、前記開始命令コードと一致する開始一致部分と前記終了命令コードの一致する終了一致部分との間の区間である第1の区間に含まれる前記命令コードを抽出する処理と、
前記第1の区間に含まれる前記命令コードに基づいて、前記第1の区間に対応する前記プログラム内の第2の区間を判定する処理と、
前記命令コードが前記第2の区間に含まれるか否かを特定可能にする分類情報を生成する処理と、
を実行させるプログラム情報生成プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016124547A JP6699889B2 (ja) | 2016-06-23 | 2016-06-23 | プログラム情報生成システム、方法、及びプログラム |
US15/440,635 US20170371664A1 (en) | 2016-06-23 | 2017-02-23 | Program information generation system, method, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016124547A JP6699889B2 (ja) | 2016-06-23 | 2016-06-23 | プログラム情報生成システム、方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017228125A JP2017228125A (ja) | 2017-12-28 |
JP6699889B2 true JP6699889B2 (ja) | 2020-05-27 |
Family
ID=60677527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016124547A Expired - Fee Related JP6699889B2 (ja) | 2016-06-23 | 2016-06-23 | プログラム情報生成システム、方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170371664A1 (ja) |
JP (1) | JP6699889B2 (ja) |
-
2016
- 2016-06-23 JP JP2016124547A patent/JP6699889B2/ja not_active Expired - Fee Related
-
2017
- 2017-02-23 US US15/440,635 patent/US20170371664A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2017228125A (ja) | 2017-12-28 |
US20170371664A1 (en) | 2017-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016519385A (ja) | ドライバをロードする方法及び組み込みデバイス | |
US20200004663A1 (en) | Visible elements-based application testing | |
JP2009116847A (ja) | ソフトウェア脆弱点点検装置及び方法 | |
CN111124479B (zh) | 配置文件的解析方法、系统及电子设备 | |
JP6268029B2 (ja) | テストケース生成装置及びテストケース生成方法 | |
US10635421B2 (en) | Electronic device, compiling method and computer-readable recording medium | |
US20160062871A1 (en) | Program information generating system, method, and computer program product | |
US20210208996A1 (en) | Verification automation apparatus, verification automation method, and computer-readable recording medium | |
JP2016115175A (ja) | ソフトウェアテスト装置およびソフトウェアテストプログラム | |
JP7077909B2 (ja) | デッドコード解析プログラム、デッドコード解析方法及びデッドコード解析装置 | |
US10095607B2 (en) | Information processing device, computer program product, and testing system with acquiring total execution history | |
JP6409577B2 (ja) | テスト選択プログラム、テスト選択方法、及びテスト選択装置 | |
JP6309795B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US10884711B2 (en) | Code management system and code management method using a visual programming tool | |
JP2015176230A (ja) | テストケース生成装置、方法、及びプログラム | |
JP6699889B2 (ja) | プログラム情報生成システム、方法、及びプログラム | |
JP6451417B2 (ja) | デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム | |
JP2015184824A (ja) | 情報処理プログラム、情報処理方法および情報処理装置 | |
JP2018018197A (ja) | ソースコード評価プログラム | |
WO2017204139A1 (ja) | データ処理装置、データ処理方法、およびプログラム記録媒体 | |
JP5755861B2 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
JP6364786B2 (ja) | 設計書管理プログラム、設計書管理方法および設計書管理装置 | |
WO2017022016A1 (ja) | プログラム情報生成システム、方法、及びプログラム | |
JP6945434B2 (ja) | ソフトウェア開発装置、ソフトウェア開発方法およびソフトウェア開発プログラム | |
JP2011113298A (ja) | 流用ソースコード解析システム及びプログラム並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190709 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200313 |
|
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: 20200331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200424 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6699889 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |