(57)【要約】      （修正有）【課題】アプリケーションコードに対する追加・修正を行うことなく、ソースコードの実行に関する統計を生成する。【解決手段】アプリケーションソースコードに基づいて、アプリケーションオブジェクトコードを生成する（３１０）。実行ブレークポイントのような実行検出手段を、各オブジェクトコード該当部分に関連付ける（３１５）。アプリケーションオブジェクトコードの一部分を実行する（３２０）。実行ブレークポイントに到達した時点で、オブジェクトコード該当部分に対応するソースコード該当部分に、実行イベントが関連付けられる（３３０）。実行イベントを用いて、ソースコード該当部分の実行（３２０）をソースコードビューア及び／又は実行メータ等のグラフィカルユーザインタフェースの形で通知する（３５０）。【選択図】図３
2012027912.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションソースコード（４０５）の実行通知に用いるシステムであって、
前記アプリケーションソースコード中のソースコード該当部分の通知を受け取るように構成された入力インタフェース（１３０）であって、前記アプリケーションソースコードは、複数の操作を記述する複数の人間可読ステートメント（５３５）を少なくとも含む、前記入力インタフェース（１３０）と、
前記入力インタフェースと結合されたプロセッサ（１１５）であって、
前記アプリケーションソースコードに基づいてアプリケーションオブジェクトコードを生成するステップ（３１０）であって、前記アプリケーションオブジェクトコード（４２０）は、複数のコンピュータ実行可能命令と、前記ソースコード該当部分に対応するオブジェクトコード該当部分とを少なくとも含むステップ（３１０）と、
前記オブジェクトコード該当部分に実行ブレークポイント（４３０）を関連付けるステップと、
前記オブジェクトコード該当部分が実行されたことに基づいて、前記実行ブレークポイントを無効にし、メモリ装置（１１０）内の対応するソースコード該当部分に実行イベント（４３５）を関連付けるステップと、を行うようにプログラムされたプロセッサ（１１５）と、
を備えるシステム。
【請求項２】
前記関連付けられた実行イベント（４３５）に基づいて、前記ソースコード該当部分が実行されたことを通知するように構成されたプレゼンテーションインターフェース（１２０）を更に備える、請求項１に記載のシステム。
【請求項３】
前記ソースコード該当部分が更に、第１のソースコード該当部分であり、前記プレゼンテーションインターフェース（１２０）は、前記第１のソースコード該当部分と、実行されなかったアプリケーションオブジェクトコード（４２０）に対応する第２のソースコード該当部分とをグラフィカルに区別するように構成された、請求項２に記載のシステム。
【請求項４】
前記オブジェクトコード該当部分が、前記アプリケーションオブジェクトコード（４２０）の第１の部分であり、前記プレゼンテーションインターフェース（１２０）は、前記プロセッサ（１１５）が前記アプリケーションオブジェクトコードの第２の部分を実行する間に、前記第１のオブジェクトコード該当部分に対応する前記ソースコード該当部分が実行されたことを通知するように構成された、請求項２に記載のシステム。
【請求項５】
前記入力インタフェース（１３０）が、前記プロセッサ（１１５）が前記アプリケーションオブジェクトコード（４２０）を実行する間に、前記ソースコード該当部分の通知を受け取るように構成され、前記プロセッサが更に、前記アプリケーションオブジェクトコードの実行を終了することなく、前記オブジェクトコード該当部分に前記実行ブレークポイント（４３０）を関連付けるようにプログラムされた、請求項１に記載のシステム。
【請求項６】
前記入力インタフェース（１３０）が、前記アプリケーションソースコード中の１つの人間可読ステートメント（５３５）に対応する少なくとも１つのソースコード該当部分の通知を受け取るように構成された、請求項１に記載のシステム。
【請求項７】
アプリケーションソースコード（４０５）の実行通知に用いるシステムであって、
アプリケーションソースコード及びアプリケーションオブジェクトコード（４２０）を格納するように構成されたメモリ装置（１１０）であって、前記アプリケーションソースコードは、複数の操作を記述する複数の人間可読ステートメント（５３５）を少なくとも含み、前記アプリケーションオブジェクトコードは、前記複数の人間可読ステートメントに対応する複数のコンピュータ実行可能命令を少なくとも含む、前記メモリ装置（１１０）と、
前記メモリ装置と結合されたプロセッサ（１１５）であって、
前記アプリケーションソースコード中の複数のソースコード該当部分の各ソースコード該当部分に対応するオブジェクトコード該当部分を決定するステップと、
前記複数のオブジェクトコード該当部分の各オブジェクトコード該当部分に実行ブレークポイント（４３０）を関連付けるステップと、
前記アプリケーションオブジェクトコードを実行するステップと、
各実行ブレークポイントについて、前記関連付けられたオブジェクトコード該当部分が実行されると、前記実行ブレークポイントを無効にし、前記オブジェクトコード該当部分に対応する、前記メモリ装置内のソースコード該当部分に実行イベント（４３５）を関連付けるステップと、を行うようにプログラムされたプロセッサ（１１５）と、
を備えるシステム。
【請求項８】
前記プロセッサ（１１５）と結合された、前記複数のソースコード該当部分の通知を受け取るように構成された入力インタフェース（１３０）を更に備え、各ソースコード該当部分は、前記アプリケーションソースコード（４０５）中の前記複数の人間可読ステートメントの中の１つの人間可読ステートメント（５３５）に対応する、請求項７に記載のシステム。
【請求項９】
前記入力インタフェース（１３０）が、ネットワーク（２２０）通信装置を備える、請求項８に記載のシステム。
【請求項１０】
前記入力インタフェース（１３０）が更に、前記アプリケーションソースコード（４０５）中の前記複数の人間可読ステートメントの各人間可読ステートメント（５３５）がソースコード該当部分であることの通知を受け取ることにより、前記複数のソースコード該当部分の通知を受け取るように構成された、請求項８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示の主題は、概してアプリケーションソースコード管理に関し、特に、人間可読ソースコードの実行の検出及び通知に用いるシステム及び方法に関する。
【背景技術】
【０００２】
少なくとも一部の既知のコンピュータシステムでは、テストコードを用い、所定入力及び期待出力に基づいて、アプリケーションコードを自動的に実行する。また、一部の既知のシステムでは、テスト中にアプリケーションコードの実行をトラッキングし、どの部分のソースコードが実行されたかを通知する統計及び／又は報告を生成する。こうした報告を「コードカバレッジ報告」ともいう。
【０００３】
一般に、既知の実行トラッキングシステム及び実行トラッキング方法は、アプリケーションコードに対する修正及び／又は追加を必要とする。しかし、アプリケーションコードに対して修正及び／又は追加を行うことは、時間の投資が必要な上、実行速度及び／又は関連アプリケーションの挙動に悪影響を及ぼす可能性がある。結果として、テストが遅延する可能性がある。また、アプリケーションに対する悪影響の深刻度によっては、実行速度が肝要である実際の、即ち「本番」の状況（ｌｉｖｅ  ｏｒ  “ｐｒｏｄｕｃｔｉｏｎ”  ｃｏｎｔｅｘｔ）での使用に対して、既知のトラッキングシステムが不当であるとみなされることがある。更に、コードカバレッジ報告は、全てのテストコードの実行が完了しない限り生成されないので、コードカバレッジ報告を待つことで、更なる遅延が発生することがある。
【０００４】
更に、既存のシステムは、アプリケーションコード中の関心部分（該当部分）の静的な前処理定義（ｓｔａｔｉｃ，ｐｒｅ−ｅｘｅｃｕｔｉｏｎ  ｄｅｆｉｎｉｔｉｏｎ）に依存することがあるが、このようなシステムにおいて、実行をトラッキングする該当部分を修正するには、ユーザがアプリケーションを終了及び再実行する必要がある。更に、既存の方法は、或るコード部分が実行されたかどうかをバイナリ形式で通知することにのみ限定されており、滅多に実行されないコードと頻繁に実行されるコードとを区別できない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第７５０３０３７Ｂ２号
【発明の概要】
【課題を解決するための手段】
【０００６】
課題を解決するための手段では、下記の発明を実施するための形態で更に詳説する概念を抜粋して簡潔に説明する。課題を解決するための手段では、特許請求の主題の重要な特徴又は必須の特徴を特定することも、特許請求の主題の範囲を決定する一助として使用されることも意図していない。
【０００７】
一態様において、アプリケーションソースコードの実行通知に用いるシステムを提供する。本システムは、アプリケーションソースコード中のソースコード該当部分の通知を受け取るように構成された入力インタフェースを含む。アプリケーションソースコードは、複数の操作を記述する複数の人間可読ステートメントを少なくとも含む。本システムはまた、入力インタフェースと結合された、アプリケーションソースコードに基づいてアプリケーションオブジェクトコードを生成するようにプログラムされたプロセッサを含む。アプリケーションオブジェクトコードは、複数のコンピュータ実行可能命令と、ソースコード該当部分に対応するオブジェクトコード該当部分とを少なくとも含む。プロセッサはまた、オブジェクトコード該当部分に実行ブレークポイントを関連付けることと、そのオブジェクトコード該当部分が実行されたことに基づいて、当該実行ブレークポイントを無効にし、メモリ装置内の対応するソースコード該当部分に実行イベントを関連付けることと、を行うようにプログラムされる。
【０００８】
別の態様において、アプリケーションソースコードの実行通知に用いるシステムを提供する。本システムは、アプリケーションソースコード及びアプリケーションオブジェクトコードを格納するように構成されたメモリ装置を含む。アプリケーションソースコードは、複数の操作を記述する複数の人間可読ステートメントを少なくとも含み、アプリケーションオブジェクトコードは、それら複数の人間可読ステートメントに対応する複数のコンピュータ実行可能命令を少なくとも含む。本システムはまた、メモリ装置と結合された、アプリケーションソースコード中の複数のソースコード該当部分の各ソースコード該当部分に対応する、オブジェクトコード該当部分を決定するようにプログラムされたプロセッサを含む。プロセッサはまた、複数のオブジェクトコード該当部分の各オブジェクトコード該当部分に実行ブレークポイントを関連付けることと、アプリケーションオブジェクトコードを実行することと、を行うようにプログラムされる。プロセッサは更に、各実行ブレークポイントについて、関連付けられたオブジェクトコード該当部分が実行されると、実行ブレークポイントを無効にし、オブジェクトコード該当部分に対応する、前記メモリ装置内のソースコード該当部分に実行イベントを関連付けるようにプログラムされる。
【０００９】
更に別の態様において、アプリケーションソースコードの実行通知に用いる方法を提供する。本方法は、アプリケーションソースコード中の複数のソースコード該当部分の通知を、入力インタフェースを介して受け取るステップを含む。アプリケーションオブジェクトコードは、プロセッサによって、アプリケーションソースコードに基づいて生成される。アプリケーションオブジェクトコードは、複数のコンピュータ実行可能命令と、ソースコード該当部分に対応する複数のオブジェクトコード該当部分とを少なくとも含む。これら複数のオブジェクトコード該当部分の各オブジェクトコード該当部分には、プロセッサが、実行ブレークポイントを関連付ける。各実行ブレークポイントについて、関連付けられたオブジェクトコード該当部分が実行されると、その実行ブレークポイントを無効にし、オブジェクトコード該当部分に対応する、メモリ装置内のソースコード該当部分に実行イベントを関連付ける。
【００１０】
添付図面と併せて以下の説明を参照することにより、本明細書に記載の実施例をより深く理解できよう。
【図面の簡単な説明】
【００１１】
【図１】例示的なコンピューティング装置のブロック図である。
【図２】ネットワーク経由の通信で結合されたアプリケーションホスト装置、アプリケーション開発装置、及びアプリケーション監視装置を含む、例示的な実行トラッキングシステムのブロック図である。
【図３】１つ以上のソースコード該当部分の実行通知に用いる例示的な方法のフローチャートである。
【図４】図３に示した方法を用いるにあたり想到されるデータフローの一例である。
【図５】図２に示したシステムで使用可能な例示的なソースコードビューアである。
【図６】図２に示したシステムで使用可能な別のソースコードビューアである。
【図７】図２に示したシステムで使用可能な例示的な実行メータである。
【発明を実施するための形態】
【００１２】
本明細書に記載の実施例では、アプリケーションソースコードが実行されたかどうかの通知をオブジェクトコード形式で提供する。具体的に、幾つかの実施例では、アプリケーションの実行中に、アプリケーションソースコード内の該当部分が識別される。アプリケーションソースコードから生成されたアプリケーションオブジェクトコードが、アプリケーションソースコード内の該当部分に対応する該当部分を含む。アプリケーションオブジェクトコードの実行中に、オブジェクトコード該当部分が実行されると、対応するソースコード該当部分に対して実行イベントが記録される。例えば、実行イベントの記録は、実行のたびに、実行カウンタをインクリメントすることにより、且つ／又は離散的イベントを記憶すること（例えば、タイムスタンプを収録すること）により可能である。このように記録された実行イベントに基づいて、１つ以上のソースコード該当部分の実行が通知される。
【００１３】
本明細書で用いる用語「アプリケーションソースコード」は、コンピュータによって実行可能な操作を記述した人間可読ステートメントも包含する。人間可読ステートメントを表示又は印刷の形で表す際に必要な行数に関係なく、単一のステートメントを「コード行」、又は単に「行」と称することがある。機能的に関連する一群のステートメントは、メソッド（関数ともいう）として纏められる。関連する複数のメソッドは、クラスとして纏められ、関連する複数のクラスが、パッケージ又はモジュールとして纏められる。アプリケーション又はアプリケーションで使用されるライブラリによって、アプリケーションソースコードを複数のパッケージに含めることができる。アプリケーションソースコードは、メモリ装置内の１つ以上のファイルに格納される。例えば、各クラスが１つのファイルに対応するようにしてよい。
【００１４】
アプリケーションソースコードから、コンピュータ実行可能命令を含むアプリケーションオブジェクトコードが生成される。例えば、アプリケーションソースコードをコンパイル及び／又は変換して、アプリケーションオブジェクトコードを生成する。アプリケーションオブジェクトコードのコンピュータ実行可能命令は、アプリケーションソースコードのうちの人間可読ステートメントに対応する。人間可読ステートメントとは異なり、コンピュータ実行可能命令は、コンピュータのプロセッサによって、且つ／又はそのようなプロセッサで実行される「バーチャルマシン」によって直接実行可能である。アプリケーションソースコードは、人間可読ステートメントの他に、プロセッサ及び／又はバーチャルマシンによって実行されるアプリケーションオブジェクトコードに直接変換されるものではない、コメント、前処理指令、及び／又は注釈のようなコンテンツを含み得る。
【００１５】
本明細書に記載の実施例は、アプリケーションソースコード及びアプリケーションオブジェクトコードの中の該当部分に関する。ソースコード該当部分には、人間可読ステートメント、メソッド、クラス、及び／又はパッケージを含む。オブジェクトコード該当部分は、ソースコード該当部分に対応する１つ以上のコンピュータ実行可能命令を含む。
【００１６】
動作時には、プロセッサが、アプリケーションオブジェクトコードを実行することにより、ソフトウェアプログラム及び／又はアプリケーションを実行する。アプリケーションオブジェクトコードの実行中は、特定のオブジェクトコード該当部分の実行を監視及び／又は検出する。一実施例では、実行ブレークポイントを、オブジェクトコード該当部分のコンピュータ実行可能命令に関連付ける（例えば、コンピュータ実行可能命令の前に挿入する）。プロセッサは、実行ブレークポイントにおいてアプリケーションオブジェクトコードの実行を一時停止し、監視ユーティリティとして周知の別のアプリケーションが、オブジェクトコード該当部分の実行を認識する。例えば、実行ブレークポイントに到達したことをプロセッサが監視ユーティリティに通知するようにプロセッサをプログラムしてもよく、監視ユーティリティが、プロセッサに対して実行情報を繰り返し要求又は「ポーリング」してもよい。監視ユーティリティは、実行イベントをオブジェクトコード該当部分に関連付けてから、アプリケーションオブジェクトコードの実行を続行するよう、プロセッサに命令する。本明細書に記載の実施例は、実行ブレークポイントを使用するものとして記述されているが、オブジェクトコード該当部分の実行を検出及び／又は監視する任意の手段を適用した動作が可能であり、そのような手段としては、これらに限定されないが、実行イベントを生成するコンピュータ実行可能ステートメントを含むか、且つ／又は参照するように、アプリケーションオブジェクトコードを修正すること（例えば、インストルメンテーション）が挙げられる。
【００１７】
本明細書に記載の方法、システム、及び装置の例示的な技術的効果は、以下のうちの少なくとも１つを含む。（ａ）アプリケーションソースコード中の複数のソースコード該当部分の通知を、入力インタフェースを介して受け取る。（ｂ）プロセッサにより、アプリケーションソースコードに基づいて、アプリケーションオブジェクトコードを生成する（但し、アプリケーションオブジェクトコードは、複数のコンピュータ実行可能命令と、ソースコード該当部分に対応する複数のオブジェクトコード該当部分とを含む）。（ｃ）プロセッサにより、複数のオブジェクトコード該当部分の各オブジェクトコード該当部分に実行ブレークポイントを関連付ける。（ｄ）各実行ブレークポイントについて、関連付けられたオブジェクトコード該当部分が実行されると、その実行ブレークポイントを無効にし、そのオブジェクトコード該当部分に対応する、メモリ装置内のソースコード該当部分に実行イベントを関連付ける。ブレークポイントを無効にすることにより、アプリケーションの実行速度に対する実行トラッキングの影響を排除又は軽減できる。
【００１８】
図１は、例示的なコンピューティング装置１０５のブロック図である。コンピューティング装置１０５は、メモリ装置１１０と、メモリ装置１１０に結合された、命令を実行するプロセッサ１１５とを含む。一部の実施例では、実行可能命令がメモリ装置１１０に格納される。コンピューティング装置１０５は、プロセッサ１１５をプログラムすることにより、本明細書に記載の１つ以上の操作を実行するように構成可能である。例えば、プロセッサ１１５のプログラミングは、操作を１つ以上の実行可能命令としてエンコードし、それらの実行可能命令をメモリ装置１１０に与えることにより行われる。プロセッサ１１５は、（例えばマルチコア構成では）１つ以上の処理ユニットを含む。
【００１９】
メモリ装置１１０は、実行可能命令及び／又はその他のデータ等の情報の格納及び取り出しを可能にする１つ以上の装置である。メモリ装置１１０は、１つ以上のコンピュータ可読媒体を含み、これらに限定されないが、動的ランダムアクセスメモリ（ＤＲＡＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、ソリッドステートディスク、及び／又はハードディスクを含む。メモリ装置１１０は、これらに限定されないが、アプリケーションソースコード、アプリケーションオブジェクトコード、ソースコード該当部分、オブジェクトコード該当部分、構成データ、実行イベント、及び／又は他の任意のタイプのデータを格納するように構成される。
【００２０】
一部の実施例において、コンピューティング装置１０５は、プロセッサ１１５と結合されたプレゼンテーションインターフェース１２０を含む。プレゼンテーションインターフェース１２０は、アプリケーションソースコード及び／又は実行イベント等の情報をユーザ１２５に提示する。例えば、プレゼンテーションインターフェース１２０は、ディスプレイアダプタ（図１では図示せず）を含み、ディスプレイアダプタは、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、有機ＬＥＤ（ＯＬＥＤ）ディスプレイ、及び／又は「電子インク」ディスプレイなどのディスプレイ装置と結合可能である。一部の実施例において、プレゼンテーションインターフェース１２０は、１つ以上のディスプレイ装置を含む。それに加えて、又はその代わりに、プレゼンテーションインターフェース１２０は、プリンタを含み得る。一部の実施例において、プレゼンテーションインターフェース１２０は、１つ以上のソースコード該当部分の実行を、それらのソースコード該当部分に関連付けられた実行イベントに基づいて通知する。例えば、プレゼンテーションインターフェース１２０を、後で詳述するように、ソースコードビューア及び／又は実行メータを表示するように構成可能である。
【００２１】
一部の実施例において、コンピューティング装置１０５は、ユーザ入力インタフェース１３５又は通信インタフェース１４０などの入力インタフェース１３０を含む。入力インタフェース１３０は、アプリケーションソースコード中の１つ以上の該当部分の通知、及び／又は本明細書に記載の方法への適用に好適な任意の情報を受け取るように構成可能である。
【００２２】
本実施例において、ユーザ入力インタフェース１３５は、プロセッサ１１５と結合されており、ユーザ１２５からの入力を受け取る。ユーザ入力インタフェース１３５としては、例えば、キーボード、ポインティングデバイス、マウス、スタイラス、タッチパネル（例えば、タッチパッド又はタッチスクリーン）、ジャイロスコープ、加速度計、位置検出器、及び／又は音声ユーザ入力インタフェースなどが挙げられる。タッチスクリーンのように、１つのコンポーネントが、プレゼンテーションインターフェース１２０及びユーザ入力インタフェース１３５の両方のディスプレイ装置として機能する場合がある。
【００２３】
通信インタフェース１４０は、プロセッサ１１５と結合されており、別のコンピューティング装置１０５等の１つ以上の遠隔装置と通信接続するように構成されている。例えば、通信インタフェース１４０には、これに限定されないが、有線ネットワークアダプタ、無線ネットワークアダプタ、及び／又は移動通信アダプタが含まれる。通信インタフェース１４０はまた、１つ以上の遠隔装置にデータを送信できる。例えば、１つのコンピューティング装置１０５の通信インタフェース１４０が、１つ以上のソースコード該当部分の通知、及び／又は１つ以上の実行イベントを、別のコンピューティング装置１０５の通信インタフェース１４０に送信できる。
【００２４】
図２は、例示的システム２００のブロック図であり、システム２００は、ネットワーク２２０経由の通信で結合されたアプリケーションホスト装置２０５、アプリケーション開発装置２１０、及びアプリケーション監視装置２１５を含む。ネットワーク２２０としては、これらに限定されないが、インターネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、メッシュネットワーク、及び／又は仮想プライベートネットワーク（ＶＰＮ）が挙げられる。
【００２５】
アプリケーションホスト装置２０５、アプリケーション開発装置２１０、及びアプリケーション監視装置２１５は、（図１に示した）コンピューティング装置１０５である。本実施例において、各コンピューティング装置１０５は、通信インタフェース１４０を介してネットワーク２２０と結合されている。別の実施例において、アプリケーションホスト装置２０５は、アプリケーション開発装置２１０及び／又はアプリケーション監視装置２１５に組み込まれている。
【００２６】
アプリケーション開発装置２１０は、（例えば、ユーザ入力インタフェース１３５及び／又はプレゼンテーションインターフェース１２０を介して）アプリケーション開発者２２５と対話する。例えば、アプリケーション開発装置２１０は、アプリケーション開発者２２５からアプリケーションソースコードを受け取るように構成される。アプリケーション開発装置２１０は、アプリケーションソースコードを、ネットワーク２２０経由でアプリケーションホスト装置２０５に送信する。
【００２７】
アプリケーションホスト装置２０５は、アプリケーションソースコードを受信し、（例えば、メモリ装置１１０に）格納する。アプリケーションホスト装置２０５はまた、アプリケーションソースコードに基づいてアプリケーションオブジェクトコードを生成するように構成可能である。
【００２８】
アプリケーション監視装置２１５は、（例えば、ユーザ入力インタフェース１３５及び／又はプレゼンテーションインターフェース１２０を介して）アプリケーション監視者２３０と対話する。一実施例において、アプリケーション監視装置２１５は、１つ以上のソースコード該当部分の通知をアプリケーション監視者２３０から受け取り、ソースコード該当部分の通知をアプリケーションホスト装置２０５に送信する。例えば、アプリケーション監視者２３０が、アプリケーションソースコードの各人間可読ステートメントがソースコード該当部分であることの通知を入力する。
【００２９】
アプリケーションホスト装置２０５は、ソースコード該当部分の通知を受信し、アプリケーションオブジェクトコードを実行し、実行イベントをソースコード該当部分に関連付けるが、これらについては、図３及び図４を参照して詳述する。アプリケーションホスト装置２０５及び／又はアプリケーション監視装置２１５はまた、ソースコード該当部分の実行を通知する１つ以上のグラフィカルユーザインタフェースの生成及び／又は提示が可能である。
【００３０】
幾つかの実施例において、アプリケーション監視装置２１５は、アプリケーションホスト装置２０５から遠く離れている。例えば、アプリケーション監視装置２１５は、アプリケーションホスト装置２０５から地理的に離れたサポート施設に配置されている。こうした実施例では、遠隔で、ソースコード該当部分を定義し、実行イベントを監視することができる。例えば、アプリケーション監視者２３０は、アプリケーション監視者２３０の顧客が操作するアプリケーションホスト装置２０５における実際の実行アクティビティを遠隔監視できる。
【００３１】
図３は、１つ以上のソースコード該当部分の実行通知に用いる例示的な方法３００のフローチャートである。図４は、方法３００の使用で発生し得る例示的なデータフローの図４００である。図５〜７は、方法３００で使用する例示的なユーザインタフェースであり、これについては後で詳述する。
【００３２】
方法３００の各部分の実行は、例えば、システム２００のコンピューティング装置１０５の任意の１つ又は任意の組み合わせを用いて行われる。本実施例では、アプリケーションソースコード４０５の中の、１つ以上の該当部分（例えば、人間可読ステートメント、メソッド、クラス、及び／又はパッケージ）を決定する（３０５）。例えば、入力装置を介してソースコード該当部分の通知４１０を受け取ることにより、ソースコード該当部分を決定（３０５）する。通知４１０は、例えば、ユーザ入力装置から入力された、ソースコード該当部分の選択、所定の監視構成の選択、及び／又は監視構成ファイルを含み得る。それに加えて、又はその代わりに、ソースコード該当部分を、プロセッサが自動的に決定（３０５）してもよい。例えば、アプリケーションソースコード４０５又はアプリケーションソースコード４０５のサブセットの中の各人間可読ステートメントを、ソースコード該当部分として識別するように、プロセッサをプログラムできる。一実施例では、アプリケーションソースコード中の各人間可読ステートメントがソースコード該当部分である。
【００３３】
プロセッサによって実行されるバーチャルマシン４１５が、アプリケーションソースコード４０５に基づいて、アプリケーションオブジェクトコード４２０を生成する（３１０）。アプリケーションオブジェクトコード４２０は、複数のコンピュータ実行可能命令と、ソースコード該当部分に対応する複数のオブジェクトコード該当部分とを含む。例えば、オブジェクトコード該当部分は、アプリケーションソースコード４０５のうちの人間可読ステートメントに対応する１つ以上のコンピュータ実行可能命令を含む。一実施例において、バーチャルマシン４１５は、コンパイラ４２５を実行して、アプリケーションオブジェクトコード４２０を生成する（３１０）。
【００３４】
バーチャルマシン４１５は、実行ブレークポイント４３０のような実行検出手段を、各オブジェクトコード該当部分に関連付ける（３１５）。例えば、ソースコード該当部分に対応する各コンピュータ実行可能命令セット又はその前の場所にあるアプリケーションオブジェクトコード４２０に、実行ブレークポイント４３０を関連付ける。別の実施例において、バーチャルマシン４１５は、ソースコード該当部分に対応する各コンピュータ実行可能命令セット（又はその前）の場所にある所定のコンピュータ実行可能命令（例えば実行イベントロギング命令）を含むように、且つ／又は参照するようにアプリケーションオブジェクトコード４２０を修正することにより、実行検出手段を関連付ける（３１５）。
【００３５】
バーチャルマシン４１５は、アプリケーションオブジェクトコード４２０の一部分を少なくとも実行する（３２０）。実行（３２０）中、バーチャルマシン４１５は、オブジェクトコード該当部分の実行（３２０）がなされているか、保留されているか、且つ／又は、実行がなされようとしているかを判定する（３２５）。例えば、バーチャルマシン４１５は、実行ブレークポイント４３０に到達した時点で、アプリケーションオブジェクトコード４２０の実行（３２０）を一時停止できる。オブジェクトコード該当部分に対応するソースコード該当部分に、実行イベント４３５が関連付けられる（３３０）。一実施例では、ソースコード該当部分に関連付けられた実行イベント４３５がメモリ装置に格納され、実行（３２０）がなされた時刻、及び／又は対応するオブジェクトコード該当部分が実行された時刻を通知するタイムスタンプを含み得る。別の実施例において、各ソースコード該当部分は、メモリ装置にある実行（３２０）の数（「実行カウント」）に関連付けられ、ソースコード該当部分に実行イベント４３５を関連付ける（３３０）ことは、関連付けられた実行カウントをインクリメントすることを含む。実行イベント４３５は、アプリケーションデータ構造体、データベース内のレコード、構造化テキスト（例えば、拡張可能マークアップ言語）、プレーンテキスト（例えば、区切り値又は固定幅値）、及び／又は本明細書に記載の方法での使用に好適な他の任意の形式として生成可能である。
【００３６】
一部の実施例では、実行ブレークポイント４３０を無効にする（３３５）（例えば、非アクティブにする、及び／又は除去する）。実行イベント４３５がオブジェクトコード該当部分に関連付けられた時点で実行ブレークポイント４３０を無効にする（３３５）ことにより、アプリケーションオブジェクトコード４２０の実行（３２０）速度を高めることができる。例えば、バーチャルマシン４１５では、実行中のコンピュータ実行可能命令に関連付けられたブレークポイント４３０の存在に基づいて、オブジェクトコード該当部分の実行を確認（３２５）できる。そのような例では、ブレークポイント４３０を無効にする（３３５）ことによって、バーチャルマシン４１５は、せいぜい１つの実行イベント４３５をオブジェクトコード該当部分に関連付け（３３０）、そのオブジェクトコード該当部分のその後の実行（３２０）では関連付け（３３０）のステップを省略する。
【００３７】
その他の実施例では、オブジェクトコード該当部分が実行されるたびに、そのオブジェクトコード該当部分に実行イベント４３５を関連付ける（３３０）。こうした実施例では、オブジェクトコード該当部分が実行された頻度の算出が容易になる。これについては、後で詳述する。
【００３８】
バーチャルマシン４１５は、オブジェクトコード該当部分が実行されたかどうかにかかわらず、アプリケーションオブジェクトコード４２０の実行（３２０）が完了したかどうかを判定する（３４０）。例えば、実行（３２０）が完了したことになるのは、アプリケーションが入力データセットの処理を完了した後、アプリケーションが終了要求を受け取った後、且つ／又は、アプリケーションが致命的エラーに遭遇した後である。バーチャルマシン４１５が、実行（３２０）は完了していないと判定した（３４０）場合、バーチャルマシン４１５は、アプリケーションオブジェクトコード４２０の実行（３２０）を続行する。
【００３９】
アプリケーションオブジェクトコード４２０の実行（３２０）の途中又は後に、ソースコード該当部分の実行（３２０）が通知される（３５０）。一実施例において、実行イベント４３５を用いて、ソースコード該当部分の実行（３２０）をグラフィカルユーザインタフェースの形で通知する（３５０）。グラフィカルユーザインタフェースは、ソースコードビューア４４０及び／又は実行メータ４４５等で、プレゼンテーションインターフェースを介してユーザに対して表示される。ソースコードビューア４４０については、後で図５及び図６を参照して説明する。実行メータ４４５については、後で図７を参照して説明する。
【００４０】
一部の実施例では、ソースコード該当部分を、関連付けられた実行イベント４３５に基づいてグラフィカルに際立たせる。例えば、実行イベント４３５に関連付けられたソースコード該当部分を第１の背景色で表示し、実行イベント４３５に関連付けられていないソースコード該当部分を別の背景色で表示する。ソースコード該当部分に関連付けられた実行イベント４３５の数を調べるには、例えば、ソースコード該当部分に関連付けられた（例えば、タイムスタンプを含む）離散的実行イベントの数を調べるか、且つ／又は、ソースコード該当部分に関連付けられた実行カウントを識別する。
【００４１】
一部の実施例では、ソースコード該当部分の実行頻度を、アプリケーションオブジェクトコード形式で通知する。こうした実施例では、ソースコード該当部分への実行イベント４３５の関連付け（３３０）を、対応するオブジェクトコード該当部分が実行されるごとに（例えば、離散的実行イベントを生成することによって、且つ／又は、実行カウントをインクリメントすることによって）行う。３５０では、ソースコード該当部分に関連付けられた実行イベント４３５の数を通知する。一部の実施例では、実行イベントの絶対数を通知する（３５０）。例えば、１２個の実行イベントに関連付けられたソースコード該当部分については、１２回の実行が通知される（３５０）。
【００４２】
それに加えて、又はその代わりに、ソースコード該当部分の実行頻度を通知（３５０）してもよい。一部の実施例では、複数の実行頻度を定義する（３０２）。例えば、実行頻度を事前定義してメモリ装置に格納すること、且つ／又は、アプリケーションオブジェクトコード４２０の実行中に実行頻度を定義することができる。各実行頻度は、実行イベント数の範囲に対応する。実行頻度としては、例えば、ゼロ個の実行イベントに対応する、一度も実行されなかった頻度、１個の実行イベントに対応する、一度だけ実行された頻度、及び／又は、２個以上の実行イベントに対応する、繰り返し実行された頻度等があってよい。一実施例において、実行頻度は以下のように定義される。
【００４３】
【表１】
2012027912.tif 000003
上記の表では具体的な数の範囲を記載したが、任意の範囲の実行イベント数に対応する任意の数の実行頻度を定義する（３０２）ことができる。
【００４４】
ソースコード該当部分の実行を通知する（３５０）前に、各ソースコード該当部分に実行頻度を関連付ける（３４７）ことができる。例えば、ソースコード該当部分に関連付けられた実行カウント及び／又は実行イベント４３５の数に基づいて、実行頻度を確定できる。
【００４５】
一部の実施例では、バーチャルマシン４１５がアプリケーションオブジェクトコード４２０を実行する（３２０）間に、１つ以上のソースコード該当部分の実行を通知する（３５０）ように、プレゼンテーションインターフェースを構成する。例えば、プレゼンテーションインターフェースを、ソースコード該当部分の実行を繰り返し通知（３５０）し、ソースコード該当部分に関連付けられた実行イベントの数が増えるにつれて、グラフィカルインタフェースを更新するように構成する。更に、プレゼンテーションインターフェースを、バーチャルマシン４１５が第２のオブジェクトコード該当部分を実行する（３２０）間に、実行済みの第１のオブジェクトコード該当部分に対応する第１のソースコード該当部分の実行を通知するように構成する。
【００４６】
一部の実施例では、バーチャルマシン４１５がアプリケーションオブジェクトコード４２０を実行する（３２０）間に、１つ以上の該当部分の通知を受け取る（３０５）。バーチャルマシン４１５は、アプリケーションオブジェクトコード４２０の実行（３２０）を終了することなく、通知された該当部分に対応するアプリケーションオブジェクトコード４２０を生成（３１０）、且つ／又は、そのアプリケーションオブジェクトコード４２０にブレークポイント４３０を関連付ける（３１５）。例えば、バーチャルマシン４１５は、アプリケーションオブジェクトコード４２０の少なくとも一部分の実行（３２０）の一時停止、通知された該当部分に対応する１つ以上のクラスの再コンパイル及び／又は再ロード、及び／又はアプリケーションオブジェクトコード４２０の実行（３２０）の再開が可能である。
【００４７】
図５は、（図３に示した）方法３００による、（図２に示した）アプリケーション開発装置２１０及び／又はアプリケーション監視装置２１５等のコンピューティング装置に適用可能な例示的なソースコードビューア５００である。一実施例では、ソースコードビューア５００を使用して、（図１に示した）プレゼンテーションインターフェース１２０を介してアプリケーション監視者２３０に提示を行い、ユーザ入力インタフェース１３５を介してアプリケーション監視者２３０からの入力を受け取る。
【００４８】
ソースコードビューア５００は、要約ペイン５０５及び詳細ペイン５１０を含む。要約ペイン５０５は、ファイル中のアプリケーションソースコードの要約又は「サムネイル」画像５１５と、ファイル中の、詳細ペイン５１０に表示されている部分を示す表示部分インジケータ５２０とを含む。一実施例において、ファイルは、複数のソースコード該当部分（例えば、人間可読ステートメント、メソッド、及び／又はクラス）を含み、詳細ペイン５１０は、ソースコード該当部分のサブセットを含む。
【００４９】
要約ペイン５０５及び詳細ペイン５１０には、第１のメソッド５２５及び第２のメソッド５３０が含まれ、これらのそれぞれに１つ以上の人間可読ステートメント５３５が含まれている。第１のメソッド５２５は、第１の背景パターン５４０とともに表示され、第２のメソッド５３０は、第２の背景パターン５４５とともに表示されており、これらによって、第１のメソッド５２５と第２のメソッド５３０をグラフィカルに見分けることができる。第１の背景パターン５４０及び第２の背景パターン５４５は、要約ペイン５０５及び詳細ペイン５１０の両方に表示されている。
【００５０】
一実施例において、第１のメソッド５２５及び第２のメソッド５３０は、それぞれが、１つ以上の実行イベントに関連付けが可能なソースコード該当部分である。例えば、第１のメソッド５２５に対応する何らかのコンピュータ実行可能命令が実行された場合には、実行イベントが第１のメソッド５２５に関連付けられる。別の実施例では、各人間可読ステートメント５３５がソースコード該当部分である。第１のメソッド５２５に対する実行イベントの数は、第１のメソッド５２５の中の人間可読ステートメント５３５に関連付けられた実行イベントに基づいて決定される。例えば、第１のメソッド５２５に対する実行イベントの数は、第１のメソッド５２５の中の人間可読ステートメント５３５に関連付けられた実行イベントの合計値、平均値、最小値、及び／又は最大値に基づいて計算可能である。同様に、人間可読ステートメントに関連付けられた実行イベントを、クラス別、パッケージ別、及び／又はアプリケーション別に分類できる。
【００５１】
一実施例では、ソースコードビューア５００は、グラフィカルな区別（例えば、第１の背景パターン５４０及び第２の背景パターン５４５）を用いて、第１のメソッド５２５が１つ以上の実行イベントに関連付けられていて、第２のメソッド５３０が実行イベントに関連付けられていないことを示す。別の実施例では、そのようなグラフィカルな区別を用いて、第１のメソッド５２５及び第２のメソッド５３０が、異なる数の実行イベント及び／又は異なる実行頻度に関連付けられていることを示す。さらに別の実施例では、第１の背景パターン５４０が、第１のメソッド５２５が最近の実行イベント及び／又は現在実行中のオブジェクトコードに関連付けられていることを示す。例えば、最近の実行イベントは、現在時刻に先行する所定期間（例えば、１０秒、３０秒、６０秒、及び／又は３分）内における、実行カウントのインクリメント及び／又は離散的実行イベントの生成として定義することができる。更に、上述のグラフィカルな区別のメソッドを結合することも可能である。
【００５２】
一実施例において、ソースコードビューア５００は、アプリケーションオブジェクトコードの実行中に要約ペイン５０５及び／又は詳細ペイン５１０を繰り返し（例えば、定期的に、又は実行イベントの通知を受けて、又はユーザからの要求を受けて）更新する。このような実施例では、実行イベントに関連付けられていない第１のソースコード該当部分が、その後のある時点に初めて実行イベントに関連付けられた場合、第１のソースコード該当部分は、実行イベントに関連付けられないままの他のソースコード該当部分とグラフィカルに区別される。更に、所定期間だけ、第１のソースコード該当部分を、既に実行イベントに関連付けられていた他のソースコード該当部分とグラフィカルに区別するようにしてもよい。
【００５３】
図５に示したように、グラフィカルな区別は、背景パターンを適用することにより行われる。それに加えて、又はその代わりに、グラフィカルな区別は、色（例えば、背景色又は前景色）、線のパターン、線の太さ、書体、書体の太さ、アニメーション（例えば、退色及び／又は明滅）、近接配置したアイコン、及び／又は他の任意の、グラフィカルな要素どうしを区別する適当な手段を適用することによっても可能である。
【００５４】
図６は、（図３に示した）方法３００による、（図２に示した）アプリケーション開発装置２１０及び／又はアプリケーション監視装置２１５等のコンピューティング装置に適用可能な、第２の例示的ソースコードビューア６００である。ソースコードビューア６００は、ファイルのうち、アプリケーションソースコードを含む部分を示す詳細ペイン６０５を含む。具体的に、詳細ペイン６０５は、メソッド６１５の中の複数の人間可読ステートメント５３５を示している。各人間可読ステートメント５３５は、ソースコード該当部分を表す。
【００５５】
人間可読ステートメント５３５の隣には、対応する実行カウント６２０がある。実行カウント６２０は、人間可読ステートメント５３５に直接関連付けが可能であり、関連付けられた人間可読ステートメント５３５が実行されるたびにインクリメントできる。それに加えて、又はその代わりに、実行カウント６２０を、人間可読ステートメント５３５に関連付けられた実行イベントの数をカウントすることによって決定してもよい。
【００５６】
人間可読ステートメント５３５は、関連付けられた実行頻度に基づいて、グラフィカルに区別される。例えば、第１の背景パターン６３０は、実行カウント６２０の第１の範囲（例えば、６個から１２個の実行イベント）に対応する第１の実行頻度に関連付けられた人間可読ステートメント５３５に適用される。第２の背景パターン６３５は、実行カウント６２０の第２の範囲（例えば、２１個から５０個の実行イベント）に対応する第２の実行頻度に関連付けられた人間可読ステートメント５３５に適用される。更に、第３の背景パターン６４０は、メソッド６１５のうちの、アプリケーションオブジェクトコード内のコンピュータ実行可能命令に対応しない、コメント６４５等の部分に適用される。
【００５７】
ソースコードビューア５００と同様に、ソースコードビューア６００も繰り返し更新できる。こうした実施例により、実行アクティビティの実時間監視が容易になる。
【００５８】
図７は、方法３００による、アプリケーション開発装置２１０及び／又はアプリケーション監視装置２１５等のコンピューティング装置に適用可能な例示的な実行メータ７００である。実行メータ７００は、ソースコード該当部分を定義するための追加ボタン７０５と、複数の実行頻度のそれぞれに関連付けられたソースコード該当部分（例えば、人間可読ステートメント）の比率を示す要約実行ゲージ７１０とを含む。別の実施例において、要約実行ゲージ７１０は、少なくとも１個の実行イベントに関連付けられたソースコード該当部分の比率を示す。
【００５９】
実行メータ７００はまた、複数のファイルについての詳細実行ゲージ７２０を有する表７１５を含む。詳細実行ゲージ７２０は、各ファイル内の、各実行頻度に関連付けられたソースコード該当部分の比率を示す。例えば、第４の詳細実行ゲージ７２５は、第１のブロック７３０、第２のブロック７３５、第３のブロック７４０、及び第４のブロック７４５を含んでおり、それぞれは、ファイル内の、特定の実行頻度に関連付けられたソースコード該当部分の比率を表している。更に、第４の詳細実行ゲージ７２５は、空ブロック７５０を含んでおり、空ブロック７５０は、ゼロ個の実行イベント及び／又は一度も実行されなかった頻度に関連付けられたソースコード該当部分の比率を表している。各ブロック７３０、７３５、７４０、７４５、７５０は、それぞれ異なる塗りつぶしパターンで示されているので、各実行頻度に関連付けられた、ソースコード該当部分の各比率間のグラフィカルな区別が容易になる。詳細実行ゲージ７２０の隣にあるのは実行済み比率７６０であり、これは、各ファイル内の、少なくとも１個の実行イベントに関連付けられたソースコード該当部分の比率を数値で示している。
【００６０】
表７１５はまた、各ファイル内のソースコード該当部分についての最大実行カウントアイコン７６５、最大実行カウント７７０、合計実行カウント７７５、（例えば、アプリケーションオブジェクトコードとして実行可能なソースコード該当部分の数を示す）実行可能ソースコード該当部分カウント７８０、及び（例えば、少なくとも１つの実行イベントに関連付けられた実行可能ソースコード該当部分の数を示す）実行済みソースコード該当部分カウント７８５を含む。
【００６１】
一部の実施例において、実行メータ７００は、アプリケーションオブジェクトコードの実行中に繰り返し更新される。このような実施例により、実行アクティビティの実時間監視が容易になる。
【００６２】
実行メータ７００は、ファイル別に分けられた人間可読ステートメントを表すソースコード該当部分とともに示されている。それに加えて、又はその代わりに、ソースコード該当部分を、メソッド別、ファイル別、クラス別、及び／又はパッケージ別に表示してもよい。更に、ソースコード該当部分を、メソッド、クラス、ファイル、及び／又はパッケージとして定義してもよい。
【００６３】
本明細書に記載の実施例では、アプリケーションがテストされる間、又は実際の、即ち「本番」の状況で実行される間に、アプリケーションソースコードのどの部分が実行されたかを通知できる。こうした通知により、例えば、テストされていないソースコード、テストが不十分なソースコード、及び／又は頻繁に実行されるソースコード等のように、アプリケーションソースコードのクリティカルな部分を識別できるようになる。識別されたクリティカル部分については、修正（例えば、リファクタリング）時に、追加の自動テスト、パフォーマンス最適化、及び／又は追加の精査を行うことができる。更に、実行情報を用いて、一度も実行されなかったソースコードを識別し、そのようなソースコードを削除することにより、アプリケーションに関連付けられたメンテナンスの手間及び／又はコストを削減できる。本明細書に記載の実施例では更に、アプリケーションオブジェクトコードの実行中にソースコード該当部分の定義及び実行アクティビティの監視を行うことができるので、アプリケーションオブジェクトコードの実行を終了及び再開することによる遅延や不便さがなくなる。
【００６４】
本明細書に記載の方法及びシステムは、本明細書に記載の特定の実施例に限定されない。例えば、各システムの部品及び／又は各方法のステップを、本明細書に記載のその他の部品及び／又はステップとは別個独立に使用及び／又は実施してもよい。また、各部品をその他の装置及び方法において適用及び／又は実施してもよい。
【００６５】
一部の実施例では、１つ以上の電子装置又はコンピューティング装置の使用が必要である。典型的には、そのような装置は、プロセッサ又は制御装置などであり、具体的には、汎用中央処理ユニット（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）、マイクロコントローラ、縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理回路（ＰＬＣ）、及び／又は他の任意の、本明細書に記載の機能を実行可能な回路又はプロセッサ等である。本明細書に記載の方法は、これらに限定されないが、記憶装置及び／又はメモリ装置等のコンピュータ可読媒体で実施される実行可能命令としてエンコード可能である。こうした命令をプロセッサが実行することにより、本明細書に記載の方法の少なくとも一部分をプロセッサが実行する。上述の例は、あくまでも例示的なものなので、プロセッサという用語の定義及び／又は意味を決して限定するものではない。
【００６６】
様々な実施例に関して本発明を説明したが、当業者には明らかなように、特許請求の範囲及び概念の範囲内で、本発明に改良を加えて実施することができる。
【符号の説明】
【００６７】
１０５  コンピューティング装置
１１０  メモリ装置
１１５  プロセッサ
１２０  プレゼンテーションインターフェース
１２５  ユーザ
１３０  入力インタフェース
１３５  ユーザ入力インタフェース
１４０  通信インタフェース
２００  例示的システム
２０５  アプリケーションホスト装置
２１０  アプリケーション開発装置
２１５  アプリケーション監視装置
２２０  ネットワーク
２２５  アプリケーション開発者
２３０  アプリケーション監視者
３００  方法
３０２  実行頻度を定義する
３０５  該当部分の通知を決定する／受け取る
３１０  アプリケーションオブジェクトコードを生成する
３１５  該当部分にブレークポイントを関連付ける
３２０  アプリケーションオブジェクトコードを実行する
３２５  該当部分が実行されたか？
３３０  該当部分に実行イベントを関連付ける
３３５  ブレークポイントを無効にする
３４０  実行が完了したか？
３４７  各該当部分に実行頻度を関連付ける
３５０  該当部分の実行を通知する
４００  例示図
４０５  アプリケーションソースコード
４１０  該当部分の通知
４１５  バーチャルマシン
４２０  アプリケーションオブジェクトコード
４２５  コンパイラ
４３０  実行ブレークポイント
４３５  実行イベント
４４０  ソースコードビューア
４４５  実行メータ
５００  ソースコードビューア
５０５  要約ペイン
５１０  詳細ペイン
５１５  「サムネイル」画像
５２０  表示部分インジケータ
５２５  第１のメソッド
５３０  第２のメソッド
５３５  人間可読ステートメント
５４０  第１の背景パターン
５４５  第２の背景パターン
６００  ソースコードビューア
６０５  詳細ペイン
６１５  メソッド
６２０  実行カウント
６３０  第１の背景パターン
６３５  第２の背景パターン
６４０  第３の背景パターン
６４５  コメント
７００  実行メータ
７０５  追加ボタン
７１０  要約実行ゲージ
７１５  表
７２０  詳細実行ゲージ
７２５  第４の詳細実行ゲージ
７３０  第１のブロック
７３５  第２のブロック
７４０  第３のブロック
７４５  第４のブロック
７５０  空ブロック
７６０  実行済み比率
７６５  最大実行カウントアイコン
７７０  最大実行カウント
７７５  合計実行カウント
７８０  該当部分カウント
７８５  該当部分カウント
【図１】
2012027912.tif 000004
【図２】
2012027912.tif 000005
【図３】
2012027912.tif 000006
【図４】
2012027912.tif 000007
【図５】
2012027912.tif 000008
【図６】
2012027912.tif 000009
【図７】
2012027912.tif 000010
【外国語明細書】
2012027912000001.pdf