JP5703968B2 - プログラム開発支援装置およびそのプログラム - Google Patents
プログラム開発支援装置およびそのプログラム Download PDFInfo
- Publication number
- JP5703968B2 JP5703968B2 JP2011121898A JP2011121898A JP5703968B2 JP 5703968 B2 JP5703968 B2 JP 5703968B2 JP 2011121898 A JP2011121898 A JP 2011121898A JP 2011121898 A JP2011121898 A JP 2011121898A JP 5703968 B2 JP5703968 B2 JP 5703968B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- access
- recording
- determination
- execution
- 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
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は上記問題を鑑みて考案されたものであり、その課題はコンピュータの性能の低下を引き起こすようなバグやアクセス資源の劣化を故意に導くようなバグの修正箇所を明確にしてその修正を促し、プログラムの開発効率を向上させることが可能なプログラム開発支援装置やプログラムを提供することにある。
請求項1に係る発明は、プログラムを実行するプログラム実行手段と、このプログラム実行手段がアクセスする記憶手段と、プログラム実行手段が記憶手段をアクセスする際に呼び出され、該呼び出された時刻を記録テーブルに順次記録するアクセス時刻記録手段と、このアクセス時刻記録手段によって順次記録された時刻の前後の時間間隔に基づき記憶手段へのアクセスの頻度が異常であるかを判定する第1の判定手段と、この第1の判定手段による判定結果を記録テーブルに記録する記録手段と、この記録手段によって記録された記録テーブルを出力する判定結果出力手段と、を含むアクセス監視手段と、を備えるように構成する。
請求項7に係る発明は、請求項1〜請求項5のいずれか1項に記載されたプログラム開発支援装置において、記録テーブルは該プログラム開発支援装置に着脱可能な外部記憶手段に保存されるように構成する。
なお、アプリケーションプログラム103およびメモリアクセス監視プログラム104はプログラム保存用メモリ102に保持されているが、それぞれのプログラムは別媒体のメモリに保持されていても構わない。
アプリケーションプログラム103は処理103aを実行するプログラムである。アプリケーションプログラム103は処理103aの実行の過程でメモリアクセス監視プログラム104を呼び出す(コールする)ことにより、所定アドレスに配置されたメモリをアクセスするように構成されている。すなわち、アプリケーションプログラム103はメモリアクセス監視プログラム104をコールことによって、メモリへのアクセスを要求する。
メモリアクセス監視プログラム104はアプリケーションプログラム103によって呼び出されることは前述説明した通りである。さらに、アプリケーションプログラム103はメモリアクセス監視プログラム104の呼出の際のCPU101のプログラムカウンタと時刻情報とを不図示の記憶手段に退避している。メモリアクセス監視プログラム104は、これら退避されたプログラムカウンタおよび時刻情報を参照することができることを付け加えておく。
すなわち、メモリアクセス監視プログラム104はアクセス時刻の差分を算出してその間隔時間をチェックすること、もしくはプログラムカウンタの接近をチェックすることで、アクセス監視対象メモリ106へのアクセス頻度を検出し、正常/異常の判定を行っている。
(図5中段の監視結果105a)
インデックス1の「呼出時刻」欄に最新アクセス時刻値201が追加されている。これは図3のステップS2が実行された結果である。「呼出異常」欄はFALSEであり、この段階では正常を意味している。
(図5下段の監視結果105a)
インデックス1の「呼出異常」欄のステータスがTRUEに更新されている。これは図3のステップS4が実行された結果であり、この過程においてアクセスが異常と判定されたものである。図3のステップS3では、追加された時刻値201とその前のアクセス時刻値139とを基に、そのアクセスの頻度がメモリアクセス監視プログラム104によって求められ、正常/異常が判定される。この場合、最新アクセス時刻値が201であり、前のアクセス時刻値が139である。従って、差は201−139=62であり、時間に換算すると6.2msである。よって、当該アクセス監視対象メモリ106へのアクセス要求は10ms以内で複数回あったため、アクセス頻度が高く異常と判定されている。そして、監視結果105aの「呼出時刻」欄がステップS4の処理で異常ステータスに更新されている。なお、この際、実際のメモリアクセスは行われない。
また、図3のステップS4が記録手段に相当しており、該記憶手段は、上述判定1のみがステップS3に適用されれば、判定1のみの判定結果を判定結果105aに記録する。一方、上述判定2のみがステップS3に適用されれば、記憶手段は判定2のみの判定結果を判定結果105aに記録することになる。また、判定1と判定2の両方の判定がステップS3に適用された場合、記録手段は判定1と判定2の両方の判定が「正常」という条件にて、判定結果105aに正常という判定結果を記録することになる。
101 CPU
102 プログラム保存用メモリ
103 アプリケーションプログラム
104 メモリアクセス監視プログラム
105 監視結果保存用メモリ
105a 監視結果
106 アクセス監視対象メモリ
107 バス
Claims (9)
- プログラムを実行するプログラム実行手段と、
このプログラム実行手段がアクセスする記憶手段と、
前記プログラム実行手段が前記記憶手段をアクセスする際に呼び出され、
該呼び出された時刻を記録テーブルに順次記録するアクセス時刻記録手段と、
このアクセス時刻記録手段によって記録された前記時刻の前後の時間間隔に基づき前記記憶手段へのアクセスの頻度が異常であるかを判定する第1の判定手段と、
この第1の判定手段による判定結果を記録テーブルに記録する記録手段と、
この記録手段によって記録された前記記録テーブルを出力する判定結果出力手段と、を含むアクセス監視手段を備えることを特徴とするプログラム開発支援装置。 - 請求項1に記載されたプログラム開発支援装置において、
前記プログラム実行手段は、1の機能のプログラム実行処理において前記アクセス監視手段を複数回呼び出し、この呼び出し毎に前記1の機能のプログラム実行処理の実行箇所を示す実行ポインタを前記アクセス監視手段に与え、
前記アクセス監視手段は、さらに、
前記プログラム実行手段から与えられた前記実行ポインタを前記記録テーブルに順次記録するポインタ記録手段と、
このポインタ記録手段によって記録されたそれぞれの前記実行ポインタの値の差分値に基づき前記記憶手段へのアクセスの頻度が異常であるかを判定する第2の判定手段と、を備え、
前記記録手段は前記第1の判定手段および前記第2の判定手段による判定結果を前記記録テーブルに記録することを特徴とするプログラム開発支援装置。 - 請求項1に記載されたプログラム開発支援装置において、
前記アクセス監視手段は、さらに、前記記憶手段をアクセスするアクセス実行手段を備え、
該アクセス実行手段は前記第1の判定手段による判定結果が正常のとき前記記憶手段をアクセスし、
前記第1の判定手段による判定結果が異常のとき前記記憶手段のアクセスを未実行とすることを特徴とするプログラム開発支援装置。 - 請求項2に記載されたプログラム開発支援装置において、
前記アクセス監視手段は、さらに、前記記憶手段をアクセスするアクセス実行手段を備え、
該アクセス実行手段は前記第1の判定手段および前記第2の判定手段の両方の判定結果が正常のときのみ前記記憶手段をアクセスし、
前記第1の判定手段もしくは前記第2の判定手段のいずれか一方の判定結果が異常のとき前記記憶手段のアクセスを未実行とすることを特徴とするプログラム開発支援装置。 - 請求項2又は請求項4に記載されたプログラム開発支援装置において、
前記実行ポインタ値は前記プログラム実行手段が備えるCPUのプログラムカウンタであることを特徴とするプログラム開発支援装置。 - 請求項1〜請求項5のいずれか1項に記載されたプログラム開発支援装置において、
前記記憶手段はデータの書き換えが可能な不揮発性メモリであることを特徴とするプログラム開発支援装置。 - 請求項1〜請求項5のいずれか1項に記載されたプログラム開発支援装置において、
前記記録テーブルは該プログラム開発支援装置に着脱可能な外部記憶手段に保存されることを特徴とするプログラム開発支援装置。 - プログラムを実行するプログラム実行手段と、このプログラム実行手段がアクセスする記憶手段と、を備えたコンピュータに実行させるプログラム開発支援プログラムであって、
前記プログラム実行手段が前記記憶手段をアクセスする際に呼び出され、
該呼び出された時刻を記録テーブルに順次記録するアクセス時刻記録機能と、
このアクセス時刻記録機能によって記録された前記時刻の前後の時間間隔に基づき前記記憶手段へのアクセスの頻度が異常であるかを判定する第1の判定機能と、
この第1の判定機能による判定結果を記録テーブルに記録する記録機能と、
この記録機能によって記録された前記記録テーブルを出力する判定結果出力機能と、を含むアクセス監視機能を前記コンピュータに実行させるプログラム開発支援プログラム。 - 請求項8に記載されたプログラム開発支援装置プログラムにおいて、
前記プログラム実行手段は、1の機能のプログラム実行処理において前記アクセス監視機能を複数回呼び出し、この呼び出し毎に前記1の機能のプログラム実行処理の実行箇所を示す実行ポインタを前記アクセス監視機能に与え、
前記アクセス監視機能は、さらに、
前記プログラム実行手段から与えられた前記実行ポインタを前記記録テーブルに順次記録するポインタ記録機能と、
このポインタ記録機能によって記録されたそれぞれの前記実行ポインタの値の差分値に基づき前記記憶手段へのアクセスの頻度が異常であるかを判定する第2の判定手段と、を備え、
前記記録機能は前記第1の判定機能および前記第2の判定機能による判定結果を前記記録テーブルに記録することを特徴とするプログラム開発支援プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011121898A JP5703968B2 (ja) | 2011-05-31 | 2011-05-31 | プログラム開発支援装置およびそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011121898A JP5703968B2 (ja) | 2011-05-31 | 2011-05-31 | プログラム開発支援装置およびそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012248166A JP2012248166A (ja) | 2012-12-13 |
JP5703968B2 true JP5703968B2 (ja) | 2015-04-22 |
Family
ID=47468515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011121898A Expired - Fee Related JP5703968B2 (ja) | 2011-05-31 | 2011-05-31 | プログラム開発支援装置およびそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5703968B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022108135A1 (ko) * | 2020-11-20 | 2022-05-27 | 삼성전자 주식회사 | 전자 장치 및 접근 이벤트 시청각화 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415840A (zh) * | 2018-03-14 | 2018-08-17 | 百度在线网络技术(北京)有限公司 | 修复函数缺陷的方法、装置及服务器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01288938A (ja) * | 1988-05-16 | 1989-11-21 | Nec Corp | 事象発生頻度判定方法 |
JPH10269105A (ja) * | 1997-01-27 | 1998-10-09 | N T T Data Tsushin Kk | トレースシステム、リソース解放漏れ検出システム及び記録媒体 |
JP4940996B2 (ja) * | 2007-02-23 | 2012-05-30 | 富士通セミコンダクター株式会社 | プロファイリング装置およびプロファイリングプログラム |
JP2009064112A (ja) * | 2007-09-04 | 2009-03-26 | Fujitsu Microelectronics Ltd | メモリへのコード転送方法 |
US7949903B2 (en) * | 2008-09-26 | 2011-05-24 | Microsoft Corporation | Memory management techniques selectively using mitigations to reduce errors |
JP2011090401A (ja) * | 2009-10-20 | 2011-05-06 | Daikin Industries Ltd | データ記憶装置及びこれを備えたデータ記憶システム |
-
2011
- 2011-05-31 JP JP2011121898A patent/JP5703968B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022108135A1 (ko) * | 2020-11-20 | 2022-05-27 | 삼성전자 주식회사 | 전자 장치 및 접근 이벤트 시청각화 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2012248166A (ja) | 2012-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4837456B2 (ja) | 情報処理装置 | |
JP4496265B2 (ja) | 情報処理装置及び故障予兆判定方法 | |
JP2011070346A (ja) | メモリシステム | |
US11748072B2 (en) | Apparatus and method for source code optimisation | |
KR20230110649A (ko) | 분기 명령어의 유형에 기초한 사전 분기 예측의 선택적수행 | |
JPWO2008093399A1 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
US8359291B2 (en) | Architecture-aware field affinity estimation | |
KR20210018415A (ko) | 예측 실패 복구에 대한 레이턴시를 줄이기 위한 이차적 분기 예측 저장 | |
JP5703968B2 (ja) | プログラム開発支援装置およびそのプログラム | |
US20090259835A1 (en) | System and method for tracking and recording system configurations of electronic devices | |
WO2014155228A1 (en) | A primary memory module with a record of usage history and applications of the primary memory module to a computer system | |
KR100706471B1 (ko) | 전자기기의 펌웨어 업데이트 방법 | |
JP5418687B2 (ja) | 記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラム | |
JP2010157266A (ja) | 情報処理装置、故障予兆判定方法及びプログラム | |
JP2013149112A (ja) | 記憶媒体の管理方法 | |
KR20080078133A (ko) | 프로세서의 추론적 로드 명령 실행 방법 및 상기 방법을채용한 프로세서 | |
JP2004326773A (ja) | プロセッサタイプの決定 | |
JP6079868B2 (ja) | エラー分析方法、情報処理装置およびエラー分析プログラム | |
KR101265530B1 (ko) | 악성 프로그램 차단 장치 및 방법 | |
JP6241164B2 (ja) | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 | |
WO2021048890A1 (ja) | データ記憶制御装置およびデータ記憶制御方法 | |
JP2015121953A (ja) | マイクロコンピュータ及び電子制御装置 | |
KR20140144794A (ko) | 리코드/리플레이를 위한 퍼포먼스 성능 기록 방법 및 시스템 | |
JP2013186619A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2013125296A (ja) | 半導体装置及び半導体装置のメモリ書き換え検知方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140514 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150120 |
|
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: 20150127 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150209 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5703968 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |