JP2009251996A - 処理装置、処理方法およびそのプログラム - Google Patents

処理装置、処理方法およびそのプログラム Download PDF

Info

Publication number
JP2009251996A
JP2009251996A JP2008100106A JP2008100106A JP2009251996A JP 2009251996 A JP2009251996 A JP 2009251996A JP 2008100106 A JP2008100106 A JP 2008100106A JP 2008100106 A JP2008100106 A JP 2008100106A JP 2009251996 A JP2009251996 A JP 2009251996A
Authority
JP
Japan
Prior art keywords
source code
code
variable
variables
total number
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
Application number
JP2008100106A
Other languages
English (en)
Other versions
JP5077952B2 (ja
Inventor
Takashi Aoki
孝 青木
Takuya Otsuka
卓也 大塚
Akitsugu Yamazaki
晃嗣 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008100106A priority Critical patent/JP5077952B2/ja
Publication of JP2009251996A publication Critical patent/JP2009251996A/ja
Application granted granted Critical
Publication of JP5077952B2 publication Critical patent/JP5077952B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

【課題】プロセッサに残す遂次処理と動作合成系により合成したゲストハードウエアに行わせる処理の分割の際に、誤りの混入や変数の見落としを避ける。
【解決手段】プロセッサに逐次処理を実行させるためのソースコードと該ソースコードをコンパイルしたバイナリコードとから生成されたコードプロファイルに基づき、全ての変数についてその読み書きにかかる総実行ステップ数をそれぞれ検出し、各変数についての総実行ステップ数と該総実行ステップ数を主要な要素として決まる優先順位とを対応つけたアクセスステップ数表を生成するアクセスステップ数表生成部60と、前記アクセスステップ数表の変数のうち、優先順位が所定の閾値に勝る変数を検索し、検索された変数の読み書きにかかるコードの前後にゲストハードウエア標識を挿入した新たなソースコードを生成して格納するソースコード格納部100とを備える。
【選択図】図1

Description

本発明は、プロセッサとメモリにより遂次処理を行うシステムに、その行っている処理の一部を分担するゲストハードウエアを付加したシステムを設計する際に、プロセッサに残す遂次処理(ソフトウエア)と、動作合成系によりゲストハードウエアを合成してゲストハードウエアで処理させる部分を、ソフトウエアのソースコード上で区別するための標識を与える処理装置、処理方法およびそのプログラムに関する。この標識は、プロセッサからの参照/更新を行わず、ゲストハードウエアによってのみ参照/更新する変数を識別する標識となるものである。
プロセッサとメモリにより遂次処理を行うシステムに、その行っている処理の一部を分担するゲストハードウエアを付加したシステムを設計することが行われる。この際、プロセッサに残す遂次処理(ソフトウエア)と、動作合成系により合成したゲストハードウエアに行わせる処理について、元のソフトウエアのソースコード上で分割を決定することが必要となる。
これにつき、従来は、設計者の知識や経験や創意発案にもとづき、具体的な根拠としては、ソフトウエアのソースコードに即して、対象部分の実際の実行回数(コードプロファイル)をコードごとに参照し、その数値の多い少ないを判断材料として、分割の候補を生成し、その後、ゲストハードウエアの動作合成を試み、その成否を確認するとともに、並行して性能評価を行う、ということを繰り返し、最終的に分割を決定してきた。先行文献としては、従来技術での設計工程もしくは設計手法の解説となり、数多くあるが、そのなかで、東芝セミコンダクター社のMePの開発フロー(非特許文献1)を示す。
非特許文献1に記載のものは、トップダウンフローの○囲みの番号1にあるように、第1に行う工程である「機能分割(人手)」が、設計者の知識や経験で分割の候補を生成していることになり、従来例の典型である。
「MePの開発フロー」、東芝セミコンダクタ社、[平成20年2月27日検索]、インターネット、<http://www.semicon.toshiba.co.jp/product/micro/mep/development_flow/index.html>
しかしながら、上記した分割の候補の作成は、経験依存度の大きい知的集約作業であり、候補の作成であるため、実際には使用しないこともありえるモデル(設計見本)を作製する工程であり、そのため、自動化可能なハードウエア動作合成系の処理時間に比べて、その作業負荷が大きい。
また、この分割の妥当性が、動作合成系の処理負荷(時間)も大きく左右することが知られており、現実的に重要な判断を設計対象についての情報が少ない設計初期に行わなければならない。
考慮すべき事項が非定型で経験依存も大きかったことから、疲労による誤りの混入を誘発することもあり、工程期間および品質改善の障害となっていた。
もともと、分割候補の作成のポイントは、もとのソフトウエアでソースコードに記載してある変数のうち、どれをゲストハードウエアに搭載するか、とくにゲストハードウエアのみに閉じたレジスタに搭載する変数をどれにするか、つまりどれくらいの数のレジスタを搭載するかであった。
そこで、ソフトウエアのソースコードに即して、対象部分の実際の実行回数を調査し、その多い少ないにより、変数をゲストハードウエアに搭載するかどうかを判断することも行われているが、ソースコード上で広い範囲に分散して頻繁にアクセスされている変数を見落とすことになっていた。
また、プロセッサが変数のアクセスに実際にどれだけのステップ数を消費しているかは、ソースコードを分析しただけではわからず、よい分割候補を得るにはやはり設計者の知見の占める割合があいかわらず非常に大きかった。
以上から、結果として設計されるゲストハードウエアには、搭載されるレジスタが多めになり、ハードウエアの規模の増大も招いていた。
本発明の目的は、プロセッサに残す遂次処理(ソフトウエア)と動作合成系により合成したゲストハードウエアに行わせる処理の分割の際に、誤りの混入や変数の見落としを避けることができるようにすることである。
上記目的を達成するために、請求項1にかかる発明の処理装置は、プロセッサに逐次処理を実行させるためのソースコードと該ソースコードをコンパイルしたバイナリコードとから生成されたコードプロファイルに基づき、全ての変数についてその読み書きにかかる総実行ステップ数をそれぞれ検出し、各変数についての総実行ステップ数と該総実行ステップ数を主要な要素として決まる優先順位とを対応つけたアクセスステップ数表を生成するアクセスステップ数表生成手段と、前記アクセスステップ数表の変数のうち、優先順位が所定の閾値に勝る変数を検索し、検索された変数の読み書きにかかるコードの前後にゲストハードウエア標識を挿入した新たなソースコードを生成して格納するソースコード格納手段と、備えることを特徴とする。
請求項2にかかる発明の処理方法は、プロセッサに逐次処理を実行させるためのソースコードと該ソースコードをコンパイルしたバイナリコードとから生成されたコードプロファイルに基づき、全ての変数についてその読み書きにかかる総実行ステップ数をそれぞれ検出し、各変数についての総実行ステップ数と該総実行ステップ数を主要な要素として決まる優先順位とを対応つけたアクセスステップ数表を生成し、前記アクセスステップ数表の変数のうち、優先順位が所定の閾値に勝る変数を検索し、検索された変数の読み書きにかかるコードの前後にゲストハードウエア標識を挿入した新たなソースコードを生成する、ことを特徴とする。
請求項3にかかる発明のプログラムは、プロセッサに逐次処理を実行させるためのソースコードと該ソースコードをコンパイルしたバイナリコードとから生成されたコードプロファイルのデータベースを準備するステップと、前記コードプロファイルに基づき、全ての変数についてその読み書きにかかる総実行ステップ数をそれぞれ検出し、各変数についての総実行ステップ数と該総実行ステップ数を主要な要素として決まる優先順位とを対応つけたアクセスステップ数表を生成するステップと、前記アクセスステップ数表の変数のうち、優先順位が所定の閾値に勝る変数を検索するステップと、検索された変数の読み書きにかかるコードの前後にゲストハードウエア標識を挿入した新たなソースコードを生成して格納するステップと、を備えることを特徴とする。
本発明によれば、プロセッサに残す遂次処理(ソフトウエア)と動作合成系により合成したゲストハードウエアに行わせる処理の分割に際して、ソースコードの中のゲストハードウエアに実装するレジスタに置く変数を識別するゲートハードウエア標識が、そのソースコードに挿入されるので、疲労による誤りの混入やゲートハードウエアに実装するレジスタに置く変数の見落としを避けることができる。また、優先順位が閾値に勝る変数がゲートハードウエア搭載レジスタに割り当てられることになるので、変数アクセスに関する性能向上を図る際にその優先順位と閾値を利用することで、効果を概算推定でき、搭載レジスタの要否を評価できるので、ゲストハードウエアを備えるべきレジスタ規模を小さくすることができ、そのハードウエア規模を小さくすることもできる。
本発明では、ゲストハードウエアによりプロセッサの遂次処理を代行させることで、性能の向上を目指す場合に、どの変数をゲストハードウエアのレジスタとして置くかを検討する際に、変数の読み書きにかかるステップ数について表としたもの(アクセスステップ数表)を作成し、各変数に優先順位付けを行い、その優先順位が所定の閾値に勝るかどうかで、ゲストハードウエアに実装するレジスタに置く変数と、メモリに置きプロセッサとの通信に用いる変数とに分別し、その分別結果に応じて、ソースコード上にゲストハードウエア標識を付与する。よって、変数の参照と格納について性能向上の見込みの大きいものから複数の設計候補を容易に得ることができる。このように、本発明では、ゲストハードウエアにレジスタとして搭載すべき変数を、ソースコード上にゲートハードウエア標識により識別できるようにするものである。
<実施例>
図1に本発明の実施例の処理装置の全体構成を示す。10はプロセッサでの遂次処理ソフトウエアとして記述されているソースコード、20はそのソースコード10をコンパイルしてバイナリコード30を生成するコンパイラ、40はソースコード10とバイナリコード30からコードプロファイルを作成するコードプロファイラ、50はコードプロファイルDB(データベース)(例えば、図3参照)である。
60はコードファイルDB50に基づいてアクセスステップ数表70を生成するアクセスステップ数表生成部、80はアクセスステップ数表70の生成の際にオプションとしての「ポリシー」を加えるポリシー記述、90はソースコード10に記述された変数をゲストハードウエアに搭載するか否かの判断材料としてのゲートハードウエア搭載閾値、100はソースコード10をコメント形式のゲストハードウエア標識を挿入したものに書き換えそれを格納するソースコード格納部、110はソースコード10の字句解析を行いソースコード格納部100に対して書き換えのコマンド送出を行うソースコードスキャン部、120はソースコード書き換えのためのゲストハードウエア標識を生成するゲストハードウエア標識生成部である。
本実施例の処理装置は、コンピュータとプログラムによって実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。図2はそのプログラムのフローチャートである。以下、このフローチャートに沿って各部の動作を説明する。
コードプロファイルDBを準備した(ステップS1)後、アクセスステップ数表生成部60は、コードプロファイルDB50に基づき、変数の読み書きにかかるステップ数を表としたアクセスステップ数表70を生成する(ステップS2)。このとき、アクセスステップ数表70における「優先順位」のフィールドの生成にあたって、オプション処理として、各種のアクセスステップ数のフィールドに対して重み付けや評価の優先判断、あるいは変数の構造に基づく合算(たとえば、配列変数について合算)を行うための、関数である「ポリシー」をポリシー記述80から与えておくこともできる。
アクセスステップ数表生成部60は、コードプロファイルにおけるソースコード形式を先頭から追っていき変数を検出する。検出した変数に対して、アセンブリ言語形式での対応部分を検索する。これはコードプロファイルDB50への検索によって実現し、そのコードにおける、1命令実行ステップ数と、所定の繰り返しの結果としての、そのコードの総実行ステップ数を特定する。総実行ステップ数に関しては、アクセスステップ数表70内の該当変数の「延べステップ数」のフィールドに、変数への書き込みと読み出しを区別して加算していく。図4に「変数名」と「延べステップ数」のフィールドをもつアクセスステップ数表の例を示した。ソースコード記載上の変数が局所変数である場合には、スコープを示すために、関数名と合成するなどの手段を講ずることで、唯一特定ができる。
なお、コードプロファイルDB50から検索される1命令実行ステップ数に関しては、アクセスステップ数表70内に「単位ステップ数」のフィールドを用意しておき、変数への書き込みと読み出しを区別して書き込んでいく(1命令実行ステップ数の取り扱いについては、実現形態としてはオプション)(図5)。
さらに、アクセスステップ数表生成部60が、ソースコード形式のスキャンを終了したとき、アクセスステップ数表70内のすべての変数について、「延べステップ数」の読み出し書き込みフィールドの加算値の大きいものから、「優先順位」を与える。
このとき、前記したように、オプションとして、ポリシー記述80によって、「ポリシー」と呼ぶ関数あるいは手順を準備しておき、「ポリシー」に従って、アクセスステップ数表70内の各フィールドの値の重み付けなど、各フィールドの単純な総和以外の関数あるいは手順を作用させて、その評価値を、「優先順位」の決定の際に、反映させることもできる。
「ポリシー」を、たとえば、読み出しの単位ステップ数が3より大きいものについては、「延べステップ数」を2倍にするなどと定義すれば、組み上がったシステムでさまざまな要因により、プロセッサがメモリにアクセスする際に想定される調停待ちの影響を組み込むといったことができる。
最終的には、アクセスステップ数表70内のすべての変数について、重複しない「優先順位」を与える。図4に各「変数」に対して、「単位ステップ数」、「延べステップ数」、および「優先順位」を付与した最終的なアクセスステップ数表70を示す。
ソースコードスキャン部110は、ソースコード10の字句分析で検出した変数について、アクセスステップ数表70を検索し、「優先順位」が、ゲストハードウエア搭載閾値90で設定された閾値に勝るか否かを比較する(ステップS3)。変数の「優先順位」が閾値より勝るとき、ソースコード10の当該変数コード部分にゲストハードウエア標識を挿入する(ステップS4)。これは、ソースコード格納部100にゲストハードウエア標識を書き加えるためのコマンドを送ることで実現する。
ゲストハードウエア標識生成部120は、ソースコード10に書き加えるゲストハードウエア標識を生成する。図6にゲストハードウエア標識の例とゲストハードウエア標識を挿入したソースコードの例を示す。
図7にゲストハードウエア標識を挿入したソースコードの例を示す。左のゲストハードウエア標識を挿入したソースコード(1)は、最左側のアクセスステップ数表について、閾値を5としたとき、「優先順位」が1の変数「max」についてはゲートハードウエア化候補としてのゲストハードウエア標識を与えるが、「優先順位」が7の変数「ret.value」には与えない例である。右側のゲストハードウエア標識を挿入したソースコード(2)は、閾値を32としたとき、「優先順位」が1の変数「max」と17の変数「ret.value」についてゲストハードウエア化候補としてのゲストハードウエア標識を与える例である。
<実施例の効果>
本実施例は、検出した変数のコード部分の前後の行にゲストハードウエア標識を入れるものであり、このように検出した標識を記入しておくことで、ソースコード10に意図しない修正を行った場合の誤りの発見に役立ち、また、ゲストハードウエアを動作合成系で生成するに先だってこの技術を適用しておくことで、あらかじめ、動作合成対象内に保有するレジスタを明示することができ、動作合成系の処理負荷を軽減することができる。
前述したように、機能分割の候補の作成は、これまで経験依存度の大きい工程であったが、本実施例によれば、優先順位の閾値とアクセスステップ数表のポリシーを決めることに集約できる。そのほかの手順の自動化で、作業時間も動作合成系等の工程と同程度にでき、疲労による誤りの混入を避けることができる。
また、ソフトウエアのソースコードに即して、対象部分だけではなく、全体にわたってのアクセスステップ数に基づいて、変数をゲストハードウエアに搭載するかどうかの判断を行うので、読み書きがソースコード上の広い範囲に分散して頻繁さを見落としやすい変数や、読み書きのためのプロセッサの負荷が大きい変数へのアクセスの見落としを防ぐことができる。
さらに、ゲストハードウエア標識およびその標識においてレジスタに割り当てる変数を明示することの効果として次のようなものがある。まず、ゲストハードウエアを動作合成系で生成するに先だって本実施例を適用しておけば、ゲストハードウエアに搭載したレジスタによって実現する変数をあらかじめ示しておけるので、動作合成系の処理時間を削減することができる。
従来の開発方法として、プロセッサからの読み書きを行わず、ゲストハードウエアに搭載するレジスタとして実装する変数を、ソースコードのうえで、変数の名前規則や変数の型など、あらかじめ識別しやすいものに書き換えて指定することもあったが、その場合には、一度、ゲストハードウエアによってのみ参照/更新することとして設計・記述した変数に対して、ソースコード内の、その時点では、ソフトウエアとして残すとしておいた部分から、参照/更新を記載することができてしまう。
これは、ゲストハードウエアを搭載したシステムとしては、参照/更新できないように設計したかったので、誤りであるが、コンパイルしてソフトウエアだけで動作させた場合には、その結果に不具合は発生することはなく、すなわち、開発途中では誤りに気がつくことが困難であった。
これに対して、本実施例では、ソースコードに明示的に示すわけではないので、ある時点で、ソフトウエアとして残すとしていた部分に、ゲストハードウエアに搭載したレジスタへの読み書きを記載した場合には、あらたに、ゲストハードウエア搭載のレジスタである旨の識別子が付与される。ソースコード上のソフトウエアとして処理する部分にこの標識が提示されるので、この段階で記載の意図が誤りであれば気づくことができる。
本実施例の構成要素であるアクセスステップ数表については、次の効果がある。アクセスステップ数表には、対象となるソフトウエアを実行した場合の、それぞれの変数のアクセスに必要であったステップ数がすべて記されていることから、優先順位が閾値に勝る変数についてのゲストハードウエア搭載レジスタへの割り当てが行われた場合の、変数アクセスに関する性能向上効果を推定する際に、この数値を利用することで、効果を概算推定できる。その結果、搭載するレジスタの要否を性能との対比で評価判断できるため、恣意的に、レジスタを多めに持つ必要がなく、ゲストハードウエアの規模を小さくすることもできる。またこの概算推定は、ゲストハードウエアの合成を待たずに行えるので、工程を著しく短縮できる。
アクセスステップ数表の優先順位が閾値に勝る変数については、動作合成系に対するレジスタの生成の指示のために用いることができるが、さらに、生成したゲストハードウエア標識付きのソースコードの当該標識部分について、変数のリストを作成し、レジスタに割り当てた変数のリストとの差をとれば、ゲストハードウエアとプロセッサとの間で通信に使用する全変数のリストを得ることができる。これは、動作合成時には、入出力レジスタの生成指示のために用いることができ、いずれも動作合成系の処理負荷を削減し、合成されたゲストハードウエアの性能、品質を高めることができる。
本発明の実施例の処理装置の全体構成を示すブロック図である。 同実施例の処理装置の処理のフローチャートである。 同実施例のコードプロファイルDBの説明図である。 同実施例のアクセスステップ数表の作例例である。 同実施例の最終的なアクセスステップ数表の作成例である。 同実施例のゲストハードウエア標識とその挿入例の説明図である。 同実施例のゲストハードウエア標識の挿入例の説明図である。
符号の説明
10:ソースコード、20:コンパイラ、30:バイナリコード、40:コードプロファイラ、50:コードプロファイルDB、60:アクセスステップ数表生成部、70:アクセスステップ数表、80:ポリシー記述、90:ゲストハードウエア搭載閾値、100:ソースコード格納部、110:ソースコードスキャン部、120:ゲストハードウエア標識生成部。

Claims (3)

  1. プロセッサに逐次処理を実行させるためのソースコードと該ソースコードをコンパイルしたバイナリコードとから生成されたコードプロファイルに基づき、全ての変数についてその読み書きにかかる総実行ステップ数をそれぞれ検出し、各変数についての総実行ステップ数と該総実行ステップ数を主要な要素として決まる優先順位とを対応つけたアクセスステップ数表を生成するアクセスステップ数表生成手段と、
    前記アクセスステップ数表の変数のうち、優先順位が所定の閾値に勝る変数を検索し、検索された変数の読み書きにかかるコードの前後にゲストハードウエア標識を挿入した新たなソースコードを生成して格納するソースコード格納手段と、
    を備えることを特徴とする処理装置。
  2. プロセッサに逐次処理を実行させるためのソースコードと該ソースコードをコンパイルしたバイナリコードとから生成されたコードプロファイルに基づき、全ての変数についてその読み書きにかかる総実行ステップ数をそれぞれ検出し、
    各変数についての総実行ステップ数と該総実行ステップ数を主要な要素として決まる優先順位とを対応つけたアクセスステップ数表を生成し、
    前記アクセスステップ数表の変数のうち、優先順位が所定の閾値に勝る変数を検索し、
    検索された変数の読み書きにかかるコードの前後にゲストハードウエア標識を挿入した新たなソースコードを生成する、
    ことを特徴とする処理方法。
  3. プロセッサに逐次処理を実行させるためのソースコードと該ソースコードをコンパイルしたバイナリコードとから生成されたコードプロファイルのデータベースを準備するステップと、
    前記コードプロファイルに基づき、全ての変数についてその読み書きにかかる総実行ステップ数をそれぞれ検出し、各変数についての総実行ステップ数と該総実行ステップ数を主要な要素として決まる優先順位とを対応つけたアクセスステップ数表を生成するステップと、
    前記アクセスステップ数表の変数のうち、優先順位が所定の閾値に勝る変数を検索するステップと、
    検索された変数の読み書きにかかるコードの前後にゲストハードウエア標識を挿入した新たなソースコードを生成して格納するステップと、
    を備えることを特徴とするプログラム。
JP2008100106A 2008-04-08 2008-04-08 処理装置、処理方法およびそのプログラム Expired - Fee Related JP5077952B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008100106A JP5077952B2 (ja) 2008-04-08 2008-04-08 処理装置、処理方法およびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008100106A JP5077952B2 (ja) 2008-04-08 2008-04-08 処理装置、処理方法およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2009251996A true JP2009251996A (ja) 2009-10-29
JP5077952B2 JP5077952B2 (ja) 2012-11-21

Family

ID=41312636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008100106A Expired - Fee Related JP5077952B2 (ja) 2008-04-08 2008-04-08 処理装置、処理方法およびそのプログラム

Country Status (1)

Country Link
JP (1) JP5077952B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140023561A (ko) * 2012-08-16 2014-02-27 삼성전자주식회사 동적 데이터 구성을 위한 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259553A (ja) * 1998-03-13 1999-09-24 Omron Corp ハードウエアとソフトウエアの混在するシステムの設計支援方法
JP2001282546A (ja) * 2000-03-30 2001-10-12 Matsushita Electric Ind Co Ltd プログラム変換装置、プログラム変換方法及びプログラム記録媒体
JP2002269163A (ja) * 2001-03-12 2002-09-20 Toshiba Corp 設計支援装置および設計支援方法ならびに設計支援プログラム
JP2006011840A (ja) * 2004-06-25 2006-01-12 Mitsubishi Electric Corp 組み込みシステム
JP2007286671A (ja) * 2006-04-12 2007-11-01 Fujitsu Ltd ソフトウェア/ハードウェア分割プログラム、および分割方法。

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259553A (ja) * 1998-03-13 1999-09-24 Omron Corp ハードウエアとソフトウエアの混在するシステムの設計支援方法
JP2001282546A (ja) * 2000-03-30 2001-10-12 Matsushita Electric Ind Co Ltd プログラム変換装置、プログラム変換方法及びプログラム記録媒体
JP2002269163A (ja) * 2001-03-12 2002-09-20 Toshiba Corp 設計支援装置および設計支援方法ならびに設計支援プログラム
JP2006011840A (ja) * 2004-06-25 2006-01-12 Mitsubishi Electric Corp 組み込みシステム
JP2007286671A (ja) * 2006-04-12 2007-11-01 Fujitsu Ltd ソフトウェア/ハードウェア分割プログラム、および分割方法。

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140023561A (ko) * 2012-08-16 2014-02-27 삼성전자주식회사 동적 데이터 구성을 위한 방법 및 장치
KR101893796B1 (ko) * 2012-08-16 2018-10-04 삼성전자주식회사 동적 데이터 구성을 위한 방법 및 장치

Also Published As

Publication number Publication date
JP5077952B2 (ja) 2012-11-21

Similar Documents

Publication Publication Date Title
Tan et al. Making k-object-sensitive pointer analysis more precise with still k-limiting
CN109144882B (zh) 一种基于程序不变量的软件故障定位方法及装置
CN110287702B (zh) 一种二进制漏洞克隆检测方法及装置
US8327325B2 (en) Programmable framework for automatic tuning of software applications
US10296447B2 (en) Automated software program repair
CN111400724B (zh) 基于代码相似性分析的操作系统脆弱性检测方法、系统及介质
Bernstein et al. Improving defect prediction using temporal features and non linear models
US9619373B2 (en) Method and apparatus to semantically connect independent build and test processes
US8595676B2 (en) BDD-based functional modeling
US20090248721A1 (en) System And Method for Stack Crawl Testing and Caching
US7536678B2 (en) System and method for determining the possibility of adverse effect arising from a code change in a computer program
US9645800B2 (en) System and method for facilitating static analysis of software applications
US20100274520A1 (en) Creation of test plans
US20150286203A1 (en) System and method for an optimized operation of real-time embedded solutions in industrial automation
US20110047531A1 (en) Methods and apparatuses for selective code coverage
US20080307387A1 (en) Software development apparatus and method for providing performance prediction
JP5077952B2 (ja) 処理装置、処理方法およびそのプログラム
US6546526B2 (en) Active trace debugging for hardware description languages
US8516453B2 (en) Partition-based static analysis of computer software applications
CN113778838A (zh) 二进制程序动态污点分析方法及装置
US20100218148A1 (en) Method and System for Sequential Netlist Reduction Through Trace-Containment
JP2017041196A (ja) スタブ化対象判定装置、方法、及びプログラム
JP7380851B2 (ja) テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
CN116340081A (zh) 一种基于硬件虚拟化的riscv内存访问违例检测方法及装置
CN116028329A (zh) 检测代码缺陷的方法、电子设备和计算机程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120718

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120803

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: 20120822

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120822

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees