JP5045122B2 - プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法 - Google Patents

プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法 Download PDF

Info

Publication number
JP5045122B2
JP5045122B2 JP2007018052A JP2007018052A JP5045122B2 JP 5045122 B2 JP5045122 B2 JP 5045122B2 JP 2007018052 A JP2007018052 A JP 2007018052A JP 2007018052 A JP2007018052 A JP 2007018052A JP 5045122 B2 JP5045122 B2 JP 5045122B2
Authority
JP
Japan
Prior art keywords
program
evaluation
target
variable
module
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
Application number
JP2007018052A
Other languages
English (en)
Other versions
JP2008186163A (ja
Inventor
豊 田宮
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007018052A priority Critical patent/JP5045122B2/ja
Priority to US12/020,848 priority patent/US8171496B2/en
Publication of JP2008186163A publication Critical patent/JP2008186163A/ja
Application granted granted Critical
Publication of JP5045122B2 publication Critical patent/JP5045122B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プログラムの評価を行うプログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法に関するものである。
組み込みシステムにおいては、低消費電力のニーズが高まっている。電池駆動の携帯端末等の場合、そのニーズはより高まる。一方、組み込みシステムにおけるソフトウェア開発の比重が高まっている。
ソフトウェア開発において、デバッガやシミュレーションが、CPU(Central Processing Unit)の命令毎の発行頻度を測定する技術がある。これにより、命令レベルで、モジュール毎の消費電力の見積もりが可能となる。
なお、本発明の関連ある従来技術として、プロセッサ上で実行された命令と、その命令の実行中に消費された電力の関連付けを生成する技術がある(例えば、特許文献1参照)。また、コンピュータデバイスの電力管理状態に基づいて、ユーザが選択可能な複数の機能の中からソフトウェアアプリケーションが選択する技術がある(例えば、特許文献2参照)。
特開2005−25754号公報 特開2004−530976号公報
しかしながら、上述した消費電力の見積もりを行う場合、必要な電力と無駄な電力とを区別できない。ここで、必要な電力とは、画像の圧縮処理や伸張処理等により消費される電力であり、無駄な電力とは、ビジーウェイトやスピンロック等により消費される電力である。ソフトウェアの開発者は、どの部分を修正すれば良いかが分からない。
特許文献1の技術は、ハードウェアによりソフトウェアを実行させ、実際の消費電力をリアルタイムで測定するものであるが、必要な電力と無駄な電力とを区別する機能はない。また、特許文献2の技術は、選択可能な複数の機能に対する重要度が必要であり、重要度を算出する機能は無く、予め重要度を設定する必要がある。
このように現状では、ソフトウェアによる消費電力を評価する有効な指標が存在しない。
本発明は上述した問題点を解決するためになされたものであり、プログラムによる消費電力に対する効率を評価するプログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法を提供することを目的とする。
上述した課題を解決するため、本発明は、評価対象プログラムの評価をコンピュータに実行させるための、プログラムの評価プログラムであって、前記コンピュータを、前記評価対象プログラムの実行により生成された実行命令を含む実行ログと、前記評価対象プログラムにおける1又は2以上のサブルーチンである対象モジュール内の変数が前記評価対象プログラム内の該対象モジュール以外の部分で用いられる外部変数であるか否かを示す情報が記憶されたテーブルとに基づいて、前記対象モジュール内の変数が外部変数であるか否かを判断し、該変数が前記外部変数である場合に所定の値を累積し、該累積の結果を前記対象モジュールが前記評価対象プログラム内の該対象モジュール以外の部分に及ぼす影響の大きさを示す値である第1パラメータとする計算をし、前記実行ログと、予め設定された命令の種類毎の実行による消費電力とに基づいて、前記対象モジュールの実行における命令毎の消費電力を累積し、該累積の結果を前記対象モジュールの実行による消費電力に関する値である第2パラメータとする計算をし、前記第1パラメータ前記第2パラメータとの対数をとることにより、前記対象モジュールの電力効率を計算し、前記電力効率による前記対象モジュールの評価を行い、該評価結果をプログラムの評価手段として機能させる
また、本発明は、評価対象プログラムの評価を行う、プログラムの評価装置であって、前記評価対象プログラムの実行により生成された実行命令を含む実行ログと、前記評価対象プログラムにおける1又は2以上のサブルーチンである対象モジュール内の変数が前記評価対象プログラム内の該対象モジュール以外の部分で用いられる外部変数であるか否かを示す情報が記憶されたテーブルとに基づいて、前記対象モジュール内の変数が外部変数であるか否かを判断し、該変数が前記外部変数である場合に所定の値を累積し、該累積の結果を前記対象モジュールが前記評価対象プログラム内の該対象モジュール以外の部分に及ぼす影響の大きさを示す値である第1パラメータとする計算する第1計算部と、前記実行ログと、予め設定された命令の種類毎の実行による消費電力とに基づいて、前記対象モジュールの実行における命令毎の消費電力を累積し、該累積の結果を前記対象モジュールの実行による消費電力に関する値である第2パラメータとする計算する第2計算部と、前記第1パラメータ前記第2パラメータとの対数をとることにより、前記対象モジュールの電力効率を計算し、該電力効率による前記対象モジュールの評価を行い、該評価結果を出力する評価部とを備える。
また、本発明は、第1計算部、第2計算部、及び評価部として機能し評価対象プログラムの評価を行う評価装置により実行される、プログラムの評価方法であって、前記第1計算部が、前記評価対象プログラムの実行により生成された実行命令を含む実行ログと、前記評価対象プログラムにおける1又は2以上のサブルーチンである対象モジュール内の変数が前記評価対象プログラム内の該対象モジュール以外の部分で用いられる外部変数であるか否かを示す情報が記憶されたテーブルとに基づいて、前記対象モジュール内の変数が外部変数であるか否かを判断し、該変数が前記外部変数である場合に所定の値を累積し、該累積の結果を前記対象モジュールが前記評価対象プログラム内の該対象モジュール以外の部分に及ぼす影響の大きさを示す値である第1パラメータとする計算する第1計算ステップと、前記第2計算部が、前記実行ログと、予め設定された命令の種類毎の実行による消費電力とに基づいて、前記対象モジュールの実行における命令毎の消費電力を累積し、該累積の結果を前記対象モジュールの実行による消費電力に関する値である第2パラメータとする計算する第2計算ステップと、前記評価部が、前記第1パラメータ前記第2パラメータとの対数をとることにより、前記対象モジュールの電力効率を計算するステップと前記評価部が、前記電力効率による前記対象モジュールの評価を行い、該評価結果を出力する評価ステップとをする。
本発明によれば、プログラムによる消費電力に対する効率を評価することができる。
以下、本発明の実施の形態について図面を参照しつつ説明する。
実施の形態1.
本実施の形態においては、評価の対象となるプログラムである評価対象プログラム内のモジュール(1又は2以上のサブルーチン)毎に電力効率を算出する、プログラム評価装置(プログラムの評価装置)について説明する。
まず、本実施の形態に係るプログラム評価装置の構成について説明する。
図1は、本実施の形態に係るプログラム評価装置の構成の一例を示すブロック図である。このプログラム評価装置は、情報処理装置で実現される。また、このプログラム評価装置は、情報処理装置の制御部で実現される外部影響力計算部13、電力計算部14、電力効率計算部15と、情報処理装置の記憶部で実現される外部変数情報記憶部21、実行ログ記憶部22、外部影響力記憶部23、電力情報記憶部24、電力プロファイル記憶部25を備える。
次に、本実施の形態に係るプログラム評価装置の動作の概要について説明する。
評価対象プログラムのうち評価対象とするモジュールを対象モジュールとする。次に、外部影響力計算部13は、外部変数情報記憶部21に保存された対象モジュールの外部変数情報テーブルと、実行ログ記憶部22に保存された対象モジュールの実行ログとに基づいて対象モジュールの外部影響力(第1パラメータ)を計算し、外部影響力情報として外部影響力情報記憶部23に保存する外部影響力計算処理を行う(S13)。次に、電力計算部14は、予め設定された命令の種類毎の消費電力と実行ログ記憶部22に保存された実行ログとに基づいて対象モジュールの消費電力(第2パラメータ)を計算し、電力情報として電力情報記憶部24に保存する電力計算処理を行う(S14)。次に、電力効率計算部15は、外部影響力情報保存部23に保存された外部影響力情報と電力情報記憶部24に保存された電力情報とに基づいて対象モジュールの電力効率(評価結果)を計算し、電力プロファイルとして電力プロファイル記憶部25に保存する電力効率計算処理を行い(S15)、このフローは終了する。
次に、外部影響力計算処理について説明する。
対象モジュールの外部変数情報テーブルは、変数が外部変数であるか否かを判定するための情報であり、評価対象プログラムの仕様等に基づいて、予め設定される。ここで、対象とするモジュールの内部でのみ用いられる変数を内部変数とし、内部変数以外の変数(対象とするモジュールの外部で用いられる変数)を外部変数とする。図2は、本実施の形態に係る外部変数情報テーブルの一例を示す表である。1つのモジュールの外部変数情報テーブルには、モジュール名が記録され、そのモジュール内の変数毎に、変数名、変数の種類、アドレス範囲が記録される。変数の種類は、外部変数または内部変数である。この例は、モジュールfunc1の外部変数情報テーブルである。この外部変数情報テーブルによれば、変数aは、参照先(ターゲットアドレス)がアドレス範囲であれば外部変数と判定され、変数bは、内部変数と判定され、返り値は、外部変数と判定される。
評価対象プログラムの実行ログは、予め外部のデバッガにより生成され、実行ログ記憶部22に保存される。図3は、本実施の形態に係る実行ログの一例を示す図である。この実行ログは、サイクルの番号と実行命令を記録する。なお、プログラム評価装置がデバッガを備え、そのデバッガが評価対象プログラムの実行ログを作成し、実行ログ記憶部22に保存しても良い。
外部影響力は、モジュール毎に計算される。外部変数のload命令やstore命令など、モジュール外部の読み出しや書き込みに対して所定の外部影響力が付与される。本実施の形態においては、モジュール外部への書き込みのみに対して外部影響力が付与される。また、外部影響力はモジュール毎に合計される。外部影響力計算部13は、外部影響力計算処理前に、モジュール毎の外部影響力を0に初期化する。また、図4は、本実施の形態に係る外部影響力計算処理の動作の一例を示すPADである。PAD(Problem Analysis Diagram)は、フローチャートと同様、プログラムの流れを表す図である。処理S41のシンボルは、反復を表し、所定の条件まで右側のシンボルの処理を繰り返す。処理S42のシンボルは、選択を表し、一致した条件の右側のシンボルの処理へ進む。処理S43のシンボルは、通常の処理を表し、実行した後、下側のシンボルの処理へ進む。下側にシンボルが無い場合、反復の処理を繰り返す。
(S41)外部影響力計算部13は、実行ログから1サイクルずつの実行命令を読み出して処理S42を行い、実行ログを読み終えるまで処理S42を繰り返す。
(S42)外部影響力計算部13は、読み出した実行命令の判定を行う。
(S43)実行命令がcall命令である場合(S42,call命令)、外部影響力計算部13は、対象モジュールを呼び出し先モジュールに切り替え、参照する外部変数情報テーブルを対象モジュールのものに切り替える。
(S44)実行命令がstore命令である場合(S42,store命令)、外部影響力計算部13は、外部変数情報テーブルに基づいてstore命令の変数が外部変数であるか否かの判断を行う。
(S45)store命令の変数が外部変数である場合(S44,yes)、外部影響力計算部13は、対象モジュールの外部影響力に1を加算する。
(S46)実行命令が返り値レジスタ書き込みである場合(S42,返り値レジスタ書き込み)、外部影響力計算部13は、対象モジュールの外部影響力に1を加算する。
(S47)実行命令がreturn命令である場合(S42,return命令)、外部影響力計算部13は、対象モジュールを呼び出し元モジュールに切り替え、参照する外部変数情報テーブルを対象モジュールのものに切り替える。
図5は、本実施の形態に係る外部影響力計算処理の動作の一例を示す概念図である。図中の実行ログは、図3と同一であり、モジュールfunc1の実行を表す。まず、モジュールfunc1の外部影響力は、0に初期化される。サイクル1001は、モジュールfunc1の呼び出しであるため(call命令)、対象モジュールがモジュールfunc1になる。サイクル1002は、外部変数への書き込みであるため(store命令)、モジュールfunc1の外部影響力に1が加算される。サイクル1003は、内部変数への書き込みであるため(store命令)、モジュールfunc1の外部影響力は変わらない。サイクル1004は、返り値レジスタ書き込みであるため、モジュールfunc1の外部影響力に1が加算される。サイクル1005は、return命令であるため、対象モジュールが呼び出し元モジュールになる。この結果、モジュールfunc1の外部影響力は、2となる。
なお、本実施の形態においては、モジュール外部への書き込みのみに対して外部影響力が付与されるとしたが、モジュールへの入力が重要である場合等、モジュールの機能によっては、モジュール外部からの読み出しに対して外部影響力を付与しても良い。
上述した外部影響力計算処理によれば、評価対象プログラム内の各モジュールの外部影響力を算出することにより、評価対象プログラムに機能に必要な命令の処理量を取得することができる。
次に、電力計算処理について説明する。
電力計算部14は、予め設定された命令の種類毎の消費電力と実行ログとに基づいて、モジュール毎の消費電力を算出する。本実施の形態において、電力計算部14は、実行ログにおける演算命令1ステップの消費電力を1とし、モジュール内の消費電力を合計する。
上述した電力計算処理によれば、評価対象プログラム内の各モジュールの消費電力を取得することができる。
次に、電力効率計算処理について説明する。
電力効率計算部15は、モジュール毎の外部影響力と消費電力から、モジュール毎の電力効率を算出し、モジュール毎の電力効率をまとめて電力プロファイルとする。ここでは、対象モジュールの電力効率を次のように定義する。
対象モジュールの電力効率
=(対象モジュールの外部影響力)÷(対象モジュールの消費電力)
ここで、電力効率計算処理結果の具体例について説明する。ここでの評価対象プログラムは、マルチスレッド実行環境下で、ロック*lockを獲得後に*countをインクリメントする機能を持つモジュールである。また、ここでは、同じ機能を持つ2種類の評価対象プログラムとしてモジュールAとモジュールBを用意する。
図6は、本実施の形態に係るモジュールAの電力効率計算処理結果の一例を示す図である。この図は、モジュールAのソースを1行ずつ表し、行毎の外部影響力と消費電力を表す。モジュールAは、上述した機能をポーリング方式により実現したモジュールである。ここで、モジュールAは、ロック獲得を試み続け、10回目で獲得したとする。
図7は、本実施の形態に係るモジュールBの電力効率計算処理結果の一例を示す図である。この図は、モジュールBのソースを1行ずつ表し、行毎の外部影響力と消費電力を表す。モジュールBは、上述した機能を割り込み方式により実現したモジュールである。ここで、モジュールBは、ロック獲得に失敗後、wait_for_interrupt()でスリープし、ロック解除を通知する割り込みで起床し、ロックを獲得する。
モジュールA及びモジュールBにおいて、外部影響力は、外部変数*countへの書き込みのみであり、外部影響力計算部13は、*countへの書き込みの回数を数えることにより外部影響力を算出する。ローカル変数valとロック変数*lockは、内部変数であり、外部影響力に関係しない。また、電力計算部14は、演算命令1ステップの消費電力を1とする。
外部影響力計算処理により、モジュールA及びモジュールBの外部影響力は1となる。電力計算処理により、モジュールAの消費電力は41となり、モジュールBの消費電力は8となる。電力効率計算処理により、モジュールAの電力効率は1/41=2.4[%]となり、モジュールBの電力効率は1/8=12.5[%]となる。従って、モジュールAの電力効率よりモジュールBの電力効率の方が大きいと判断できる。
なお、電力効率計算部15は、上述したように複数のモジュールの外部影響力、消費電力、電力効率について比較を行い、比較結果を出力しても良い。
図8は、本実施の形態に係る電力プロファイルの一例を示す図である。この図は、上述したモジュールBの電力プロファイルを示す。電力プロファイルには
モジュール名、外部影響力、消費電力、電力効率の値が記録される。なお、電力プロファイルにおいて、外部影響力、消費電力が記録されなくても良い。
上述した外部影響力計算処理によれば、単位消費電力あたりの外部影響力の大きさを電力効率として算出することができ、電力効率により評価対象プログラムの評価や比較を行うことができる。電力効率によれば、消費電力が外部に対して有効に利用されているか否かを判断することができる。
実施の形態2.
本実施の形態においては、評価対象プログラムから外部変数を抽出するプログラム評価装置について説明する。
まず、本実施の形態に係るプログラム評価装置の構成について説明する。
図9は、本実施の形態に係るプログラム評価装置の構成の一例を示すブロック図である。この図において、図1と同一符号は図1に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図は、図1と比較すると、新たに情報処理装置の制御部で実現される外部変数抽出部31、情報処理装置の記憶部で実現されるプログラム記憶部40を備え、外部影響力計算部13の代わりに外部影響力計算部33を備え、外部変数情報記憶部21の代わりに外部変数情報記憶部41を備える。
次に、本実施の形態に係るプログラム評価装置の動作の概要について説明する。
まず、外部変数抽出部31は、プログラム記憶部40に保存された評価対象プログラムのソースから外部変数を抽出し、外部変数情報テーブルとして外部変数情報記憶部41に保存する外部変数抽出処理を行う(S11)。次に、外部影響力計算部33は、外部変数情報記憶部41に保存された外部変数情報テーブルと、実行ログ記憶部22に保存された評価対象プログラムの実行ログとに基づいて外部影響力を計算し、外部影響力情報として外部影響力情報記憶部23に保存する外部影響力計算処理を行う(S13)。処理S14以降は、実施の形態1と同様である。
次に、外部変数抽出処理について説明する。
外部変数抽出処理は、コンパイラのソース解析技術を用いて実現される。また、外部変数抽出処理は、評価対象プログラム中のモジュール毎に行われる。内部変数とは、モジュールの内部だけで用いられる変数であり、外部変数とは、モジュールの外部で用いられる変数である。本実施の形態において、評価対象プログラムは、Cプログラムソースである。
図10は、本実施の形態に係る外部変数抽出処理の動作の一例を示すPADである。
(S21)外部変数抽出部31は、Cプログラムソースを部分毎に読み出して処理S22を行い、Cプログラムソースを読み終えるまで処理S22を繰り返す。
(S22)外部変数抽出部31は、Cプログラムソースの構文解析を行い、変数を抽出して対象変数とし、処理S23へ移行する。
(S23)外部変数抽出部31は、対象変数の判定を行う。
(S31)対象変数が、グローバル変数かstatic変数である場合(S23,グローバル変数かstatic変数)、外部変数抽出部31は、対象変数が他モジュールから参照可能であるか否かの判断を行う。
(S32)対象変数が他モジュールから参照可能である場合(S31,yes)、外部変数抽出部31は、対象変数が同期のための変数(ロック、シグナル)であるか否かの判断を行う。
(S33)対象変数が同期のための変数である場合(S32,yes)、外部変数抽出部31は、対象変数の外部変数登録処理を行う。
(S34)対象変数がヒープ領域の変数である場合(S23,ヒープ領域の変数)、外部変数抽出部31は、対象変数が関数リターン後に存続するか否かの判断を行う。
(S35)対象変数が関数リターン後に存続する場合(S34,yes)、外部変数抽出部31は、対象変数の外部変数登録処理を行う。
(S36)対象変数のアドレスの参照先がローカル変数でない場合(S23,アドレスの参照先がローカル変数でない)、外部変数抽出部31は、対象変数の外部変数登録処理を行う。
(S37)対象変数が関数の戻り値である場合(S23,関数の戻り値)、外部変数抽出部31は、対象変数の外部変数登録処理を行う。
次に、外部変数登録処理について説明する。図11は、本実施の形態に係る外部変数登録処理の動作の一例を示すPADである。
(S38)外部変数抽出部31は、対象変数のアドレス範囲を計算する。ここで、スタック上の変数は、スタックレジスタやフレームポインタからのオフセットアドレスとして表現される。
(S39)対象変数の変数名とアドレスをモジュール毎に外部変数情報テーブルとして出力する。
上述した外部変数抽出処理によれば、各モジュールにおいて外部に影響を与える変数を自動的に抽出することができる。
実施の形態3.
本実施の形態においては、変数毎の重み付けに基づいて外部影響力を計算するプログラム評価装置について説明する。
本実施の形態に係るプログラム評価装置の構成、及び動作の概要は、実施の形態1と同様であるが、外部影響力計算処理が異なる。
次に、外部影響力計算処理について説明する。
外部変数情報記憶部21に保存された外部変数に対して、予め外部影響力の重み付けが設定され、外部影響力テーブルとして外部変数情報記憶部21に保存される。図12は、本実施の形態に係る外部影響度テーブルの一例を示す表である。この例は、モジュールfunc1の外部影響度テーブルであり、変数a、変数error、返り値の外部影響力が設定されている。変数aは、他から2回参照されるため、外部影響力は2と設定される。変数errorは、エラー通知のため、外部影響力は10と設定される。返り値の外部影響力は1と設定される。なお、参照される回数、エラー通知、戻り値など、変数の種類が設定され、外部影響度テーブルとして変数の種類毎に外部影響度が設定されても良い。
図13は、本実施の形態に係る外部影響力計算処理の動作の一例を示すPADである。この図において、図4と同一符号は図4に示された対象と同一又は相当処理を示しており、ここでの説明を省略する。この図は、図4と比較すると、処理S45の代わりに処理S51が実行され、処理S46の代わりに処理S54が実行される。
(S51)処理S44においてstore命令の変数が外部変数である場合(S44,yes)、外部影響力計算部13は、その外部変数を対象変数とし、対象変数が他から参照されるか否かの判断を行う。
(S52)対象変数が他から参照される場合(S51,yes)、外部影響力計算部13は、対象変数が参照される前に書き換えられないかどうかの判断を行う。
(S53)対象変数が参照される前に書き換えられない場合(S52,yes)、外部影響力計算部13は、外部影響力テーブルを参照し、対象変数に対応する外部影響力を対象モジュールの外部影響力に加算する。
(S54)処理S42において実行命令が返り値レジスタ書き込みである場合(S42,返り値レジスタ書き込み)、外部影響力計算部13は、その外部変数を対象変数とし、対象変数が他から参照されるか否かの判断を行う。
(S55)対象変数が他から参照される場合(S54,yes)、外部影響力計算部13は、外部影響力テーブルを参照し、対象変数に対応する外部影響力を対象モジュールの外部影響力に加算する。
この外部影響力計算処理によれば、予め設定された変数毎の重み付けに従って外部影響力を与えることにより、実際の外部への影響をより良く表すことができる。
実施の形態4.
本実施の形態においては、モジュール間の呼び出し関係を用いるプログラム評価装置について説明する。
本実施の形態に係るプログラム評価装置の構成、及び動作の概要は、実施の形態1と同様であるが、外部影響力計算処理、電力計算処理、電力効率計算処理が異なる。
次に、外部影響力計算処理について説明する。
図14は、本実施の形態に係る外部影響力計算処理の動作の一例を示すPADである。この図において、図4と同一符号は図4に示された対象と同一又は相当処理を示しており、ここでの説明を省略する。この図は、図4と比較すると、処理S43の代わりに処理S61が実行され、処理S44の代わりに処理S62が実行され、処理S47の代わりに処理S65が実行される。外部影響力計算部13は、外部影響力計算処理前に、モジュール毎の外部影響力を0に初期化し、外部変数情報テーブルリストを初期化する。
(S61)処理S42において実命令がcall命令である場合(S42,call命令)、外部影響力計算部13は、対象モジュール用の外部変数情報テーブルを外部変数情報テーブルリストに追加する。
(S62)処理S42において実命令がstore命令である場合(S42,store命令)、外部影響力計算部13は、外部変数情報テーブルリストから1つずつ外部変数情報テーブルを選択し、選択した外部変数情報テーブルのモジュールを関連モジュールとし、処理S63を行う。以後、外部影響力計算部13は、外部変数情報テーブルリストにおける全ての外部変数情報テーブルについて繰り返す。ここで、関連モジュールは、対象モジュールと、呼び出し関係において対象モジュールの上位のモジュールを含む。
(S63)外部影響力計算部13は、store命令の変数が関連モジュールの外部変数であるか否かの判断を行う。
(S64)store命令の変数が関連モジュールの外部変数である場合(S63,yes)、外部影響力計算部13は、関連モジュールの外部影響力に1を加算する。
(S65)処理S42において実命令がreturn命令である場合(S42,return命令)、外部影響力計算部13は、対象モジュール用の外部変数情報テーブルを外部変数情報テーブルリストから削除する。
この外部影響力計算処理によれば、外部影響力計算部13は、対象モジュールとそれに呼び出される下位階層モジュール(サブモジュール)の外部変数情報テーブルをリストとして保持する。これにより、外部影響力計算部13は、実施の形態1と同様にして対象モジュールとそれが呼び出す下位階層モジュールとを含む全体の外部影響力を算出すると共に、対象モジュールだけの外部影響力、下位階層モジュールだけの外部影響力を算出する。
次に、電力計算処理について説明する。
電力計算部14は、外部影響力計算処理と同様、実施の形態1と同様にして対象モジュールとそれに呼び出される下位階層モジュールとを含む対象モジュール全体の消費電力を算出すると共に、対象モジュールだけの消費電力、下位階層モジュールだけの消費電力を算出する。
次に、電力効率計算処理について説明する。
電力効率計算部15は、外部影響力計算処理及び電力計算処理の結果から、実施の形態1と同様にして対象モジュールとそれに呼び出される下位階層モジュールとを含む対象モジュール全体の電力効率を算出すると共に、対象モジュールだけの電力効率、下位階層モジュールだけの電力効率を算出する。
図15は、本実施の形態に係るモジュールBの電力効率計算処理結果の一例を示す図である。この電力効率計算結果は、外部影響力、消費電力、電力効率を示す。これらの値は、対象モジュール全体(Total)、対象モジュールだけ(Self)、下位階層モジュールだけ(Child)についてそれぞれ算出される。
この電力効率計算処理によれば、サブモジュール間の通信ばかりに電力を使って、実質的な仕事をしていないケースを検出することができる。
実施の形態5.
本実施の形態においては、デバッガ12が外部変数の判定を行うプログラム評価装置について説明する。
まず、本実施の形態に係るプログラム評価装置の構成について説明する。
図16は、本実施の形態に係るプログラム評価装置の構成の一例を示すブロック図である。この図において、図9と同一符号は図9に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図は、図9と比較すると、新たに情報処理装置の制御部で実現されるデバッガ52を備え、外部影響力計算部33の代わりに外部影響力計算部53を備え、実行ログ記憶部22の代わりに実行ログ記憶部62を備える。
次に、本実施の形態に係るプログラム評価装置の動作の概要について説明する。
まず、実施の形態2と同様の処理S11が行われる。次に、デバッガ52は、プログラム記憶部40に保存された評価対象プログラムの実行を行うことにより実行ログを生成し、実行ログ記憶部62に保存する実行ログ生成処理を行う(S12)。次に、外部影響力計算部53は、実行ログ記憶部62に保存された実行ログに基づいて外部影響力を計算し、外部影響力情報として外部影響力情報記憶部23に保存する外部影響力計算処理を行う(S13)。処理S14以降は、実施の形態1と同様である。
次に、実行ログ生成処理について説明する。
従来のデバッガを本発明に適用する場合、メモリへの書き込み毎のターゲットアドレスを実行ログに出力することが必要となる。図17は、従来のデバッガにより出力される実行ログの一例を示す図である。この実行ログは、サイクルの番号、命令アドレス、実行命令、ターゲットアドレスが、サイクル毎に記録される。しかしながら、全てのターゲットアドレスを実行ログに出力すると、実行ログのサイズが大きくなり処理時間が掛かるという問題がある。
これに対して、デバッガ52は、従来のデバッガと同様に取得した実行命令、ターゲットアドレス、外部変数情報記憶部41の外部変数情報テーブルに基づいて、実行命令が外部変数の読み出しまたは書き込みであると判定した場合にカウントし、実行ログに記録する。本実施の形態におけるデバッガ52は、外部変数の書き込みのみをカウントする。図18は、本実施の形態に係るデバッガにより出力される実行ログの一例を示す図である。この実行ログは、上述した従来の実行ログと比較すると、ターゲットアドレスの代わりにモジュール外部への書き込み回数を記録する。このデバッガ52によれば、実行ログのサイズを抑えることができる。
次に、外部影響力計算処理について説明する。
外部影響力計算部53は、実施の形態1と同様の外部影響力計算処理を行うが、実行ログに外部への書き込み回数を記録しているため、外部変数情報テーブルを用いて外部変数であるか否かの判断を行う必要がない。
この実行ログ生成処理及び外部影響力計算処理によれば、モジュール外部への影響を及ぼす部分をデバッガが検出することにより、外部影響力計算処理の負荷を低減し、プログラム評価装置全体の効率を向上させることができる。
なお、第1計算ステップは、実施の形態における外部影響力計算処理に対応する。また、第2計算ステップは、実施の形態における電力計算処理に対応する。また、評価ステップは、実施の形態における電力効率計算処理に対応する。また、抽出ステップは、実施の形態における外部変数抽出処理に対応する。また、実行ステップは、実施の形態における実行ログ生成処理に対応する。
また、第1計算部は、実施の形態における外部影響力計算部に対応する。また、第2計算部は、実施の形態における電力計算部に対応する。また、評価部は、実施の形態における電力効率計算部に対応する。また、抽出部は、実施の形態における外部変数抽出部に対応する。また、実行ステップは、実施の形態におけるデバッガに対応する。
また、本実施の形態に係るプログラムの評価装置は、情報処理装置に容易に適用することができ、情報処理装置の性能をより高めることができる。ここで、情報処理装置には、例えばPC(Personal Computer)、サーバ、ワークステーション等が含まれ得る。
更に、プログラムの評価装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、プログラムの評価プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、プログラムの評価装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
(付記1) 評価対象プログラムの評価をコンピュータに実行させる、プログラムの評価プログラムであって、
前記評価対象プログラムの実行ログに基づいて、前記評価対象プログラム内のモジュールである対象モジュールが該対象モジュールの外部へ及ぼす影響の大きさを示す値である第1パラメータを計算する第1計算ステップと、
前記実行ログに基づいて、前記対象モジュールの実行による消費電力に関する値である第2パラメータを計算する第2計算ステップと、
前記第1パラメータ及び前記第2パラメータに基づいて、前記対象モジュールの評価を行い、該評価結果を出力する評価ステップと、
をコンピュータに実行させるプログラムの評価プログラム。
(付記2) 付記1に記載のプログラムの評価プログラムにおいて、
前記対象モジュールの外部で用いられる変数を外部変数とし、
前記第1計算ステップは、前記対象モジュールにおける前記外部変数の書き込みまたは読み出しの命令毎に所定の加算値を累積し、該累積の結果を前記対象モジュールの前記第1パラメータとすることを特徴とするプログラムの評価プログラム。
(付記3) 付記2に記載のプログラムの評価プログラムにおいて、
前記加算値は、変数の種類毎に設定されることを特徴とするプログラムの評価プログラム。
(付記4) 付記2または付記3に記載のプログラムの評価プログラムにおいて、
前記第1計算ステップは、設定された外部変数の条件と前記実行ログとに基づいて、前記外部変数を検出することを特徴とするプログラムの評価プログラム。
(付記5) 付記2乃至付記4のいずれかに記載のプログラムの評価プログラムにおいて、
更に、前記第1計算ステップの前に、前記評価対象プログラムの構文解析により前記外部変数を抽出する抽出ステップをコンピュータに実行させることを特徴とするプログラムの評価プログラム。
(付記6) 付記5に記載のプログラムの評価プログラムにおいて、
前記抽出ステップは、前記対象モジュールの変数について、該変数の定義、該変数のアドレスの参照先、該変数が関数の戻り値であること、の少なくともいずれかに基づいて、前記外部変数であるか否かの判定を行うことを特徴とするプログラムの評価プログラム。
(付記7) 付記2乃至付記6のいずれかに記載のプログラムの評価プログラムにおいて、
更に、前記第1計算ステップの前に、前記評価対象プログラムの実行を行うことにより、実行ログを生成する実行ステップをコンピュータに実行させることを特徴とするプログラムの評価プログラム。
(付記8) 付記7に記載のプログラムの評価プログラムにおいて、
前記実行ステップは、前記実行により命令毎のターゲットアドレスを取得し、該命令と該命令のターゲットアドレスと設定された外部変数の条件とに基づいて前記外部変数の書き込みまたは読み出しの命令の検出を行い、該検出結果を実行ログに記録することを特徴とするプログラムの評価プログラム。
(付記9) 付記4または付記8に記載のプログラムの評価プログラムにおいて、
前記外部変数の条件は、アドレスの範囲であることを特徴とするプログラムの評価プログラム。
(付記10) 付記1乃至付記9のいずれかに記載のプログラムの評価プログラムにおいて、
前記第2計算ステップは、前記対象モジュールにおいて命令毎に設定された消費電力を累積し、該累積の結果を前記対象モジュールの前記第2パラメータとすることを特徴とするプログラムの評価プログラム。
(付記11) 付記1乃至付記10のいずれかに記載のプログラムの評価プログラムにおいて、
前記評価ステップは、前記対象モジュールの前記第1パラメータを前記対象モジュールの前記第2パラメータで除算し、該除算の結果を前記対象モジュールの評価結果として出力することを特徴とするプログラムの評価プログラム。
(付記12) 付記1乃至付記11のいずれかに記載のプログラムの評価プログラムにおいて、
前記評価ステップは、前記第1パラメータ、前記第2パラメータ、前記評価結果の少なくともいずれかを用いて、複数の対象モジュールの比較を行うことを特徴とするプログラムの評価プログラム。
(付記13) 付記1乃至付記12のいずれかに記載のプログラムの評価プログラムにおいて、
前記第1計算ステップは、前記対象モジュールの第1パラメータと、該対象モジュールに呼び出されるモジュールの第1パラメータとを計算し、
前記第2計算ステップは、前記対象モジュールの第2パラメータと、該対象モジュールに呼び出されるモジュールの第2パラメータとを計算し、
前記第3計算ステップは、前記対象モジュールの評価結果と、該対象モジュールに呼び出されるモジュールの評価結果とを出力することを特徴とするプログラムの評価プログラム。
(付記14) 評価対象プログラムの評価を行う、プログラムの評価装置であって、
前記評価対象プログラムの実行ログに基づいて、前記評価対象プログラム内のモジュールである対象モジュールが該対象モジュールの外部へ及ぼす影響の大きさを示す値である第1パラメータを計算する第1計算部と、
前記実行ログに基づいて、前記対象モジュールの実行による消費電力に関する値である第2パラメータを計算する第2計算部と、
前記第1パラメータ及び前記第2パラメータに基づいて、前記対象モジュールの評価を行い、該評価結果を出力する評価部と、
を備えるプログラムの評価装置。
(付記15) 付記14に記載のプログラムの評価装置において、
前記対象モジュールの外部で用いられる変数を外部変数とし、
前記第1計算部は、前記対象モジュールにおける前記外部変数の書き込みまたは読み出しの命令毎に所定の加算値を累積し、該累積の結果を前記対象モジュールの前記第1パラメータとすることを特徴とするプログラムの評価装置。
(付記16) 付記15に記載のプログラムの評価装置において、
更に、前記評価対象プログラムの構文解析により前記外部変数を抽出する抽出部を備えることを特徴とするプログラムの評価装置。
(付記17) 付記14乃至付記16のいずれかに記載のプログラムの評価装置において、
更に、前記評価対象プログラムの実行を行うことにより、実行ログを生成する実行部を備えることを特徴とするプログラムの評価装置。
(付記18) 付記14乃至付記17のいずれかに記載のプログラムの評価装置において、
前記第2計算部は、前記対象モジュールにおいて命令毎に設定された消費電力を累積し、該累積の結果を前記対象モジュールの前記第2パラメータとすることを特徴とするプログラムの評価装置。
(付記19) 付記14乃至付記18のいずれかに記載のプログラムの評価装置において、
前記評価部は、前記対象モジュールの前記第1パラメータを前記対象モジュールの前記第2パラメータで除算し、該除算の結果を前記対象モジュールの評価結果として出力することを特徴とするプログラムの評価装置。
(付記20) 評価対象プログラムの評価を行う、プログラムの評価方法であって、
前記評価対象プログラムの実行ログに基づいて、前記評価対象プログラム内のモジュールである対象モジュールが該対象モジュールの外部へ及ぼす影響の大きさを示す値である第1パラメータを計算する第1計算ステップと、
前記実行ログに基づいて、前記対象モジュールの実行による消費電力に関する値である第2パラメータを計算する第2計算ステップと、
前記第1パラメータ及び前記第2パラメータに基づいて、前記対象モジュールの評価を行い、該評価結果を出力する評価ステップと、
を実行するプログラムの評価方法。
実施の形態1に係るプログラム評価装置の構成の一例を示すブロック図である。 実施の形態1に係る外部変数情報テーブルの一例を示す表である。 実施の形態1に係る実行ログの一例を示す図である。 実施の形態1に係る外部影響力計算処理の動作の一例を示すPADである。 実施の形態1に係る外部影響力計算処理の動作の一例を示す概念図である。 実施の形態1に係るモジュールAの電力効率計算処理結果の一例を示す図である。 実施の形態1に係るモジュールBの電力効率計算処理結果の一例を示す図である。 実施の形態1に係る電力プロファイルの一例を示す図である。 実施の形態2に係るプログラム評価装置の構成の一例を示すブロック図である。 実施の形態2に係る外部変数抽出処理の動作の一例を示すPADである。 実施の形態2に係る外部変数登録処理の動作の一例を示すPADである。 実施の形態3に係る外部影響度テーブルの一例を示す表である。 実施の形態3に係る外部影響力計算処理の動作の一例を示すPADである。 実施の形態4に係る外部影響力計算処理の動作の一例を示すPADである。 実施の形態4に係るモジュールBの電力効率計算処理結果の一例を示す図である。 実施の形態5に係るプログラム評価装置の構成の一例を示すブロック図である。 従来のデバッガにより出力される実行ログの一例を示す図である。 実施の形態5に係るデバッガにより出力される実行ログの一例を示す図である。
符号の説明
13,33,53 外部影響力計算部、14 電力計算部、15 電力効率計算部、21,41 外部変数情報記憶部、22,62 実行ログ記憶部、23 外部影響力記憶部、24 電力情報記憶部、25 電力プロファイル記憶部、31 外部変数抽出部、40 プログラム記憶部、52 デバッガ。

Claims (4)

  1. 評価対象プログラムの評価をコンピュータに実行させるための、プログラムの評価プログラムであって、
    前記コンピュータを、
    前記評価対象プログラムの実行により生成された実行命令を含む実行ログと、前記評価対象プログラムにおける1又は2以上のサブルーチンである対象モジュール内の変数が前記評価対象プログラム内の該対象モジュール以外の部分で用いられる外部変数であるか否かを示す情報が記憶されたテーブルとに基づいて、前記対象モジュール内の変数が外部変数であるか否かを判断し、該変数が前記外部変数である場合に所定の値を累積し、該累積の結果を前記対象モジュールが前記評価対象プログラム内の該対象モジュール以外の部分に及ぼす影響の大きさを示す値である第1パラメータとする計算をする第1計算部と
    前記実行ログと、予め設定された命令の種類毎の実行による消費電力とに基づいて、前記対象モジュールの実行における命令毎の消費電力を累積し、該累積の結果を前記対象モジュールの実行による消費電力に関する値である第2パラメータとする計算をする第2計算部と
    前記第1パラメータと前記第2パラメータとの対数をとることにより、前記対象モジュールの電力効率を計算し、前記電力効率による前記対象モジュールの評価を行い、該評価結果を出力する評価部
    として機能させるためのプログラムの評価プログラム
  2. 請求項1に記載のプログラムの評価プログラムにおいて、
    更に、前記コンピュータを、前記第1パラメータの計算前に、前記評価対象プログラムの構文解析により前記外部変数を抽出する抽出
    として機能させることを特徴とするプログラムの評価プログラム。
  3. 評価対象プログラムの評価を行う、プログラムの評価装置であって、
    前記評価対象プログラムの実行により生成された実行命令を含む実行ログと、前記評価対象プログラムにおける1又は2以上のサブルーチンである対象モジュール内の変数が前記評価対象プログラム内の該対象モジュール以外の部分で用いられる外部変数であるか否かを示す情報が記憶されたテーブルとに基づいて、前記対象モジュール内の変数が外部変数であるか否かを判断し、該変数が前記外部変数である場合に所定の値を累積し、該累積の結果を前記対象モジュールが前記評価対象プログラム内の該対象モジュール以外の部分に及ぼす影響の大きさを示す値である第1パラメータとする計算をする第1計算部と、
    前記実行ログと、予め設定された命令の種類毎の実行による消費電力とに基づいて、前記対象モジュールの実行における命令毎の消費電力を累積し、該累積の結果を前記対象モジュールの実行による消費電力に関する値である第2パラメータとする計算をする第2計算部と、
    前記第1パラメータと前記第2パラメータとの対数をとることにより、前記対象モジュールの電力効率を計算し、該電力効率による前記対象モジュールの評価を行い、該評価結果を出力する評価部と、
    を備えるプログラムの評価装置。
  4. 第1計算部、第2計算部、及び評価部として機能し評価対象プログラムの評価を行う評価装置により実行される、プログラムの評価方法であって、
    前記第1計算部が、前記評価対象プログラムの実行により生成された実行命令を含む実行ログと、前記評価対象プログラムにおける1又は2以上のサブルーチンである対象モジュール内の変数が前記評価対象プログラム内の該対象モジュール以外の部分で用いられる外部変数であるか否かを示す情報が記憶されたテーブルとに基づいて、前記対象モジュール内の変数が外部変数であるか否かを判断し、該変数が前記外部変数である場合に所定の値を累積し、該累積の結果を前記対象モジュールが前記評価対象プログラム内の該対象モジュール以外の部分に及ぼす影響の大きさを示す値である第1パラメータとする計算をする第1計算ステップと、
    前記第2計算部が、前記実行ログと、予め設定された命令の種類毎の実行による消費電力とに基づいて、前記対象モジュールの実行における命令毎の消費電力を累積し、該累積の結果を前記対象モジュールの実行による消費電力に関する値である第2パラメータとする計算をする第2計算ステップと、
    前記評価部が、前記第1パラメータと前記第2パラメータとの対数をとることにより、前記対象モジュールの電力効率を計算するステップと、
    前記評価部が、前記電力効率による前記対象モジュールの評価を行い、該評価結果を出力する評価ステップと、
    を有するプログラムの評価方法。
JP2007018052A 2007-01-29 2007-01-29 プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法 Expired - Fee Related JP5045122B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007018052A JP5045122B2 (ja) 2007-01-29 2007-01-29 プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法
US12/020,848 US8171496B2 (en) 2007-01-29 2008-01-28 Program evaluation program, program evaluation device, and program evaluation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007018052A JP5045122B2 (ja) 2007-01-29 2007-01-29 プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法

Publications (2)

Publication Number Publication Date
JP2008186163A JP2008186163A (ja) 2008-08-14
JP5045122B2 true JP5045122B2 (ja) 2012-10-10

Family

ID=39669451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007018052A Expired - Fee Related JP5045122B2 (ja) 2007-01-29 2007-01-29 プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法

Country Status (2)

Country Link
US (1) US8171496B2 (ja)
JP (1) JP5045122B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5890988B2 (ja) * 2011-09-15 2016-03-22 株式会社ダイヘン 産業用ロボットの消費電力モニタ装置
WO2013158134A2 (en) 2012-04-18 2013-10-24 Ney-Li Funding, Llc Sensing and control for improving switched power supplies
US9710863B2 (en) * 2013-04-19 2017-07-18 Strategic Patent Management, Llc Method and apparatus for optimizing self-power consumption of a controller-based device
JP6228824B2 (ja) * 2013-11-29 2017-11-08 株式会社Nttドコモ 解析装置、解析システム、プログラムおよび解析装置の制御方法
WO2017017836A1 (ja) * 2015-07-30 2017-02-02 株式会社日立製作所 運用自動化装置及び方法並びに記憶媒体
CN110866663A (zh) * 2018-08-27 2020-03-06 中国石油天然气股份有限公司 注水替油选井评价方法、装置及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259244A (ja) * 1993-03-08 1994-09-16 Toshiba Corp ソフトウェア保守支援装置
JPH11232147A (ja) * 1998-02-16 1999-08-27 Toshiba Corp パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体
GB2373886A (en) 2001-03-28 2002-10-02 Hewlett Packard Co User selectable power management of software applications
US20020194511A1 (en) * 2001-06-18 2002-12-19 Swoboda Gary L. Apparatus and method for central processing unit power measurement in a digital signal processor
US6820222B2 (en) * 2001-08-08 2004-11-16 Texas Instruments Incorporated Apparatus and method for processor power measurement in a digital signal processor using trace data and simulation techniques
US6898718B2 (en) * 2001-09-28 2005-05-24 Intel Corporation Method and apparatus to monitor performance of a process
US20040268159A1 (en) 2003-06-30 2004-12-30 Microsoft Corporation Power profiling
JP2005025786A (ja) * 2004-10-04 2005-01-27 Toshiba Corp ログ解析方法、ログ解析プログラム
US20070198864A1 (en) * 2006-02-21 2007-08-23 Toshiba America Electronic Components Systems and methods for determining and using power profiles for software programs executing on data processors

Also Published As

Publication number Publication date
JP2008186163A (ja) 2008-08-14
US8171496B2 (en) 2012-05-01
US20080184263A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
JP5045122B2 (ja) プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法
Bazzaz et al. An accurate instruction-level energy estimation model and tool for embedded systems
Gordon-Ross et al. Frequent loop detection using efficient non-intrusive on-chip hardware
JP5311234B2 (ja) 計算機システムとその動作方法
JP2005018760A (ja) アプリケーションのプロファイリングを容易にするシステムおよび方法
US20140359634A1 (en) Information processing method and information processing apparatus
US20080295113A1 (en) Managing memory resident objects to optimize a runtime environment
CN108664367B (zh) 一种基于处理器的功耗控制方法及装置
US20110016455A1 (en) Power Profiling for Embedded System Design
JP2007286671A (ja) ソフトウェア/ハードウェア分割プログラム、および分割方法。
KR20180096780A (ko) 코어 트레이스로부터 데이터 마이닝을 하기 위한 방법 및 장치
Dietrich et al. Managing power for closed-source android os games by lightweight graphics instrumentation
CN111989655B (zh) 一种soc芯片、确定热点函数的方法及终端设备
US20140149968A1 (en) Dynamic library profiling method and dynamic library profiling system
US7739672B2 (en) Information processor, information processing method, and programs therefor
Ibrahim et al. Characterizing the relation between Apex-Map synthetic probes and reuse distance distributions
WO2020180419A1 (en) Security-adaptive code execution
Ostadzadeh et al. Quad–a memory access pattern analyser
JPWO2008107936A1 (ja) ソフトウェア最適化装置、および最適化方法
Kunkel et al. Understanding hardware and software metrics with respect to power consumption
JP2008191813A (ja) ファイル重要度判定装置、ファイル重要度判定方法およびファイル重要度判定プログラム
Tabkhi et al. Application-specific power-efficient approach for reducing register file vulnerability
JP2005215816A (ja) ハードウェアモニタを用いた性能プロファイリング方法
Hardy et al. Predictable code and data paging for real time systems
Kim et al. WCET-aware stack frame management of embedded systems using scratchpad memories

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120525

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120604

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

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

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

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees