JP2010160704A - デバッグ支援装置 - Google Patents
デバッグ支援装置 Download PDFInfo
- Publication number
- JP2010160704A JP2010160704A JP2009002911A JP2009002911A JP2010160704A JP 2010160704 A JP2010160704 A JP 2010160704A JP 2009002911 A JP2009002911 A JP 2009002911A JP 2009002911 A JP2009002911 A JP 2009002911A JP 2010160704 A JP2010160704 A JP 2010160704A
- Authority
- JP
- Japan
- Prior art keywords
- event
- unit
- state
- violation
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- 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/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
【解決手段】デバッグ支援装置1は、プログラムを並列に実行する複数のCPUの動作を模擬する複数のCPU模擬部C1,C2と、複数のCPU によって共有されるメモリの模擬部Mと、各CPU模擬部C1,C2とメモリの模擬部M間において発生した所定のイベントを検出するイベントモニタ部C13,C23と、発生した所定のイベントの状態が所定の条件に合致するか否かを判定し、所定の条件に合致したときに、メモリの模擬部Mの状態に関する履歴情報を記録するカスタム部CPと、を有する。
【選択図】図2
Description
(第1の実施の形態)
(構成)
まず図1に基づき、本発明の第1の実施の形態に係わるプログラム開発装置の構成を説明する。図1は、本実施の形態に係わるプログラム開発装置の構成を示す構成図である。
プログラム開発装置1は、後述する各種ソフトウエアプログラムを実行する中央処理装置(以下、CPUという)2aを有する本体装置2と、本体装置2と接続され各種ソフトウエアプログラム等を記憶する記憶部3と、本体装置2と接続された表示部4と有して構成されている。なお、図示しないが、ユーザが、各種プログラムを実行させるための指示を与えるための、キーボード、マウス等の入力装置が、本体装置2には接続されている。
次に、シミュレータP2の構造について説明する。図2は、シミュレータP2の構成を示す構成図である。
シミュレータP2は、2つのコアプロセッサ(以下、単にコアともいう)を模擬したコアプロセッサ模擬部(以下、コア模擬部という)C1,C2と、メインメモリを模擬したメモリ模擬部Mを含む。コア模擬部C1,C2は、それぞれ、演算模擬部とキャッシュ模擬部とを含む。コア模擬部C1は、演算模擬部C11とキャッシュ模擬部C12とを含み、コア模擬部C2は、演算模擬部C21とキャッシュ模擬部C22とを含む。
演算模擬部C11とC21は、それぞれ対象プロセッサのコアプロセッサの演算部を模擬する処理部である。演算模擬部C11とC21は、各演算部の種々の演算機能を実現する処理部である。
メモリ模擬部Mは、メインメモリを模擬する処理部である。
バス模擬部CBは、対象プロセッサの各コアプロセッサとメインメモリを接続するバスを模擬する処理部である。
次に、プログラム開発装置1のデバッグ動作を説明する。
ユーザすなわちプログラム開発者は、開発したあるいは開発中のプログラムをデバッグするために、シミュレータP2とバグ解析表示プログラムP3を実行させる。シミュレータP2は、デバッグ対象プログラムP1を、シミュレータP2において実行し、バグ解析表示プログラムP3は、シミュレータP2の実行結果に基づいて、発生したバグに関して、バグを解析するのに分かり易い表示を、表示部4の画面上に表示させることができる。
このようなデバッグ処理が、プログラム開発装置1において実行されるが、前処理として、プログラムカウンタ一覧(以下、PC一覧ともいう)が生成される。PC一覧は、イベントとプログラムカウンタ値の対応関係を示すデータである。
プログラム11は、ソースプログラムであり、コンパイルされてオブジェクトプログラムに変換される。その変換されたオブジェクトプログラムが、シミュレータP2上で実行される。
以下、プログラム開発装置1のデバッグ処理関連の全体の処理の流れと共に、各処理部の処理の内容を説明する。
図4は、プログラム開発装置1のデバッグ処理関連の全体の処理の流れを説明するための図である。
図4に示すように、デバッグ対象プログラムP1が、シミュレータP2により実行される。その実行処理11では、PC一覧102のデータを用いて、図2のイベントモニタ部C13,C23が、上述した所定のイベントの発生を監視し、イベントコレクタ部ECは、検出された所定のイベント情報を、実行記録データとして、記憶部3の実行記録表103に記憶する。実行処理11は、図2における、イベントモニタ部C13,C23、イベントコレクタ部EC、及びカスタム部CPによって実行される。
(イベントモニタ部の処理)
図5は、イベントモニタ部の演算模擬部の実行状態を監視する処理の流れの例を示すフローチャートである。
デバッグ対象プログラムP1が実行されると、イベントモニタ部C13,C23は、演算模擬部C11,C21において実行中のプログラムのPC値を監視する(ステップS11)。監視しているPC値が、PC一覧102に予め登録されているいずれかのPC値と一致するか否かが、判定される(ステップS12)。
一致した場合は、ユーザが監視したいとして設定したイベントが発生したことを意味するので、ステップS12でYESとなり、イベントモニタ部は、発生したイベントの情報をイベントコレクタ部ECに伝達する(ステップS13)。イベント情報は、イベントを発生したコアプロセッサ(すなわち処理装置)、PC値及びイベントの内容の情報を含む。
図6は、イベントモニタ部のリソース間の処理内容を監視する処理の流れの例を示すフローチャートである。
その通信が有るか否かを監視し(ステップS22)、通信がなければ、すなわち発生しなければ、ステップS22でNOとなり、処理は、何もせずステップS21に戻る。
以上のように、実行処理11では、キャッシュ模擬部に対応するキャッシュメモリとメモリ模擬部に対応するメインメモリとの間で通信があれば、そのイベントの情報を、イベントコレクタ部ECへ伝達する。
カスタム部CPは、イベント情報を受信すると、内部状態情報収集部C14,C24を介して、イベント毎に予め決められたデータを収集し、イベント情報を、実行記録表103に記録する。すなわち、状態判定部としてのカスタム部CPは、イベント情報を受信するとき、そのイベントに対応して予め決められた情報を、内部状態情報収集部C14,C24を介して収集して、受信したイベント情報と共に、イベントのプロファイルとして、実行記録表103に記録する。例えば、あるイベントについては、引数1が所定のレジスタに登録されているので、そのレジスタのデータを収集するように、カスタム部CPでは、内部状態情報収集部を介して収集すべきデータが予め決められている。
図7は、実行記録表103の例を示す図である。図7の実行記録表103に記録される実行記録データとしてのイベント情報は、処理装置、時刻、PC値、内容、1以上の引数、戻り値の各項目データを含む。発生したイベント毎に、カスタム部CPは、そのイベントの情報を、内部状態収集部を介して収集したデータと共に記録する。
よって、実行記録表103には、各CPU模擬部における並列処理単位である関数、スレッド等の生成、開始及び終了、また、メモリの割り当て、状態遷移、読み出し、書き込み及び解放のデータが含まれる。
カスタム部CPは、図7のイベント情報に基づいて、次に説明する図8の状態表の状態データを作成する。図8は、状態表の例を示す図である。
(状態表)
図8の状態表104は、メモリ領域の領域先頭、領域末端、割り当て時刻(サイクル数)、割り当てPC、割り当て処理装置、最終状態遷移処理時刻、最終状態遷移処理PC、最終状態遷移処理装置、状態の各項目を含む。あるメモリ領域がshared状態にされるとき、そのshared状態にするイベントが発生する。そして、そのshared状態が解除されるときも、その解除のイベントが発生する。そして、その解除のイベントに応じて、状態表104から、sharedにされたメモリ領域が発生したことを示す状態データが削除される。
すなわち、状態表104は、コアプロセッサによるリソースに対する状態遷移操作に従って更新され、遷移した状態が無くなれば、その状態データは、状態表104から削除される。
図9は、その表データ(以下、プロトコル規定表という)の例を示す図である。図9のプロトコル規定表105は、操作毎に、メモリ領域の状態に応じて、メモリアクセスプロトコルの違反であるか否かを示す表データである。図9のプロトコル規定表105には、判定基準データとして、各命令すなわち各操作について、有効か無効(違反)か、メモリ領域がexclusive状態の場合、shared状態の場合の各項目を含んでいる。
図4のプロトコル違反判定処理12では、カスタム部CPが、イベント情報を受信すると、プロトコル規定表105を参照して、実行記録103と状態表104のデータに基づいて、プロトコル違反の判定を行う。
違反と判定されると、カスタム部CPは、図10に示す判定結果記録表106にそのプロトコル違反のデータを記憶する。
図10は、判定結果記録表の例を示す図である。図10の判定結果記録表106は、メモリアクセスプロトコル違反が有りと判定されたときにおける、メモリ領域の領域先頭、領域末端、割り当て時刻(サイクル数)、割り当てPC、割り当て処理装置、最終状態遷移処理時刻、最終状態遷移処理PC、最終状態遷移処理装置、状態、違反遷移処理時刻、違反遷移処理PC及び違反遷移処理装置の各項目を含む。
図2の状態表104は、状態の遷移に伴って、記憶されるデータは発生し消滅する表であるが、図10の判定結果記録表106は、カスタム部CPが、更新前の状態と状態遷移操作が、プロトコル規定表105の条件を満たすか否かを判定し、違反があるとされたデータを、追加していく表である。
ここで、シミュレータP2とバグ解析表示プログラムP3の動作を、プログラム例を用いて説明する。
図11は、バグのあるプログラム例の一部の例を示す図である。図11に示すプログラム21は、shared状態のメモリ領域中のあるラインに間違って値を書く、間違い(bug)のあるプログラムである。
3行目の関数「allocate_shared」の実行により、コア1はshared状態のメモリを確保する。この関数のPC値は、事前にその関数を実行する演算模擬部を監視するイベントモニタ部に登録されているので、イベントモニタ部は、その関数の実行をイベントとして検出することができる。イベントモニタ部は、検出したイベントの情報をイベントコレクタ部ECに送信する。イベントコレクタ部ECは、受信したイベントの情報をカスタム部CPに通知する。
以上のように、上述したシミュレータP2によれば、開発中のプログラムであるデバッグ対象プログラムP1について、発生したバグに関する情報が、図7の実行記録表、図8の状態表、及び図10の判定結果記録表106に記録される。そして、バグ解析表示プログラムP3により、これらの表に記録されたデータに基づいて、バグの内容を判り易くユーザに示すことができる。
以下、そのバグ解析表示プログラムP3による、デバッグを容易にする表示処理及び表示例を、図4を用いて説明する。
図13は、ユーザに示す表示例1としての違反行番号表の表示例を示す図である。図13の表は、表示部4の画面上に表示される。
ユーザが、図示しない入力装置を用いて、所定の指示操作を本体装置2に対して行うと、CPU2aは、違反行番号表探索処理13(図4)を実行し、図13の違反行番号表を生成する。違反行番号表201は、判定結果記録表106のデータを基に、さらに実行記録表103と状態表104を参照して、生成される。
違反の種類は、違反の内容すなわち種別を示し、プロトコル規定表105の内容から抽出される。
違反遷移処理ソース行は、違反を発生させたソースコードの行であり、そのソースコードの行に対応するPC値のデバッグ情報から抽出される。
状態は、違反の発生したときの状態を示し、状態表104から生成される。
すなわち、その領域を割り当てた原因となったソースコードの行(割り当てソース行)と、その状態を設定した原因となったソースコードの行(最終状態遷移処理ソース行)が、違反の発生したソースコードの行(違反遷移処理ソース行)と共に、ユーザは一見して把握することができる。
図14は、ソースコード強調表示の例を示す図である。
図13の違反行番号表201のデータが生成されれば、その違反行番号表201のデータに基づいて、違反行のソースコードを強調表示させることができる。
さらに、違反に関する時刻のデータを併せて表示する例である。
図15は、違反時刻一覧表表示の例を示す図である。図15の表は、表示部4の画面上に表示される。
ユーザが、図示しない入力装置を用いて、所定の指示操作を本体装置2に対して行うと、CPU2aは、違反時刻一覧表描画処理17を実行し、図15の違反時刻一覧表を生成する。違反時刻一覧表203は、判定結果記録表106のデータを基に、生成される。
領域先頭は、違反に関わるメモリ領域先頭のアドレスである。
状態は、違反の発生したときの状態を示す。
最終状態遷移処理時刻は、その違反に関わるメモリ領域の状態が最後に正常に遷移した時刻を示す。
すなわち、その領域を割り当てた原因となった時刻(割り当て時刻)と、その状態が終了する時刻(最終状態遷移処理時刻)が、違反の発生した時刻(違反遷移処理時刻)と共に、ユーザは一見して把握することができる。
図16は、違反が検出された際の関数の時系列表示の例を示す図である。
図15の違反時刻一覧表203のデータが生成されれば、その違反時刻一覧表203のデータに基づいて、違反に関わる関数を時系列表示させることができる。
図17は、図16に対応する、違反を発生させた行が、以前に違反を発生させないで実行されたときの時系列表示の例を示す図である。
図17は、図16と同様な配置関係で、どの関数が、どのような状態遷移を生じさせたかを、ポップアップウインドウで表示し、かつ違反を発生させた関数が違反を発生させていないことも併せてポップアップウインドウの中に表示されている。
よって、図16と図17の両方を生成して表示させることによって、ユーザは、違反を発生させた関数が、違反を発生させた状況と、違反を発生させていない状況の両方を時間経過と共に表示させて比較できるので、プロトコル違反時に何が違反の原因になったかの原因の追求が容易となる。
また、その検出されたバグに関する情報を、ユーザに分かり易く表示して提供することによって、バグの原因解析を容易にすることができる。
第1の実施の形態では、SWによりキャッシュのコンシステンシを保つシステムにおけるバグを検出するシステムであったが、第2の実施の形態では、メインメモリの排他制御に関する情報を検出するシステムに関する。
コア1が、排他制御のためのlockを行うと、イベントモニタ部によりそのlock関数の実行がイベントとして検出される。なおこのlock関数のPC値は、事前にイベントモニタ部に設定されている。
イベントモニタ部は、そのイベントをイベントコレクタ部ECに通知し、イベントコレクタ部ECは、そのイベントをカスタム部CPに通知する。
カスタム部CPは、時刻t3において、unlock関数が呼ばれたのを検出し、その旨を記録する。そして、カスタム部CPは、時刻t4において、tas命令により、0が読まれたため、コア2がlockを獲得したことを検出し、その旨をlock/unlock管理表206に記録する。
Claims (5)
- プログラムを並列に実行する複数のCPUの動作を模擬する複数のCPU模擬部と、
前記複数のCPU によって共有される共有資源の模擬部と、
各CPU模擬部と前記共有資源間において発生した所定のイベントを検出するイベントモニタ部と、
発生した前記所定のイベントの状態が所定の条件に合致するか否かを判定し、前記所定の条件に合致したときに、前記共有資源の状態に関する履歴情報を記録する状態判定部と、
を有することを特徴とするデバッグ支援装置。 - 前記所定の条件は、前記共有資源に対するデータアクセスが違反とされる条件であることを特徴とする請求項1に記載のデバッグ支援装置。
- 前記所定の条件は、前記共有資源に対する排他制御を検証するための条件であることを特徴とする請求項1に記載のデバッグ支援装置。
- 前記履歴情報に基づいて、違反とされた前記データアクセスに関わるソースコードの表示を行うソースコード表示処理部を、さらに有することを特徴とする請求項2に記載のデバッグ支援装置。
- 前記履歴情報に基づいて、違反とされた前記データアクセスに関わる関数の実行状態を、時系列で表示する時系列表示部を、さらに有することを特徴とする請求項2に記載のデバッグ支援装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009002911A JP5329983B2 (ja) | 2009-01-08 | 2009-01-08 | デバッグ支援装置 |
US12/558,716 US8347274B2 (en) | 2009-01-08 | 2009-09-14 | Debugging support device, debugging support method, and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009002911A JP5329983B2 (ja) | 2009-01-08 | 2009-01-08 | デバッグ支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010160704A true JP2010160704A (ja) | 2010-07-22 |
JP5329983B2 JP5329983B2 (ja) | 2013-10-30 |
Family
ID=42312551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009002911A Expired - Fee Related JP5329983B2 (ja) | 2009-01-08 | 2009-01-08 | デバッグ支援装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8347274B2 (ja) |
JP (1) | JP5329983B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014199496A1 (ja) * | 2013-06-13 | 2014-12-18 | 三菱電機株式会社 | プログラム検証装置及びプログラム検証方法及びプログラム |
WO2015015591A1 (ja) * | 2013-07-31 | 2015-02-05 | 富士通株式会社 | ソフトウェアデバッグ方法、情報処理装置およびプログラム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110095050A (ko) * | 2010-02-18 | 2011-08-24 | 삼성전자주식회사 | 공유 라이브러리 디버깅 장치 |
US8595680B1 (en) * | 2012-06-15 | 2013-11-26 | Google Inc. | Constrained random error injection for functional verification |
US20140372983A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Identifying the introduction of a software failure |
CN106155860A (zh) * | 2015-03-31 | 2016-11-23 | 展讯通信(上海)有限公司 | 一种内存监控系统及方法 |
WO2017142547A1 (en) * | 2016-02-19 | 2017-08-24 | Hewlett Packard Enterprise Development Lp | Simulator based detection of a violation of a coherency protocol in an incoherent shared memory system |
US10078723B1 (en) * | 2016-09-30 | 2018-09-18 | Cadence Design Systems, Inc. | Method and apparatus for design rules driven interactive violation display |
CN108038014B (zh) * | 2017-11-30 | 2021-06-04 | 中国人民解放军国防科技大学 | 一种图像压缩多核并行容错方法、计算机、处理器 |
JP7378254B2 (ja) * | 2019-09-19 | 2023-11-13 | キヤノン株式会社 | マルチプロセッサデバイス |
US11899564B2 (en) * | 2022-05-19 | 2024-02-13 | Renesas Electronics Corporation | Debug apparatus and recording medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0922369A (ja) * | 1995-07-07 | 1997-01-21 | Fujitsu Ltd | マルチタスキング方式のカーネルにおける不正動作検出方法 |
JPH11184736A (ja) * | 1997-12-19 | 1999-07-09 | Nec Corp | プロセッサ情報収集装置およびそのプログラム記録媒体 |
JP2002132743A (ja) * | 2000-10-27 | 2002-05-10 | Nec Corp | メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体 |
JP2005128692A (ja) * | 2003-10-22 | 2005-05-19 | Matsushita Electric Ind Co Ltd | シミュレータ及びシミュレーション方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2636107B2 (ja) | 1991-12-12 | 1997-07-30 | 工業技術院長 | デバッグ支援装置 |
US6560720B1 (en) * | 1999-09-09 | 2003-05-06 | International Business Machines Corporation | Error injection apparatus and method |
EP1817670A1 (en) | 2004-10-19 | 2007-08-15 | Nxp B.V. | Data processing system and method for monitoring the cache coherence of processing units |
JP2006146412A (ja) | 2004-11-17 | 2006-06-08 | Nec Corp | マルチコアプロセッサ及びデバッグ方法 |
US7788642B2 (en) * | 2005-05-16 | 2010-08-31 | Texas Instruments Incorporated | Displaying cache information using mark-up techniques |
JP4944518B2 (ja) * | 2006-05-26 | 2012-06-06 | 富士通セミコンダクター株式会社 | タスク遷移図表示方法及び表示装置 |
JP2008176453A (ja) * | 2007-01-17 | 2008-07-31 | Nec Electronics Corp | シミュレーション装置 |
JP2009129179A (ja) | 2007-11-22 | 2009-06-11 | Toshiba Corp | プログラム並列化支援装置およびプログラム並列化支援方法 |
-
2009
- 2009-01-08 JP JP2009002911A patent/JP5329983B2/ja not_active Expired - Fee Related
- 2009-09-14 US US12/558,716 patent/US8347274B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0922369A (ja) * | 1995-07-07 | 1997-01-21 | Fujitsu Ltd | マルチタスキング方式のカーネルにおける不正動作検出方法 |
JPH11184736A (ja) * | 1997-12-19 | 1999-07-09 | Nec Corp | プロセッサ情報収集装置およびそのプログラム記録媒体 |
JP2002132743A (ja) * | 2000-10-27 | 2002-05-10 | Nec Corp | メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体 |
JP2005128692A (ja) * | 2003-10-22 | 2005-05-19 | Matsushita Electric Ind Co Ltd | シミュレータ及びシミュレーション方法 |
Non-Patent Citations (2)
Title |
---|
CSND200800324005; 杉本美弥子: '「見える化」デバッグ' 組込みプレス 第11巻, 20080601, pp.49-53, (株)技術評論社 * |
JPN6012029297; 杉本美弥子: '「見える化」デバッグ' 組込みプレス 第11巻, 20080601, pp.49-53, (株)技術評論社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014199496A1 (ja) * | 2013-06-13 | 2014-12-18 | 三菱電機株式会社 | プログラム検証装置及びプログラム検証方法及びプログラム |
JP5951130B2 (ja) * | 2013-06-13 | 2016-07-13 | 三菱電機株式会社 | プログラム検証装置及びプログラム検証方法及びプログラム |
WO2015015591A1 (ja) * | 2013-07-31 | 2015-02-05 | 富士通株式会社 | ソフトウェアデバッグ方法、情報処理装置およびプログラム |
JP6069719B2 (ja) * | 2013-07-31 | 2017-02-01 | 富士通株式会社 | ソフトウェアデバッグ方法、情報処理装置およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5329983B2 (ja) | 2013-10-30 |
US8347274B2 (en) | 2013-01-01 |
US20100175051A1 (en) | 2010-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5329983B2 (ja) | デバッグ支援装置 | |
JP4888272B2 (ja) | ソフトウェアのシミュレーション方法、ソフトウェアのシミュレーションのためのプログラム、及びソフトウェアのシミュレーション装置 | |
US8239838B2 (en) | Kernel-aware debugging system, medium, and method | |
CN101802798B (zh) | 在多核处理器中使用干预消息来避免活锁 | |
US20130219367A9 (en) | Atomicity violation detection using access interleaving invariants | |
JP5326374B2 (ja) | プロセッサ、性能プロファイリング装置、性能プロファイリングプログラムおよび性能プロファイリング方法 | |
JP2010218367A (ja) | 処理装置および履歴取得方法 | |
Pokam et al. | Coreracer: A practical memory race recorder for multicore x86 tso processors | |
CN105074656B (zh) | 管理并发谓词表达式的方法和装置 | |
CN104866443A (zh) | 可中断存储独占 | |
US9690633B2 (en) | Synchronization method | |
TW200903338A (en) | Transactional debugger for a transactional memory system | |
US8392891B2 (en) | Technique for finding relaxed memory model vulnerabilities | |
WO2015027403A1 (en) | Testing multi-threaded applications | |
Jalle et al. | Contention-aware performance monitoring counter support for real-time MPSoCs | |
US10684896B2 (en) | Method for processing asynchronous event by checking device and checking device | |
JP2011203803A (ja) | デバッグ支援装置及びデバッグ支援用プログラム | |
US8695000B1 (en) | Data transfer protection in a multi-tasking modeling environment having a protection mechanism selected by user via user interface | |
JP4974638B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
JP2007052783A (ja) | データ処理装置のシミュレーション | |
Schmidt et al. | ResourceGauge: enabling resource-aware software components | |
JP2009245184A (ja) | プログラム診断装置及びプログラム診断方法ならびにそのプログラム | |
JP4407445B2 (ja) | 一定の応答時間を保証する計算機システム | |
JP5121134B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
Hong et al. | Fence-Free Synchronization with Dynamically Serialized Synchronization Variables |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130208 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130725 |
|
LAPS | Cancellation because of no payment of annual fees |