JP2014021512A - ソフトウェア実行状況検証装置、ソフトウェア実行状況検証方法、及びソフトウェア実行状況検証プログラム - Google Patents
ソフトウェア実行状況検証装置、ソフトウェア実行状況検証方法、及びソフトウェア実行状況検証プログラム Download PDFInfo
- Publication number
- JP2014021512A JP2014021512A JP2012156218A JP2012156218A JP2014021512A JP 2014021512 A JP2014021512 A JP 2014021512A JP 2012156218 A JP2012156218 A JP 2012156218A JP 2012156218 A JP2012156218 A JP 2012156218A JP 2014021512 A JP2014021512 A JP 2014021512A
- Authority
- JP
- Japan
- Prior art keywords
- software
- address
- execution
- status verification
- branch
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【解決手段】ソフトウェアが実行された際の実行アドレスの変化を記述したトレースデータにおいて特定の分岐が行われた箇所を判別し、該特定の分岐に係る分岐元の実行アドレスと分岐先の実行アドレスとを分離して出力する分離部と、前記分離部により出力された実行アドレスを、ソースコードに変換する変換部と、を備えるソフトウェア実行状況検証装置。
【選択図】図4
Description
ソフトウェアが実行された際の実行アドレスの変化を記述したトレースデータにおいて特定の分岐が行われた箇所を判別し、該特定の分岐に係る分岐元の実行アドレスと分岐先の実行アドレスとを分離して出力する分離部と、
前記分離部により出力された実行アドレスを、ソースコードに変換する変換部と、
を備えるソフトウェア実行状況検証装置である。
前記特定の分岐は、例えば、割り込み発生による分岐を含む。
前記分離部は、前記特定の分岐が行われた分岐先の先頭アドレスと終了アドレスを記述したデータを参照し、前記特定の分岐が行われた箇所を判別するものとしてもよい。
前記変換部により変換されたソースコードを、比較データと比較することにより、前記ソフトウェアが正常に動作したか否かを判定する判定部を備えるものとしてもよい。
コンピュータが、
ソフトウェアが実行された際の実行アドレスの変化を記述したトレースデータにおいて特定の分岐が行われた箇所を判別し、該特定の分岐に係る分岐元の実行アドレスと分岐先の実行アドレスとを分離して出力し、
前記出力された実行アドレスを、ソースコードに変換する、
ソフトウェア実行状況検証方法である。
コンピュータに、
ソフトウェアが実行された際の実行アドレスの変化を記述したトレースデータにおいて特定の分岐が行われた箇所を判別させ、該特定の分岐に係る分岐元の実行アドレスと分岐先の実行アドレスとを分離して出力させ、
前記出力された実行アドレスを、ソースコードに変換させる、
ソフトウェア実行状況検証プログラムである。
図1は、一実施例に係るソフトウェア実行状況検証装置1が検証対象となるソフトウェアが実行された際の実行アドレスの変化等が記述されたトレースデータを取得する場面を簡単に示す図である。
以下、これらの機能ブロックの処理について、より詳細に説明する。コンテキスト分離部10は、検証対象コンピュータ50がOS無しで動作する場合と、OS有りで動作する場合とで異なる処理を行う。
(1)検証対象コンピュータ50がOS無しで動作する場合
コンテキスト分離部10が利用するアプリ(+OS)情報22は、例えば、図6に例示される解析対象ソフトウェア情報を含む。解析対象ソフトウェア情報は、メインルーチン、割り込み処理A、割り込み処理B毎に、分離後トレースデータ24におけるファイルの出力先、先頭アドレス及び終了アドレス、初期化可能か否かの情報等を含む。解析対象ソフトウェア情報は、例えば、対象ソフトウェアのデバッグ時やコンパイル時に生成された情報に基づき、予め作成されたものである。
コンテキスト分離部10が利用するアプリ(+OS)情報22は、例えば、図8に例示される解析対象ソフトウェア情報や図9に例示されるOS情報を含む。
図11は、コンテキスト分離部10により生成される分離後トレースデータ24の一部と、ソース対応付け・メモリフィルタ部12により生成される変換データ28とを示す図である。図11に示すように、分離後トレースデータ24は、コンテキスト毎に抜き出されたトレースデータであり、実行アドレスに命令コードが対応付けられ、更に、ロード・ストア命令に関してはアクセス先のメモリ装置Dのアドレスと、対応するレジスタ番号を含む。ソース対応付け・メモリフィルタ部12が変換データ28の生成のために参照する変換用情報26には、図11に示すソースとオブジェクトの対応表26A、変数情報26B等が含まれる。これらの変換用情報26は、例えば、対象ソフトウェアのデバッグ時やコンパイル時に生成された情報に基づき、予め作成されたものである。
図13は、動作判定部14による処理を概念的に示す図である。図示するように、動作判定部14は、検証対象コンピュータ50において検証対象ソフトウェア52が実行されることにより取得されたトレースデータから生成された変換データ28を、比較対象コンピュータにおいて同じソフトウェアが実行されることにより取得されたトレースデータから生成された比較データと、ソースコード毎に比較することにより、検証対象コンピュータ50において検証対象ソフトウェア52が正常に動作しているか否かを判定する。
図15は、あるコンピュータ上で動作しているソフトウェアを、他のコンピュータに移植した際に、ソフトウェアの検証が実行される様子を示す図である。図15に示すように、現在までソフトウェアを実行していたコンピュータAと、これからソフトウェアを移植するコンピュータBのそれぞれからトレースデータ20を取得し、各トレースデータ20に対してコンテキスト分離部10及びソース対応付け・メモリフィルタ部12が処理を行って生成される変換データ同士を比較することにより、コンピュータBで当該ソフトウェアが正常に動作するか否かを事前に検証することができる。
以上説明したソフトウェア実行状況検証装置、ソフトウェア実行状況検証方法、及びソフトウェア実行状況検証プログラムの実施例によれば、ソフトウェアの検証を、より適切に行うことができる。
10 コンテキスト分離部
12 ソース対応付け・メモリフィルタ部
14 動作判定部
50 検証対象コンピュータ
52 検証対象ソフトウェア
60 インサーキットエミュレータ
Claims (6)
- ソフトウェアが実行された際の実行アドレスの変化を記述したトレースデータにおいて特定の分岐が行われた箇所を判別し、該特定の分岐に係る分岐元の実行アドレスと分岐先の実行アドレスとを分離して出力する分離部と、
前記分離部により出力された実行アドレスを、ソースコードに変換する変換部と、
を備えるソフトウェア実行状況検証装置。 - 請求項1記載のソフトウェア実行状況検証装置であって、
前記特定の分岐は、割り込み発生による分岐を含む、
ソフトウェア実行状況検証装置。 - 請求項1又は2記載のソフトウェア実行状況検証装置であって、
前記分離部は、前記特定の分岐が行われた分岐先の先頭アドレスと終了アドレスを記述したデータを参照し、前記特定の分岐が行われた箇所を判別する、
ソフトウェア実行状況検証装置。 - 請求項1ないし3のいずれか1項記載のソフトウェア実行状況検証装置であって、
前記変換部により変換されたソースコードを、比較データと比較することにより、前記ソフトウェアが正常に動作したか否かを判定する判定部を備える、
ソフトウェア実行状況検証装置。 - コンピュータが、
ソフトウェアが実行された際の実行アドレスの変化を記述したトレースデータにおいて特定の分岐が行われた箇所を判別し、該特定の分岐に係る分岐元の実行アドレスと分岐先の実行アドレスとを分離して出力し、
前記出力された実行アドレスを、ソースコードに変換する、
ソフトウェア実行状況検証方法。 - コンピュータに、
ソフトウェアが実行された際の実行アドレスの変化を記述したトレースデータにおいて特定の分岐が行われた箇所を判別させ、該特定の分岐に係る分岐元の実行アドレスと分岐先の実行アドレスとを分離して出力させ、
前記出力された実行アドレスを、ソースコードに変換させる、
ソフトウェア実行状況検証プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012156218A JP5872975B2 (ja) | 2012-07-12 | 2012-07-12 | ソフトウェア実行状況検証装置、ソフトウェア実行状況検証方法、及びソフトウェア実行状況検証プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012156218A JP5872975B2 (ja) | 2012-07-12 | 2012-07-12 | ソフトウェア実行状況検証装置、ソフトウェア実行状況検証方法、及びソフトウェア実行状況検証プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014021512A true JP2014021512A (ja) | 2014-02-03 |
JP5872975B2 JP5872975B2 (ja) | 2016-03-01 |
Family
ID=50196371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012156218A Active JP5872975B2 (ja) | 2012-07-12 | 2012-07-12 | ソフトウェア実行状況検証装置、ソフトウェア実行状況検証方法、及びソフトウェア実行状況検証プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5872975B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0916432A (ja) * | 1995-06-27 | 1997-01-17 | Nec Commun Syst Ltd | トレースデータ解析システム |
JP2002342113A (ja) * | 2001-05-15 | 2002-11-29 | Hitachi Ltd | プログラム実行状況表示方法及びその実施装置並びにその処理プログラム |
-
2012
- 2012-07-12 JP JP2012156218A patent/JP5872975B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0916432A (ja) * | 1995-06-27 | 1997-01-17 | Nec Commun Syst Ltd | トレースデータ解析システム |
JP2002342113A (ja) * | 2001-05-15 | 2002-11-29 | Hitachi Ltd | プログラム実行状況表示方法及びその実施装置並びにその処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5872975B2 (ja) | 2016-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9519495B2 (en) | Timed API rules for runtime verification | |
EP3120247B1 (en) | Framework for user-mode crash reporting | |
Fasano et al. | Sok: Enabling security analyses of embedded systems via rehosting | |
US20140372985A1 (en) | API Rules Verification Platform | |
US9977758B1 (en) | Device profiling for tuning OpenCL applications on programmable integrated circuits | |
JP2016207231A (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
US9367427B2 (en) | Embedding and executing trace functions in code to gather trace data | |
US20130159977A1 (en) | Open kernel trace aggregation | |
Ma et al. | Debugging in the brave new world of reconfigurable hardware | |
CN114356683A (zh) | 覆盖率融合方法、装置、计算机设备及存储介质 | |
Maus et al. | Vx86: x86 assembler simulated in C powered by automated theorem proving | |
CN104346275A (zh) | 内存测试系统及方法 | |
Lin et al. | Virtual device farms for mobile app testing at scale: A pursuit for fidelity, efficiency, and accessibility | |
JP5872975B2 (ja) | ソフトウェア実行状況検証装置、ソフトウェア実行状況検証方法、及びソフトウェア実行状況検証プログラム | |
Srinivasan et al. | Towards rehosting embedded applications as linux applications | |
US20160077950A1 (en) | Methods, circuits, apparatus, systems and associated software modules for evaluating code behavior | |
JP2019179284A (ja) | シミュレーションシステム、及びシミュレーションプログラム | |
US20100077383A1 (en) | Simulation method and storage medium for storing program | |
US11182316B2 (en) | Program interrupt code conversion | |
JP2013161219A (ja) | コード生成装置、及びコード生成プログラム | |
JP5545133B2 (ja) | 静的解析処理システム、方法、およびプログラム | |
CN112559336A (zh) | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 | |
JP5757167B2 (ja) | 判定作業支援システム、判定作業支援方法、及びプログラム | |
US20150106602A1 (en) | Randomly branching using hardware watchpoints | |
US20240143485A1 (en) | Presubmit Test Run Minimization Analysis Using Runtime Isolation Guarantees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141017 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150526 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150724 |
|
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: 20151222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160114 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5872975 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |