JP7316613B2 - 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置 - Google Patents
異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置 Download PDFInfo
- Publication number
- JP7316613B2 JP7316613B2 JP2020058221A JP2020058221A JP7316613B2 JP 7316613 B2 JP7316613 B2 JP 7316613B2 JP 2020058221 A JP2020058221 A JP 2020058221A JP 2020058221 A JP2020058221 A JP 2020058221A JP 7316613 B2 JP7316613 B2 JP 7316613B2
- Authority
- JP
- Japan
- Prior art keywords
- branch destination
- branch
- abnormality detection
- rewriting
- program
- 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
- 230000005856 abnormality Effects 0.000 title claims description 140
- 238000001514 detection method Methods 0.000 title claims description 111
- 238000000034 method Methods 0.000 title claims description 50
- 230000015654 memory Effects 0.000 claims description 76
- 230000006870 function Effects 0.000 description 53
- 238000010586 diagram Methods 0.000 description 14
- 230000000052 comparative effect Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 4
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000004065 semiconductor Substances 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/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0745—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
-
- 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/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
-
- 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
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Description
実施の形態1について図1から図4を用いて説明する。実施の形態1では、関数分岐時の異常を検出できる異常検出方法、異常検出方法をコンピュータに実行させるための異常検出プログラム及び異常検出装置について説明する。
実施の形態2について図5から図7を用いて説明する。実施の形態2では、既存のプログラムを、関数分岐時の異常を検出できる異常検出プログラムに書き換えることができる書き換え方法、書き換えプログラム及び書き換え装置について説明する。
以上のように、本開示に係る技術の例示として実施の形態を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施の形態に含まれる。
11、101 検出部
12 読み出し部
13 判定部
14 実行部
15 記憶回路
20 メモリ
30 PC
100 書き換え装置
102 書き換え部
1000 プログラム
1001、1002 異常検出プログラム
Claims (14)
- 分岐命令に対応する分岐先アドレスを2回以上読み出し、
読み出された前記分岐先アドレスのそれぞれが一致しているか否かを判定し、
読み出された前記分岐先アドレスのそれぞれが一致している場合、前記分岐命令を実行し、読み出された前記分岐先アドレスのそれぞれが一致していない場合、異常検出処理を実行し、
同一の前記分岐先アドレスは、プログラムが置かれたメモリ領域において、2つの異なるメモリ領域に保持され、
前記読み出しでは、前記分岐先アドレスを前記2つの異なるメモリ領域から2回以上読み出す
異常検出方法。 - 前記異常検出方法では、特定の条件が満たされた場合に前記読み出しが行われ、前記特定の条件が満たされない場合には前記読み出しが行われない
請求項1に記載の異常検出方法。 - 前記特定の条件は、前記分岐命令に対応する分岐先アドレスを2回以上読み込んだときに追加で必要となるメモリ容量が一定以下となる条件である
請求項2に記載の異常検出方法。 - 前記特定の条件は、前記分岐命令に対応する分岐先アドレスを2回以上読み込んだときに追加で必要となる処理時間が一定以下となる条件である
請求項2に記載の異常検出方法。 - 前記特定の条件は、読み出そうとしている分岐先アドレスに対応する分岐命令の優先順位が一定以上であるという条件である
請求項2に記載の異常検出方法。 - 請求項1~5のいずれか1項に記載の異常検出方法をコンピュータに実行させるための異常検出プログラム。
- プログラムにおける分岐命令を検出する検出部と、
検出された前記分岐命令に対応する分岐先アドレスを2回以上読み出す読み出し部と、
読み出された前記分岐先アドレスのそれぞれが一致しているか否かを判定する判定部と、
読み出された前記分岐先アドレスのそれぞれが一致している場合、前記分岐命令を実行し、読み出された前記分岐先アドレスのそれぞれが一致していない場合、異常検出処理を実行する実行部と、を備え、
同一の前記分岐先アドレスは、プログラムが置かれたメモリ領域において、2つの異なるメモリ領域に保持され、
前記読み出し部は、前記分岐先アドレスを前記2つの異なるメモリ領域から2回以上読み出す
異常検出装置。 - プログラムの書き換え方法であって、
前記プログラムにおける分岐命令を検出し、
検出された前記分岐命令を異常検出命令に書き換え、
前記異常検出命令は、
前記分岐命令に対応する分岐先アドレスを2回以上読み出し、
読み出された前記分岐先アドレスのそれぞれが一致しているか否かを判定し、
読み出された前記分岐先アドレスのそれぞれが一致している場合、前記分岐命令を実行し、読み出された前記分岐先アドレスのそれぞれが一致していない場合、異常検出処理を実行する命令であり、
同一の前記分岐先アドレスは、プログラムが置かれたメモリ領域において、2つの異なるメモリ領域に保持され、
前記読み出しでは、前記分岐先アドレスを前記2つの異なるメモリ領域から2回以上読み出す
書き換え方法。 - 前記書き換え方法では、特定の条件が満たされた場合に前記書き換えが行われ、前記特定の条件が満たされない場合には前記書き換えが行われない
請求項8に記載の書き換え方法。 - 前記特定の条件は、前記分岐命令を前記異常検出命令に書き換えたときに追加で必要となるメモリ容量が一定以下となる条件である
請求項9に記載の書き換え方法。 - 前記特定の条件は、前記分岐命令を前記異常検出命令に書き換えたときに追加で必要となる処理時間が一定以下となる条件である
請求項9に記載の書き換え方法。 - 前記特定の条件は、書き換えようとしている分岐命令の優先順位が一定以上であるという条件である
請求項9に記載の書き換え方法。 - 請求項8~12のいずれか1項に記載の書き換え方法をコンピュータに実行させるための書き換えプログラム。
- プログラムの書き換え装置であって、
前記プログラムにおける分岐命令を検出する検出部と、
検出された前記分岐命令を異常検出命令に書き換える書き換え部と、を備え、
前記異常検出命令は、
前記分岐命令に対応する分岐先アドレスを2回以上読み出し、
読み出された前記分岐先アドレスのそれぞれが一致しているか否かを判定し、
読み出された前記分岐先アドレスのそれぞれが一致している場合、前記分岐命令を実行し、読み出された前記分岐先アドレスのそれぞれが一致していない場合、異常検出処理を実行する命令であり、
同一の前記分岐先アドレスは、プログラムが置かれたメモリ領域において、2つの異なるメモリ領域に保持され、
前記読み出しでは、前記分岐先アドレスを前記2つの異なるメモリ領域から2回以上読み出す
書き換え装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020058221A JP7316613B2 (ja) | 2020-03-27 | 2020-03-27 | 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置 |
PCT/JP2021/000423 WO2021192485A1 (ja) | 2020-03-27 | 2021-01-08 | 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置 |
DE112021000046.2T DE112021000046T5 (de) | 2020-03-27 | 2021-01-08 | Anomalieerfassungsverfahren, Anomalieerfassungsprogramm, Anomalieerfassungsvorrichtung, Umschreibeverfahren, Umschreibeprogramm und Umschreibevorrichtung |
US17/568,268 US11947408B2 (en) | 2020-03-27 | 2022-01-04 | Anomaly detection method, anomaly detection recording medium, anomaly detection device, rewriting method, and rewriting device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020058221A JP7316613B2 (ja) | 2020-03-27 | 2020-03-27 | 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021157594A JP2021157594A (ja) | 2021-10-07 |
JP7316613B2 true JP7316613B2 (ja) | 2023-07-28 |
Family
ID=77891670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020058221A Active JP7316613B2 (ja) | 2020-03-27 | 2020-03-27 | 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11947408B2 (ja) |
JP (1) | JP7316613B2 (ja) |
DE (1) | DE112021000046T5 (ja) |
WO (1) | WO2021192485A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000172532A (ja) | 1998-12-08 | 2000-06-23 | Hiroaki Takada | マルチタスクデバッグ装置及びマルチタスクデバッグ方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2077010B (en) * | 1980-06-02 | 1984-10-31 | Hitachi Ltd | Microprogramme control method and apparatus therefor |
JPS6355644A (ja) * | 1986-08-27 | 1988-03-10 | Nec Corp | プログラム暴走防止方式 |
JPS6424633U (ja) | 1987-08-05 | 1989-02-10 | ||
JPH03268034A (ja) * | 1990-03-19 | 1991-11-28 | Hitachi Ltd | プログラム実行監視方法 |
JPH04364531A (ja) * | 1991-06-12 | 1992-12-16 | Toshiba Corp | マイクロプロセッサ |
JPH0564933A (ja) | 1991-07-08 | 1993-03-19 | Sharp Corp | プリンター |
JPH0564933U (ja) * | 1992-01-27 | 1993-08-27 | 三菱電機株式会社 | 電子計算機 |
JP4660056B2 (ja) * | 2002-08-05 | 2011-03-30 | 株式会社セキュアウェア | データ処理装置 |
JP2011154459A (ja) | 2010-01-26 | 2011-08-11 | Renesas Electronics Corp | コンピュータシステムのプログラム異常動作検出装置 |
JP5549734B2 (ja) * | 2010-08-18 | 2014-07-16 | 富士通株式会社 | 試験方法、演算処理装置、試験プログラム、試験プログラム生成方法、試験プログラム生成装置、及び試験プログラム生成プログラム |
JP3169879U (ja) | 2010-10-22 | 2011-08-25 | 有限会社アトリエ セン | サイズ調節可能アクセサリー |
US9003225B2 (en) * | 2012-10-17 | 2015-04-07 | Advanced Micro Devices, Inc. | Confirming store-to-load forwards |
JP6424633B2 (ja) | 2015-01-08 | 2018-11-21 | 大日本印刷株式会社 | 電子情報記憶媒体、異常検知方法、及びプログラム |
JP2017123119A (ja) | 2016-01-08 | 2017-07-13 | 株式会社デンソー | 電子制御装置 |
DE102016113968A1 (de) * | 2016-07-28 | 2018-02-01 | Technische Universität München | Prozessor zur korrelationsbasierter Endlosschleifenerkennung |
-
2020
- 2020-03-27 JP JP2020058221A patent/JP7316613B2/ja active Active
-
2021
- 2021-01-08 WO PCT/JP2021/000423 patent/WO2021192485A1/ja active Application Filing
- 2021-01-08 DE DE112021000046.2T patent/DE112021000046T5/de active Pending
-
2022
- 2022-01-04 US US17/568,268 patent/US11947408B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000172532A (ja) | 1998-12-08 | 2000-06-23 | Hiroaki Takada | マルチタスクデバッグ装置及びマルチタスクデバッグ方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021192485A1 (ja) | 2021-09-30 |
DE112021000046T5 (de) | 2022-07-07 |
US20220129339A1 (en) | 2022-04-28 |
US11947408B2 (en) | 2024-04-02 |
JP2021157594A (ja) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086193B (zh) | 监控方法、装置及系统 | |
JP2009541834A (ja) | ネイティブコードに結合中に例外処理するための例外処理システム、例外処理方法、変換装置、および記憶媒体 | |
JP2010044578A (ja) | マルチコアプロセッサ | |
JP4202244B2 (ja) | Vliw型dsp,及びその動作方法 | |
JP4434548B2 (ja) | L2訂正可能エラーのための複数のプロセッサ・コアの割振り解除方法 | |
JP2013225208A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US7640421B1 (en) | Method and system for determining context switch state | |
US20120017072A1 (en) | Modifying a video resolution of video data in a pre-operating system environment | |
JP7316613B2 (ja) | 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置 | |
CN111797390B (zh) | 程序运行方法、装置、电子设备及计算机可读存储介质 | |
JP2000322264A (ja) | 電子機器 | |
TW201346529A (zh) | 訊號處理電路以及使用該訊號處理電路的測試裝置 | |
CN110275710B (zh) | 一种Java本地接口一致性检查方法及系统、存储介质及终端 | |
JP2001256044A (ja) | データ処理装置 | |
US20070101220A1 (en) | Systems and methods for accessing input/output devices | |
CN111221701A (zh) | 一种芯片及其电路逻辑重构系统 | |
JP2000339189A (ja) | 不正なメモリアクセスを検出する方法、デバッグ装置および記録媒体 | |
US20090217014A1 (en) | Processor, memory device, processing device, and method for processing instruction | |
KR101225577B1 (ko) | 어셈블리 언어 코드의 분석 장치 및 방법 | |
US20240037028A1 (en) | Software sharing across multiple cores | |
JPH1069399A (ja) | マイクロコンピュータ | |
KR102475840B1 (ko) | 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치 | |
JP3102568B2 (ja) | ソフトウエア開発装置 | |
WO2022089505A1 (zh) | 一种错误检测方法及相关装置 | |
KR20080044652A (ko) | Cpu에서의 스택을 이용한 디버깅 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230411 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230607 |
|
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: 20230620 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230707 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7316613 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
SZ03 | Written request for cancellation of trust registration |
Free format text: JAPANESE INTERMEDIATE CODE: R313Z03 |