JP2002073369A - Support device for improving efficiency of object- oriented program and recording medium and program - Google Patents
Support device for improving efficiency of object- oriented program and recording medium and programInfo
- Publication number
- JP2002073369A JP2002073369A JP2001168933A JP2001168933A JP2002073369A JP 2002073369 A JP2002073369 A JP 2002073369A JP 2001168933 A JP2001168933 A JP 2001168933A JP 2001168933 A JP2001168933 A JP 2001168933A JP 2002073369 A JP2002073369 A JP 2002073369A
- Authority
- JP
- Japan
- Prior art keywords
- performance
- execution environment
- information
- source code
- processing
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、オブジェクト指向
プログラムの実行性能改善支援を行うオブジェクト指向
プログラム性能改善支援装置及び記録媒体に関する。[0001] 1. Field of the Invention [0002] The present invention relates to an object-oriented program performance improvement support device and a recording medium that support the execution performance improvement of an object-oriented program.
【0002】[0002]
【従来の技術】従来、オブジェクト指向設計を行う場
合、性能評価(メモリ使用量やインスタンス数の評価)
には、プロファイラと呼ばれる技術が用いられていた。
このプロファイラは、プログラムを実際に実行しなが
ら、生成されるインスタンス数やそのメモリ使用量を測
定するものである。2. Description of the Related Art Conventionally, when performing object-oriented design, performance evaluation (evaluation of memory usage and number of instances)
Used a technique called a profiler.
This profiler measures the number of instances generated and its memory usage while actually executing the program.
【0003】この場合、プロファイラを使用するには、
コンパイルして実行可能なソースコード(実行可能なプ
ログラム)が必要である。すなわち、一般に、設計情報
が与えられると、該設計情報からソースコードを生成
し、このソースコードをコンパイルして実行可能なソー
スコード(実行可能なプログラム)を作成する。In this case, to use a profiler,
Compiled and executable source code (executable program) is required. That is, generally, when design information is given, a source code is generated from the design information, and the source code is compiled to create an executable source code (executable program).
【0004】そして、プロファイラは、実行可能なソー
スコードを実際に実行しながら、生成されるインスタン
ス数やメモリ使用量を測定し、その結果の情報から性能
評価を行っていた。[0004] The profiler measures the number of instances generated and the amount of memory used while actually executing the executable source code, and evaluates the performance from the information obtained as a result.
【0005】[0005]
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。The above-mentioned prior art has the following problems.
【0006】従来のプロファイラと呼ばれる技術では、
コンパイル、リンクが行なえる段階までプログラムを完
成しておく必要がある。つまり、開発がほぼ終了する段
階まで性能のボトルネックを検出できない。また、性能
のボトルネックとなっている部分は明確になっても、ど
のような改善を行なえば良いかは明らかにならない。[0006] In a technique called a conventional profiler,
It is necessary to complete the program until it can be compiled and linked. In other words, a performance bottleneck cannot be detected until development is almost completed. Even if the bottleneck of performance is clarified, it is not clear what improvement should be made.
【0007】本発明は、このような従来の課題を解決
し、オブジェクト指向プログラムのソースコードを静的
に解析し、実行性能を劣化させる可能性のある部分を検
出し、その部分に対する改善案を提示して、プログラム
の性能改善を支援できるようにすることを目的とする。SUMMARY OF THE INVENTION The present invention solves such a conventional problem, statically analyzes the source code of an object-oriented program, detects a portion that may deteriorate execution performance, and proposes an improvement plan for the portion. Its purpose is to be able to present and support the performance improvement of the program.
【0008】[0008]
【課題を解決するための手段】図1は本発明の原理説明
図である。図1において、性能劣化解析部は、性能劣化
箇所解析部7と、性能劣化箇所表示処理部9と、反復・
集中箇所検出部10を備え、性能予測部には、性能予測
式導出部12と、結果計算部16と、性能予測結果表示
処理部18を備え、共通部には、解析制御部2と、改善
情報表示処理部5を備えている。本発明は前記の目的を
達成するため、次のように構成した。FIG. 1 is a diagram illustrating the principle of the present invention. In FIG. 1, a performance degradation analysis unit includes a performance degradation location analysis unit 7, a performance degradation location display processing unit 9,
The performance prediction unit includes a performance prediction formula derivation unit 12, a result calculation unit 16, and a performance prediction result display processing unit 18. The common unit includes the analysis control unit 2, An information display processing unit 5 is provided. The present invention is configured as follows to achieve the above object.
【0009】(1) :オブジェクト指向プログラム性能改
善支援装置において、オブジェクト指向プログラムの実
行性能を劣化させる可能性のあるクラス名、処理名、処
理パターンを実行環境毎に性能劣化情報として予め蓄積
し、これを実行環境別性能劣化情報として用いること
で、オブジェクト指向プログラムのソースコードを静的
に解析し、ソースコード中で実行性能を劣化させる可能
性のある箇所を表示する処理手段(性能劣化箇所解析部
7、性能劣化箇所表示処理部9を含む手段)を備えてい
る。(1): In the object-oriented program performance improvement support device, a class name, a processing name, and a processing pattern that may degrade the execution performance of the object-oriented program are stored in advance as performance degradation information for each execution environment. By using this as performance degradation information for each execution environment, processing means that statically analyzes the source code of an object-oriented program and displays locations in the source code that may degrade execution performance (performance degradation location analysis (Means including a unit 7 and a performance degradation point display processing unit 9).
【0010】(2) :前記(1) のオブジェクト指向プログ
ラム性能改善支援装置において、ソースコード中の性能
を劣化させる可能性のある箇所に対して、実行環境毎の
性能改善方法を予め登録してある実行環境別性能改善情
報を用いて、プログラミングの改善方法を表示する処理
手段(改善情報表示処理部5を含む手段)を備えてい
る。(2): In the object-oriented program performance improvement support device of (1), a performance improvement method for each execution environment is registered in advance for a location in the source code where performance may be degraded. A processing unit (a unit including the improvement information display processing unit 5) for displaying a programming improvement method using performance improvement information for each execution environment is provided.
【0011】(3) :前記(1) のオブジェクト指向プログ
ラム性能改善支援装置において、解析対象ソースコード
を静的に解析して、ループ、再帰呼出し、多くの箇所で
使われるメソッドなど、実行回数が多くなる箇所を特定
する反復・集中箇所検出手段(反復・集中箇所検出部1
0を含む手段)を備え、実行環境別性能劣化情報の項目
毎に、実行回数が多くなる箇所のみ解析の対象とする
か、或いはソースコードの全範囲を解析の対象にするか
を切り替え可能とする。(3): In the object-oriented program performance improvement support apparatus of the above (1), the source code to be analyzed is statically analyzed, and the number of executions such as loops, recursive calls, and methods used in many places is reduced. Iterative / concentrated location detecting means (repeated / concentrated location detecting unit 1)
0), and it is possible to switch, for each item of the performance degradation information for each execution environment, whether to analyze only the portion where the number of executions is large or to analyze the entire range of the source code. I do.
【0012】(4) :前記(1) のオブジェクト指向プログ
ラム性能改善支援装置において、実行環境別性能劣化情
報の項目毎に、実行性能に対する影響の度合いをランク
付けする情報の登録と修正を可能とし、ソースコード中
で実行性能を劣化させる可能性のある箇所を、実行性能
に対する影響の大きさで順序付けて表示する処理手段
(性能劣化箇所表示処理部9を含む手段)を備えてい
る。(4) In the object-oriented program performance improvement support apparatus of the above (1), it is possible to register and correct information for ranking the degree of influence on execution performance for each item of performance degradation information for each execution environment. And processing means (means including a performance degradation location display processing unit 9) for displaying, in the source code, locations where the execution performance is likely to be degraded in order according to the magnitude of the influence on the execution performance.
【0013】(5) :オブジェクト指向プログラムのソー
スコードを静的に解析し、指定された処理中でメモリを
確保している箇所が何箇所あるか、クラス又はタイプ毎
に特定の実行環境における数の性能予測計算式を導出
し、合わせて実行環境別性能実測情報に予め登録してあ
るクラス又はタイプ毎のメモリ使用量情報を用いて、特
定の実行環境におけるメモリ使用量の性能予測計算式を
導出する第1の処理手段(性能予測式導出部12の一部
を含む手段)と、入力値によって指示があった場合は、
導出した性能予測計算式を実行環境別性能予測情報に登
録する第2の処理手段(性能予測式導出部12の一部を
含む手段)と、性能予測計算式の変数部分は、対応する
ソースコードの箇所を表示し、ユーザが対話的に入力可
能とする第3の処理手段(性能予測結果表示処理部18
を含む手段)と、ユーザが入力した値を性能予測計算式
に代入して性能予測値を得る第4の処理手段(結果計算
部16を含む手段)とを備えている。(5): The source code of an object-oriented program is statically analyzed and the number of locations where memory is reserved in the designated processing, the number of classes or types in a specific execution environment Calculate the performance prediction calculation formula for the memory usage in a specific execution environment by using the memory usage information for each class or type that is registered in advance in the performance measurement information for each execution environment. The first processing means for deriving (the means including a part of the performance prediction formula deriving unit 12), and when there is an instruction based on the input value,
A second processing unit (a unit including a part of the performance prediction formula deriving unit 12) for registering the derived performance prediction formula in the performance prediction information for each execution environment, and a variable part of the performance prediction formula, the corresponding source code (A performance prediction result display processing unit 18)
And a fourth processing unit (a unit including the result calculation unit 16) that obtains a performance prediction value by substituting a value input by the user into a performance prediction calculation formula.
【0014】(6) :オブジェクト指向プログラム性能改
善支援装置において、予め登録してある実行環境別性能
実測情報を用いて、オブジェクト指向プログラムのソー
スコードを静的に解析し、指定された処理の、特定の実
行環境における処理時間のオーバヘッドの性能予測計算
式を導出する第1の処理手段(性能予測式導出部12の
一部を含む手段)と、入力値によって指示があった場合
は、導出した性能予測計算式を実行環境別性能予測情報
に登録する第2の処理手段(性能予測式導出部12の一
部を含む手段)と、性能予測計算式の変換部分は、対応
するソースコードの箇所を表示し、ユーザが対話的に入
力可能とする第3の処理手段(性能予測結果表示処理部
18を含む手段)と、ユーザが入力した値を性能予測計
算式に代入して性能予測値を得る第4の処理手段(結果
計算部16を含む手段)とを備えている。(6): The object-oriented program performance improvement support apparatus statically analyzes the source code of the object-oriented program using the performance measurement information for each execution environment registered in advance, and A first processing unit (a unit including a part of the performance prediction formula deriving unit 12) for deriving a performance prediction formula for processing time overhead in a specific execution environment; The second processing means (means including a part of the performance prediction formula deriving unit 12) for registering the performance prediction calculation formula in the performance prediction information for each execution environment, and the conversion part of the performance prediction calculation formula correspond to the location of the corresponding source code. And a third processing unit (a unit including the performance prediction result display processing unit 18) that enables the user to interactively input a value, and substitutes the value input by the user into a performance prediction calculation formula to calculate the performance. And a fourth processing unit (a unit including the result calculation unit 16) for obtaining a predicted value.
【0015】(7) :前記(5) のオブジェクト指向プログ
ラム性能改善支援装置において、実行環境毎の性能改善
方法を予め登録してある実行環境別性能改善情報を用い
て、確保されるメモリ量を減らすためのプログラミング
の改善方法を表示する処理手段(改善情報表示処理部5
を含む手段)を備えている。(7): In the object-oriented program performance improvement support apparatus of (5), the amount of memory to be secured is determined by using performance improvement information for each execution environment in which a performance improvement method for each execution environment is registered in advance. Processing means for displaying a method of improving programming to reduce (improvement information display processing unit 5
Including means).
【0016】(8) :前記(6) のオブジェクト指向プログ
ラム性能改善支援装置において、ソースコード中で処理
時間のオーバヘッドを発生させている箇所に対して、実
行環境毎の性能改善方法を予め登録してある実行環境別
性能改善情報を用いて、プログラムの改善方法を表示す
る処理手段(改善情報表示処理部5を含む手段)を備え
ている。(8): In the object-oriented program performance improvement support device of (6), a performance improvement method for each execution environment is registered in advance in a place where a processing time overhead is generated in the source code. There is provided processing means (means including the improvement information display processing unit 5) for displaying a program improvement method using the performance improvement information for each execution environment.
【0017】(9) :コンピュータに、オブジェクト指向
プログラムの実行性能を劣化させる可能性のあるクラス
名、処理名、処理パターンを実行環境毎に性能劣化情報
として予め蓄積し、これを実行環境別性能劣化情報とし
て用いることで、オブジェクト指向プログラムのソース
コードを静的に解析し、ソースコード中で実行性能を劣
化させる可能性のある箇所を表示する処理手段の機能を
実現させるためのプログラム、又は該プログラムを記録
したコンピュータ読み取り可能な記録媒体。(9): A class name, a processing name, and a processing pattern that may degrade the execution performance of the object-oriented program are previously stored in the computer as performance deterioration information for each execution environment, and the performance is classified by execution environment. A program for realizing a function of a processing unit that statically analyzes the source code of an object-oriented program and displays a portion of the source code that may deteriorate execution performance by using the information as deterioration information, or A computer-readable recording medium on which a program is recorded.
【0018】(作用)前記構成に基づく本発明の作用を
説明する。(Operation) The operation of the present invention based on the above configuration will be described.
【0019】(a) :前記(1) では、前記処理手段は、オ
ブジェクト指向プログラムの実行性能を劣化させる可能
性のあるクラス名、処理名、処理パターンを実行環境毎
に性能劣化情報として予め蓄積し、これを実行環境別性
能劣化情報として用いることで、オブジェクト指向プロ
グラムのソースコードを静的に解析し、ソースコード中
で実行性能を劣化させる可能性のある箇所を表示する。(A): In the above (1), the processing means previously accumulates a class name, a processing name, and a processing pattern which may degrade the execution performance of the object-oriented program as performance deterioration information for each execution environment. Then, by using this as the performance degradation information for each execution environment, the source code of the object-oriented program is statically analyzed, and a portion in the source code that may degrade the execution performance is displayed.
【0020】この場合、従来技術では、ソースコード全
体が完成した実行可能な形になっていないと実行性能劣
化部分の検出が行なえなかった。それに対して、本発明
の装置では、一部分だけ出来ているソースコードを解析
して、実行性能を劣化させる可能性のある箇所を検出で
きる。従って、従来技術よりも開発の早い段階で実行性
能に関する問題を発見できる。In this case, according to the conventional technique, it is impossible to detect a portion where execution performance is deteriorated unless the entire source code is in a completed executable form. On the other hand, the apparatus of the present invention can analyze a part of the source code and detect a part that may deteriorate execution performance. Therefore, problems relating to execution performance can be found at an earlier stage of development than the prior art.
【0021】また、実行環境別性能劣化情報を性能劣化
箇所解析部7に作り込まず、外部から追加、修正が可能
なデータとして蓄積している。従って、例えば、ユーザ
が自分のプロジェクトに合わせて実行環境別性能劣化情
報の追加、修正を行なえるため、ユーザの実行環境や設
計方針に合った解析が可能になる。The performance degradation information for each execution environment is not created in the performance degradation location analysis unit 7 but is stored as data that can be added and modified from outside. Therefore, for example, the user can add or modify the performance degradation information for each execution environment in accordance with his or her project, so that analysis suitable for the execution environment and the design policy of the user can be performed.
【0022】(b) :前記(2) では、前記処理手段は、ソ
ースコード中の性能を劣化させる可能性のある箇所に対
して、実行環境毎の性能改善方法を予め登録してある実
行環境別性能改善情報を用いて、プログラミングの改善
方法を表示する。(B): In the above (2), the processing means executes the execution environment in which a performance improvement method for each execution environment is registered in advance in a place in the source code where performance may be degraded. The programming improvement method is displayed by using the separate performance improvement information.
【0023】この場合、従来技術では、性能劣化部分を
指摘するだけに留まっているのに対し、本発明の装置で
は、実行性能を劣化させる可能性のある箇所に対して、
対処法を提示することができる。また、実行環境別性能
改善情報を改善情報表示処理部5に作り込まず、外部か
ら追加、修正が可能なデータとして蓄積している。In this case, in the prior art, only the performance degradation part is pointed out, whereas in the device of the present invention, the portion where the execution performance may be degraded is
Suggestions can be provided. Further, the performance improvement information for each execution environment is not created in the improvement information display processing unit 5, but is stored as data that can be added and modified from outside.
【0024】このため、ユーザが自分のプロジェクトに
合わせて実行環境別性能改善情報の追加、修正を行なえ
るため、ユーザの実行環境や設計方針に合った対処法の
提示が可能になる。Therefore, the user can add or modify the performance improvement information for each execution environment according to his / her project, so that it is possible to present a countermeasure suitable for the user's execution environment and design policy.
【0025】(c) :前記(3) では、反復・集中箇所検出
手段は、解析対象ソースコードを静的に解析して、ルー
プ、再帰呼出し、多くの箇所で使われるメソッドなど、
実行回数が多くなる箇所を特定する。これにより、実行
環境別性能劣化情報の項目毎に、実行回数が多くなる箇
所のみ解析の対象とするか、或いはソースコードの全範
囲を解析の対象にするかを切り替え可能とする。(C): In the above (3), the repetition / concentration point detecting means statically analyzes the source code to be analyzed, and executes loops, recursive calls, methods used in many places, and the like.
Identify the location where the number of executions increases. This makes it possible to switch, for each item of the performance degradation information for each execution environment, whether to analyze only the portion where the number of times of execution increases or to analyze the entire range of the source code.
【0026】ところで、実行性能を劣化させる可能性の
あるクラス名、処理名、処理パターン、すなわち、実行
環境別性能劣化情報の各項目には、大別して、1回現れ
るだけでも問題になるものと、繰返し現れると問題にな
る(言い換えれば、1回だけなら問題にならない)もの
の2種類がある。By the way, class names, processing names, and processing patterns that may degrade execution performance, that is, each item of performance degradation information for each execution environment, are roughly classified into ones that may cause problems. There are two types, one that causes a problem when it appears repeatedly (in other words, it does not cause a problem only once).
【0027】本発明の装置では、1回現れるだけでも問
題になる項目は解析対象ソースコード全体を対象に検出
し、繰返し現れると問題になる項目は反復・集中箇所検
出結果を対象に検出する。こうすることで、1回だけな
ら問題にならない項目に関して、反復・集中処理しない
部分に現れていることまで指摘するような、過剰な検出
を防ぐことができる。In the apparatus of the present invention, an item which is a problem even if it appears only once is detected for the entire source code to be analyzed, and an item which is a problem when it appears repeatedly is detected for a repetitive / concentrated portion detection result. In this way, it is possible to prevent an excessive detection that indicates that an item that does not cause a problem only once appears in a portion that is not subjected to repeated / intensive processing.
【0028】更に、1回現れるだけでも問題になるもの
と繰返し現れると問題になるものの間の境界は、ユーザ
の設計方針や対象システムの性質によって異なる場合が
多い。また、何回以上を「実行回数が多い」とするのが
適切かということも、ユーザによって異なる。Further, the boundary between a problem that appears only once and a problem that appears repeatedly is often different depending on the design policy of the user and the nature of the target system. Also, how many times or more is appropriate to be “frequently executed” also differs depending on the user.
【0029】本発明の装置では、ユーザが実行環境別性
能劣化情報の各項目を修正して、実行回数が多くなる箇
所のみ解析の対象にするか、ソースコードの全範囲を解
析の対象にするかを柔軟に切り替えることができる。ま
た、何回以上を反復・集中として検出するかもユーザが
指定できる。これによってユーザは、自分のプロジェク
トに最適な解析ができる。In the apparatus of the present invention, the user corrects each item of the performance degradation information for each execution environment, and analyzes only the portion where the number of times of execution increases, or analyzes the entire range of the source code. Can be switched flexibly. Further, the user can specify how many times or more times are to be detected as repetition / concentration. This allows the user to make the best analysis for his project.
【0030】(d) :前記(4) では、前記処理手段は、実
行環境別性能劣化情報の項目毎に、実行性能に対する影
響の度合いをランク付けする情報の登録と修正を可能と
し、ソースコード中で実行性能を劣化させる可能性のあ
る箇所を、実行性能に対する影響の大きさで順序付けて
表示する。(D): In the above (4), the processing means makes it possible to register and correct information for ranking the degree of influence on the execution performance for each item of the performance degradation information for each execution environment, The places where the execution performance may be degraded are displayed in order according to the magnitude of the influence on the execution performance.
【0031】実行性能を劣化させる可能性のあるクラス
名、処理名、処理パターン、すなわち、実行環境別性能
劣化情報の各項目には、実行性能に対する影響が大きな
ものと小さなものとがある。問題を解決する際には、実
行性能に対する影響が大きなものから順に行うのが望ま
しい。Class names, processing names, and processing patterns that may degrade execution performance, ie, items of performance environment-specific performance deterioration information, include those having a large effect on execution performance and those having a small effect on execution performance. When solving a problem, it is desirable to carry out in order from the one having the greatest effect on execution performance.
【0032】本発明の装置では、実行環境別性能劣化情
報の項目毎に、実行性能に対する影響の度合いをランク
付けする情報を登録することで、性能劣化箇所解析結果
(性能劣化箇所解析部7の出力)を実行性能に対する影
響の大きなものから順に表示することを可能にする。In the apparatus of the present invention, information for ranking the degree of influence on the execution performance is registered for each item of the performance degradation information for each execution environment, so that the performance degradation location analysis result (the performance degradation location analysis unit 7) is registered. Output) can be displayed in descending order of the effect on execution performance.
【0033】また、実行性能に対する影響の大小は、ユ
ーザが構築するシステムの性質や実行環境によって異な
ることが多いが、実行環境別性能劣化情報を修正するこ
とで、ユーザに最適な解析結果を得られるようにするこ
とができる。The magnitude of the influence on the execution performance often differs depending on the nature of the system constructed by the user and the execution environment. By correcting the performance degradation information for each execution environment, an analysis result optimal for the user can be obtained. Can be made.
【0034】(e) :前記(5) では、第1の処理手段は、
オブジェクト指向プログラムのソースコードを静的に解
析し、指定された処理中でメモリを確保している箇所が
何箇所あるか、クラス又はタイプ毎に特定の実行環境に
おける数の性能予測計算式を導出し、合わせて実行環境
別性能実測情報に予め登録してあるクラス又はタイプ毎
のメモリ使用量情報を用いて、特定の実行環境における
メモリ使用量の性能予測計算式を導出する。(E): In the above (5), the first processing means is:
Statically analyzes the source code of an object-oriented program, derives the number of places where memory is reserved in the specified processing, and the number of performance prediction formulas in a specific execution environment for each class or type In addition, using the memory usage information for each class or type registered in advance in the performance measurement information for each execution environment, a performance prediction formula for memory usage in a specific execution environment is derived.
【0035】第2の処理手段は、入力値によって指示が
あった場合は、導出した性能予測計算式を実行環境別性
能予測情報に登録する。第3の処理手段は、性能予測計
算式の変数部分は、対応するソースコードの箇所を表示
し、ユーザが対話的に入力可能とする。第4の処理手段
は、ユーザが入力した値を性能予測計算式に代入して性
能予測値を得る。The second processing means, when instructed by the input value, registers the derived performance prediction formula in the performance prediction information for each execution environment. The third processing means displays the location of the corresponding source code in the variable part of the performance prediction calculation formula so that the user can interactively input. The fourth processing means obtains a performance prediction value by substituting the value input by the user into a performance prediction calculation formula.
【0036】オブジェクト指向プログラムでは、オブジ
ェクト(クラスのインスタンス)や配列がメモリを圧迫
することで性能問題が起こることが多い。しかし、従来
技術は、ソースコード全体が完成し実行可能な形になっ
てから生成されるオブジェクトや配列の数とメモリ使用
量を実測するだけで、事前の予測が行えなかった。In an object-oriented program, a performance problem often occurs when an object (an instance of a class) or an array presses a memory. However, in the prior art, it was not possible to make a prediction in advance by merely measuring the number of objects and arrays generated after the entire source code was completed and in an executable form, and the memory usage.
【0037】本発明の装置では、ソースコードを解析し
て、或るメソッドが呼ばれた際に生成されるクラスのイ
ンスタンスや配列の数の予測式を作る。また、メモリ使
用量は、各クラスのインスタンスや配列について実行環
境毎に予め実測した情報(実行環境別性能実測情報)を
用いて、予測式を作る。ソースコードを解析するだけで
は分からない部分は式の変数とし、ユーザと対話しなが
ら解決することができる。The apparatus of the present invention analyzes a source code and creates a prediction formula for the number of instances of a class and the number of arrays generated when a certain method is called. For the memory usage, a prediction formula is created using information (performance measurement information for each execution environment) actually measured in advance for each execution environment for instances and arrays of each class. The parts that cannot be understood only by analyzing the source code can be set as variables of the expression and solved while interacting with the user.
【0038】また、各処理(メソッドやコンストラク
タ)毎に作成した予測式を実行環境別性能予測情報に登
録して再利用できるので、同じ処理について予測式を再
計算せずに済み、性能予測式導出部12の処理を効率化
できる。Further, since the prediction formula created for each process (method or constructor) can be registered and reused in the performance prediction information for each execution environment, it is not necessary to recalculate the prediction formula for the same process. The processing of the deriving unit 12 can be made more efficient.
【0039】(f) :前記(6) では、第1の処理手段は、
予め登録してある実行環境別性能実測情報を用いて、オ
ブジェクト指向プログラムのソースコードを静的に解析
し、指定された処理の、特定の実行環境における処理時
間のオーバヘッドの性能予測計算式を導出する。第2の
処理手段は、入力値によって指示があった場合は、導出
した性能予測計算式を実行環境別性能予測情報に登録す
る。(F): In the above (6), the first processing means is:
Using the pre-registered performance measurement information for each execution environment, statically analyze the source code of the object-oriented program and derive the performance prediction formula for the processing time overhead of the specified process in the specific execution environment I do. The second processing means, when instructed by the input value, registers the derived performance prediction formula in the performance prediction information for each execution environment.
【0040】第3の処理手段は、性能予測計算式の変換
部分は、対応するソースコードの箇所を表示し、ユーザ
が対話的に入力可能とする。第4の処理手段は、ユーザ
が入力した値を性能予測計算式に代入して性能予測値を
得る。The third processing means displays a corresponding part of the source code in the conversion part of the performance prediction calculation formula so that the user can interactively input. The fourth processing means obtains a performance prediction value by substituting the value input by the user into a performance prediction calculation formula.
【0041】この場合、従来技術では、ソースコード全
体が完成し、実行可能な形になってからメソッドの実行
にかかる時間を実測するだけで、事前の予測は行えなか
った。本発明の装置では、ソースコードを解析して、処
理(メソッドやコンストラクタ)毎に処理時間のオーバ
ーヘッドの予測式を作る。In this case, in the prior art, it was not possible to make a prior prediction simply by actually measuring the time required for executing the method after the entire source code was completed and became executable. In the apparatus of the present invention, a source code is analyzed, and a prediction formula of a processing time overhead is created for each process (method or constructor).
【0042】式の作成には、基本的な処理のオーバーヘ
ッドについて実行環境毎に予め実測した情報(実行環境
別性能実測情報)を用いる。このようにして、ソースコ
ードを解析するだけでは分からない部分は式の変数と
し、ユーザと対話しながら解決することができる。The formula is created by using information actually measured in advance for each execution environment (performance measurement information for each execution environment) for the overhead of the basic processing. In this way, the parts that cannot be understood only by analyzing the source code can be set as variables of the expression and can be solved while interacting with the user.
【0043】(g) :前記(7) では、前記処理手段は、実
行環境毎の性能改善方法を予め登録してある実行環境別
性能改善情報を用いて、確保されるメモリ量を減らすた
めのプログラミングの改善方法を表示する。(G): In the above (7), the processing means uses the performance improvement information for each execution environment in which a performance improvement method for each execution environment is registered in advance to reduce the amount of memory to be secured. Shows ways to improve programming.
【0044】この場合、従来技術では、性能劣化部分を
指摘するだけに留まっているのに対し、本発明の装置で
は、実行性能を劣化させる可能性のある箇所に対して、
対処法を提示することができる。また、実行環境別性能
改善情報を改善情報表示処理部5に作り込まず、外部か
ら追加、修正が可能なデータとして蓄積している。In this case, in the prior art, only the performance degradation portion is pointed out, whereas in the device of the present invention, the portion where the execution performance may be degraded is removed.
Suggestions can be provided. Further, the performance improvement information for each execution environment is not created in the improvement information display processing unit 5, but is stored as data that can be added and modified from outside.
【0045】従って、ユーザが自分のプロジェクトに合
わせて実行環境別性能改善情報4の追加、修正が行なえ
るため、ユーザの実行環境や設計方針に合った対処法の
提示が可能になる。Therefore, the user can add or modify the performance improvement information 4 for each execution environment according to his / her project, and can present a countermeasure suitable for the execution environment and the design policy of the user.
【0046】(h) :前記(8) では、前記処理手段は、ソ
ースコード中で処理時間のオーバヘッドを発生させてい
る箇所に対して、実行環境毎の性能改善方法を予め登録
してある実行環境別性能改善情報を用いて、プログラム
の改善方法を表示する。(H): In the above (8), the processing means executes, in advance, a performance improvement method registered in advance for each execution environment in a place where a processing time overhead is generated in the source code. The program improvement method is displayed using the performance improvement information for each environment.
【0047】この場合、従来技術では、性能劣化部分を
指摘するだけに留まっているのに対し、本発明の装置で
は、実行性能を劣化させる可能性のある箇所に対して、
対処法を提示することができる。また、実行環境別性能
改善情報を改善情報表示処理部5に作り込まず、外部か
ら追加、修正が可能なデータとして蓄積している。In this case, in the prior art, only the performance degradation portion is pointed out, whereas in the apparatus of the present invention, the portion where the execution performance may be deteriorated is
Suggestions can be provided. Further, the performance improvement information for each execution environment is not created in the improvement information display processing unit 5, but is stored as data that can be added and modified from outside.
【0048】このようにすれば、ユーザが自分のプロジ
ェクトに合わせて実行環境別性能改善情報4の追加、修
正が行なえるため、ユーザの実行環境や設計方針に合っ
た対処法の提示が可能になる。In this way, the user can add or modify the performance improvement information 4 for each execution environment according to his or her project, so that it is possible to present a countermeasure suitable for the execution environment and the design policy of the user. Become.
【0049】(i) :前記(9) では、コンピュータが記録
媒体のプログラムを読み出して実行することにより、又
は、前記プログラムを実行することにより、前記オブジ
ェクト指向プログラムの実行性能を劣化させる可能性の
あるクラス名、処理名、処理パターンを実行環境毎に性
能劣化情報として予め蓄積する手順と、これを実行環境
別性能劣化情報として用いることで、オブジェクト指向
プログラムのソースコードを静的に解析し、ソースコー
ド中で実行性能を劣化させる可能性のある箇所を表示す
る手順を実行する。(I): In the above (9), there is a possibility that the performance of the object-oriented program is degraded by reading and executing the program on the recording medium by the computer, or by executing the program. A procedure for pre-accumulating a certain class name, processing name, and processing pattern as performance degradation information for each execution environment, and using this as performance degradation information for each execution environment, statically analyzes the source code of an object-oriented program, Execute a procedure for displaying a portion of the source code that may degrade execution performance.
【0050】この場合、従来技術では、ソースコード全
体が完成した実行可能な形になっていないと実行性能劣
化部分の検出が行なえなかった。それに対して、本発明
の装置では、一部分だけ出来ているソースコードを解析
して、実行性能を劣化させる可能性のある箇所を検出で
きる。従って、従来技術よりも開発の早い段階で実行性
能に関する問題を発見できる。In this case, in the conventional technique, it is impossible to detect a portion where execution performance is deteriorated unless the entire source code is in a completed executable form. On the other hand, the apparatus of the present invention can analyze a part of the source code and detect a part that may deteriorate execution performance. Therefore, problems relating to execution performance can be found at an earlier stage of development than the prior art.
【0051】また、実行環境別性能劣化情報を性能劣化
箇所解析部7に作り込まず、外部から追加、修正が可能
なデータとして蓄積している。従って、例えば、ユーザ
が自分のプロジェクトに合わせて実行環境別性能劣化情
報の追加、修正を行なえるため、ユーザの実行環境や設
計方針に合った解析が可能になる。The performance degradation information for each execution environment is not created in the performance degradation location analysis unit 7 but is stored as data that can be added and modified from outside. Therefore, for example, the user can add or modify the performance degradation information for each execution environment in accordance with his or her project, so that analysis suitable for the execution environment and the design policy of the user can be performed.
【0052】[0052]
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。Embodiments of the present invention will be described below in detail with reference to the drawings.
【0053】§1:装置の説明 図2は装置の説明図(その1)、図3は装置の説明図
(その2)、図4は装置の説明図(その3)である。以
下、図2〜図4に基づいて、オブジェクト指向プログラ
ム性能改善支援装置を説明する。FIG. 2 is an explanatory view of the apparatus (part 1), FIG. 3 is an explanatory view of the apparatus (part 2), and FIG. 4 is an explanatory view of the apparatus (part 3). Hereinafter, an object-oriented program performance improvement support device will be described with reference to FIGS.
【0054】図2に示すように、オブジェクト指向プロ
グラム性能改善支援装置は、大別すると、共通部Aと、
性能劣化解析処理を行う性能劣化解析部Bと、性能予測
処理を行う性能予測部Cから構成されている。As shown in FIG. 2, the object-oriented program performance improvement support device is roughly divided into a common part A,
It comprises a performance degradation analysis unit B that performs a performance degradation analysis process, and a performance prediction unit C that performs a performance prediction process.
【0055】図3に示すように、共通部Aは、解析時の
制御を行う解析制御部2と、改善情報の表示処理を行う
改善情報表示処理部5を備えている。そして、共通部A
の情報等には、解析対象ソースコード1と、入力値3
と、実行環境別性能改善情報4がある。As shown in FIG. 3, the common unit A includes an analysis control unit 2 for controlling the analysis and an improvement information display processing unit 5 for displaying the improvement information. And common part A
And the like, the source code 1 to be analyzed and the input value 3
And performance improvement information 4 for each execution environment.
【0056】性能劣化解析部Bは、性能劣化箇所の解析
処理を行う性能劣化箇所解析部7と、性能劣化箇所をデ
ィスプレイ装置の画面に表示する性能劣化箇所表示処理
部9と、反復・集中箇所を検出する反復・集中箇所検出
部10を備えている。そして、性能劣化解析部Bの情報
等には、実行環境別性能劣化情報6と、性能劣化箇所検
出結果8と、反復・集中箇所検出結果11がある。The performance degradation analysis unit B includes a performance degradation location analysis unit 7 for analyzing the performance degradation location, a performance degradation location display processing unit 9 for displaying the performance degradation location on the screen of the display device, and a repetition / concentration location. Is provided. The information of the performance degradation analysis unit B includes performance degradation information 6 for each execution environment, a performance degradation location detection result 8, and a repetition / concentration location detection result 11.
【0057】図4に示すように、性能予測部Cは、性能
予測式の導出処理を行う性能予測式導出部12と、結果
計算処理を行う結果計算部16と、性能予測結果表示処
理部18を備えている。そして、性能予測部Cの情報等
には、実行環境別性能実測情報13と、実行環境別性能
予測情報14と、性能予測計算式15と、性能予測値1
7がある。As shown in FIG. 4, the performance prediction unit C includes a performance prediction formula deriving unit 12 for deriving a performance prediction formula, a result calculation unit 16 for performing a result calculation process, and a performance prediction result display processing unit 18. It has. The information and the like of the performance prediction unit C include performance measurement information 13 for each execution environment, performance prediction information 14 for each execution environment, a performance prediction calculation formula 15, and a performance prediction value 1
There are seven.
【0058】前記構成のオブジェクト指向プログラム性
能改善支援装置の処理の特徴は次の通りである。The characteristics of the processing of the object-oriented program performance improvement support device having the above-described configuration are as follows.
【0059】(1) :オブジェクト指向プログラムの実行
性能を劣化させる可能性のあるクラス名、処理名、処理
パターンを実行環境毎に性能劣化情報として予め蓄積し
(以降、これを「実行環境別性能劣化情報6」と呼
ぶ)、これを用いて性能劣化箇所解析部7がオブジェク
ト指向プログラムのソースコード(解析対象ソースコー
ド1)を静的に解析し、ソースコード中で実行性能を劣
化させる可能性のある箇所(性能劣化箇所検出結果8)
を性能劣化箇所表示処理部9がディスプレイ装置の表示
画面に表示する。(1): A class name, a processing name, and a processing pattern that may degrade the execution performance of an object-oriented program are stored in advance as performance deterioration information for each execution environment (hereinafter referred to as “performance by execution environment”). Deterioration information 6 ”), using this, the performance degradation point analysis unit 7 may statically analyze the source code of the object-oriented program (analysis target source code 1) and degrade the execution performance in the source code. Location (performance degradation location detection result 8)
Is displayed on the display screen of the display device by the performance degradation point display processing unit 9.
【0060】この場合、従来技術では、ソースコード全
体が、完成した実行可能な形になっていないと実行性能
劣化部分の検出が行なえなかった。それに対して、本発
明の装置では、一部分だけ出来ているソースコードを解
析して、実行性能を劣化させる可能性のある箇所を検出
できる。従って、従来技術よりも開発の早い段階で実行
性能に関する問題を発見できる。In this case, in the prior art, it is not possible to detect a part where execution performance is deteriorated unless the entire source code is in a completed executable form. On the other hand, the apparatus of the present invention can analyze a part of the source code and detect a part that may deteriorate execution performance. Therefore, problems relating to execution performance can be found at an earlier stage of development than the prior art.
【0061】また、実行環境別性能劣化情報6を性能劣
化箇所解析部7に作り込まず、外部から追加、修正が可
能なデータとして蓄積していることも特徴である。例え
ば、ユーザが自分のプロジェクトに合わせて実行環境別
性能劣化情報6の追加、修正を行なえるため、ユーザの
実行環境や設計方針に合った解析が可能になる。Another feature is that the performance degradation information 6 for each execution environment is not created in the performance degradation location analysis unit 7 but is stored as data that can be added and modified from outside. For example, since the user can add or modify the performance environment-specific degradation information 6 according to his or her project, it is possible to perform an analysis suitable for the user's execution environment and design policy.
【0062】(2) :前記(1) のオブジェクト指向プログ
ラム性能改善支援装置において、ソースコード中の性能
を劣化させる可能性のある箇所(性能劣化箇所検出結果
8)に対して、実行環境毎の性能改善方法を予め登録し
てある実行環境別性能改善情報4を用いて、改善情報表
示処理部5が、ディスプレイ装置の表示画面にプログラ
ミングの改善方法を表示する。(2): In the object-oriented program performance improvement support device of (1), a location (performance degradation location detection result 8) in the source code that may degrade performance is provided for each execution environment. Using the performance improvement information 4 for each execution environment in which the performance improvement method is registered in advance, the improvement information display processing unit 5 displays the programming improvement method on the display screen of the display device.
【0063】この場合、従来技術では、性能劣化部分を
指摘するだけに留まっているのに対し、本発明の装置で
は、実行性能を劣化させる可能性のある箇所に対して、
対処法を提示することができる。また、実行環境別性能
改善情報4を改善情報表示処理部5に作り込まず、外部
から追加、修正が可能なデータとして蓄積している。こ
のため、ユーザが自分のプロジェクトに合わせて実行環
境別性能改善情報4の追加、修正を行なえるため、ユー
ザの実行環境や設計方針に合った対処法の提示が可能に
なる。In this case, in the prior art, only the performance degradation portion is pointed out, whereas in the apparatus of the present invention, the portion where the execution performance may be deteriorated is
Suggestions can be provided. Further, the performance improvement information 4 for each execution environment is not created in the improvement information display processing unit 5, but is stored as data that can be added and modified from outside. For this reason, the user can add or modify the performance improvement information for each execution environment 4 according to his or her project, so that it is possible to present a countermeasure suitable for the execution environment and the design policy of the user.
【0064】(3) :前記(1) のオブジェクト指向プログ
ラム性能改善支援装置において、解析対象ソースコード
1を静的に解析して、ループ、再帰呼出し、多くの箇所
で使われるメソッドなど、実行回数が多くなる箇所(反
復・集中箇所検出結果11)を特定する反復・集中箇所
検出部10を有し、実行環境別性能劣化情報6の項目毎
に、実行回数が多くなる箇所(反復・集中箇所検出結果
11)のみ解析の対象とするか、或いはソースコードの
全範囲(解析対象ソースコード1)を解析の対象にする
かを切り替え可能とする。(3): In the object-oriented program performance improvement support device of (1), the source code 1 to be analyzed is statically analyzed, and the number of executions such as a loop, a recursive call, a method used in many places, etc. Where the number of executions increases (repetition / concentration location detection result 11). It is possible to switch whether only the detection result 11) is to be analyzed or whether the entire range of the source code (analysis target source code 1) is to be analyzed.
【0065】実行性能を劣化させる可能性のあるクラス
名、処理名、処理パターン(すなわち、実行環境別性能
劣化情報6の各項目)には、大別して、1回現れるだけ
でも問題になるものと、繰返し現れると問題になる(言
い換えれば、1回だけなら問題にならない)ものの2種
類がある。本発明の装置では、1回現れるだけでも問題
になる項目は解析対象ソースコード1全体を対象に検出
し、繰返し現れると問題になる項目は反復・集中箇所検
出結果11(反復・集中箇所検出部10の出力)を対象
に検出する。Class names, processing names, and processing patterns (that is, each item of the execution environment-specific performance deterioration information 6) that may degrade execution performance are roughly classified into problems if they appear only once. There are two types, one that causes a problem when it appears repeatedly (in other words, it does not cause a problem only once). In the apparatus of the present invention, an item which becomes a problem even if it appears only once is detected for the entire analysis target source code 1, and an item which becomes a problem when it appears repeatedly is a repetition / concentration location detection result 11 (repetition / concentration location detection unit). 10 output).
【0066】こうすることで、1回だけなら問題になら
ない項目に関して、反復・集中処理しない部分に現れて
いることまで指摘するような、過剰な検出を防ぐことが
できる。In this way, it is possible to prevent an excessive detection that indicates that an item that does not cause a problem only once appears in a portion where repetition / intensive processing is not performed.
【0067】更に、1回現れるだけでも問題になるもの
と繰返し現れると問題になるものの間の境界は、ユーザ
の設計方針や対象システムの性質によって異なる場合が
多い。また、何回以上を「実行回数が多い」とするのが
適切かということも、ユーザによって異なる。本発明の
装置では、ユーザが実行環境別性能劣化情報6の各項目
を修正して、実行回数が多くなる箇所のみ解析の対象に
するか、ソースコードの全範囲を解析の対象にするかを
柔軟に切り替えることができる。また、何回以上を反復
・集中として検出するかもユーザが指定できる。これに
よってユーザは、自分のプロジェクトに最適な解析がで
きる。Further, the boundary between a problem that appears once and a problem that repeatedly appears often depends on the design policy of the user and the nature of the target system. Also, how many times or more is appropriate to be “frequently executed” also differs depending on the user. In the device of the present invention, the user corrects each item of the performance degradation information 6 for each execution environment, and determines whether to analyze only a portion where the number of executions increases or to analyze the entire range of the source code. Can be switched flexibly. Further, the user can specify how many times or more times are to be detected as repetition / concentration. This allows the user to make the best analysis for his project.
【0068】(4) :前記(1) のオブジェクト指向プログ
ラム性能改善支援装置において、実行環境別性能劣化情
報6の項目毎に、実行性能に対する影響の度合いをラン
ク付けする情報の登録と修正を可能とし、ソースコード
中で実行性能を劣化させる可能性のある箇所(性能劣化
箇所検出結果8)を、性能劣化箇所表示処理部9が、実
行性能に対する影響の大きさで順序付けて、ディスプレ
イ装置の表示画面に表示する。(4): In the object-oriented program performance improvement support device of (1), it is possible to register and correct information for ranking the degree of influence on execution performance for each item of the performance degradation information 6 for each execution environment. The performance degradation location display processing unit 9 orders the locations in the source code that may degrade execution performance (performance degradation location detection result 8) according to the magnitude of the effect on the execution performance, and displays them on the display device. Display on the screen.
【0069】実行性能を劣化させる可能性のあるクラス
名、処理名、処理パターン(すなわち、実行環境別性能
劣化情報6の各項目)には、実行性能に対する影響が大
きなものと小さなものとがある。問題を解決する際に
は、実行性能に対する影響が大きなものから順に行うの
が望ましい。The class name, processing name, and processing pattern (that is, each item of the execution environment-specific performance deterioration information 6) that may degrade the execution performance include those having a large effect on the execution performance and those having a small effect on the execution performance. . When solving a problem, it is desirable to carry out in order from the one having the greatest effect on execution performance.
【0070】本発明の装置では、実行環境別性能劣化情
報6の項目毎に、実行性能に対する影響の度合いをラン
ク付けする情報を登録することで、性能劣化箇所検出結
果8(性能劣化箇所解析部7の出力)を実行性能に対す
る影響の大きなものから順に表示することを可能にす
る。また、実行性能に対する影響の大小は、ユーザが構
築するシステムの性質や実行環境によって異なることが
多いが、実行環境別性能劣化情報6を修正することで、
ユーザに最適な解析結果を得られるようにすることがで
きる。In the apparatus according to the present invention, the information for ranking the degree of influence on the execution performance is registered for each item of the performance degradation information 6 for each execution environment, so that the performance degradation location detection result 8 (performance degradation location analysis unit) is registered. 7) can be displayed in descending order of the effect on execution performance. Further, the magnitude of the influence on the execution performance often differs depending on the nature of the system constructed by the user and the execution environment, but by correcting the performance degradation information 6 for each execution environment,
An optimal analysis result can be obtained for the user.
【0071】(5) :オブジェクト指向プログラムのソー
スコード(解析対象ソースコード1)を静的に解析し、
指定された処理中でメモリを確保している箇所が何箇所
あるか、クラス又はタイプ毎に特定の実行環境における
数の性能予測計算式15を導出する。また、合わせて実
行環境別性能実測情報13に予め登録してあるクラス又
はタイプ毎のメモリ使用量情報を用いて、特定の実行環
境におけるメモリ使用量の性能予測計算式15を導出す
る。(5): The source code of the object-oriented program (source code 1 to be analyzed) is statically analyzed,
The number of performance prediction formulas 15 in a specific execution environment for each class or type is derived for how many locations where memory is reserved in the designated processing. In addition, using the memory usage information for each class or type registered in advance in the performance measurement information for each execution environment 13, a performance prediction calculation formula 15 for the memory usage in a specific execution environment is derived.
【0072】入力値3によって指示があった場合は、導
出した性能予測計算式15を実行環境別性能予測情報1
4に登録する。性能予測計算式15の変数部分は、性能
予測結果表示処理部18が、対応するソースコードの箇
所を表示し、ユーザが対話的に入力可能とする。ユーザ
が入力した値を結果計算部16が性能予測計算式15に
代入して性能予測値17を得る。When an instruction is given by the input value 3, the derived performance prediction formula 15 is converted to the performance prediction information 1 for each execution environment.
Register to 4. The performance prediction result display processing unit 18 displays the corresponding source code portion of the variable part of the performance prediction calculation formula 15 so that the user can interactively input it. The result calculation unit 16 substitutes the value input by the user into the performance prediction calculation formula 15 to obtain the performance prediction value 17.
【0073】この場合、オブジェクト指向プログラムで
は、オブジェクト(クラスのインスタンス)や配列がメ
モリを圧迫することで性能問題が起こることが多い。し
かし、従来技術は、ソースコード全体が完成し実行可能
な形になってから生成されるオブジェクトや配列の数と
メモリ使用量を実測するだけで、事前の予測が行えなか
った。In this case, in an object-oriented program, a performance problem often occurs when an object (an instance of a class) or an array presses a memory. However, in the prior art, it was not possible to make a prediction in advance by merely measuring the number of objects and arrays generated after the entire source code was completed and in an executable form, and the memory usage.
【0074】本発明の装置では、ソースコードを解析し
て、或るメソッドが呼ばれた際に生成されるクラスのイ
ンスタンスや配列の数の予測式を作る。また、メモリ使
用量は、各クラスのインスタンスや配列について実行環
境毎に予め実測した情報(実行環境別性能実測情報1
3)を用いて、予測式を作る。ソースコードを解析する
だけでは分からない部分は式の変数とし、ユーザと対話
しながら解決する。The apparatus of the present invention analyzes a source code and creates a prediction formula for the number of instances and arrays of a class generated when a certain method is called. In addition, the memory usage is calculated based on information (for each execution environment, performance measurement information 1) measured in advance for the instances and arrays of each class for each execution environment.
A prediction formula is created using 3). The parts that cannot be understood only by analyzing the source code are set as variables in the expression, and are resolved while interacting with the user.
【0075】また、各処理(メソッドやコンストラク
タ)毎に作成した予測式を実行環境別性能予測情報14
に登録して再利用できるので、同じ処理について予測式
を再計算せずに済み、性能予測式導出部12の処理を効
率化できる。The prediction formula created for each process (method or constructor) is stored in the performance prediction information 14 for each execution environment.
, And can be reused, so that the prediction formula need not be recalculated for the same process, and the process of the performance prediction formula deriving unit 12 can be made more efficient.
【0076】(6) :オブジェクト指向プログラム性能改
善支援装置において、予め登録してある実行環境別性能
実測情報13を用いてオブジェクト指向プログラムのソ
ースコード(解析対象ソースコード1)を静的に解析
し、指定された処理の「特定の実行環境における処理時
間のオーバーヘッドの性能予測計算式15」を導出す
る。(6): The object-oriented program performance improvement support apparatus statically analyzes the source code of the object-oriented program (analysis target source code 1) using the performance measurement information 13 for each execution environment registered in advance. Then, a “performance prediction equation 15 for processing time overhead in a specific execution environment” of the designated process is derived.
【0077】また、入力値3によって指示があった場合
は、導出した性能予測計算式15を実行環境別性能予測
情報14に登録する。そして、性能予測計算式15の変
換部分は、対応するソースコードの箇所をディスプレイ
装置の表示画面に表示し、ユーザが対話的に入力可能と
する。ユーザが入力した値を結果計算部16が性能予測
計算式15に代入して性能予測値17を得る。When an instruction is given by the input value 3, the derived performance prediction formula 15 is registered in the performance prediction information 14 for each execution environment. Then, the conversion part of the performance prediction formula 15 displays the corresponding source code location on the display screen of the display device so that the user can interactively input. The result calculation unit 16 substitutes the value input by the user into the performance prediction calculation formula 15 to obtain the performance prediction value 17.
【0078】この場合、従来技術では、ソースコード全
体が完成し、実行可能な形になってからメソッドの実行
にかかる時間を実測するだけで、事前の予測は行えなか
った。本発明の装置では、ソースコードを解析して、処
理(メソッドやコンストラクタ)毎に処理時間のオーバ
ーヘッドの予測式を作る。In this case, in the prior art, it was not possible to make a prior prediction simply by actually measuring the time required for executing the method after the entire source code was completed and became executable. In the apparatus of the present invention, a source code is analyzed, and a prediction formula of a processing time overhead is created for each process (method or constructor).
【0079】予測式の作成には、基本的な処理のオーバ
ーヘッドについて実行環境毎に予め実測した情報(実行
環境別性能実測情報13)を用いる。ソースコードを解
析するだけでは分からない部分は式の変数とし、ユーザ
と対話しながら解決する。For the creation of the prediction formula, information actually measured in advance for each execution environment regarding the overhead of the basic processing (performance measurement information 13 for each execution environment) is used. The parts that cannot be understood only by analyzing the source code are set as variables in the expression, and are resolved while interacting with the user.
【0080】(7) :前記(5) のオブジェクト指向プログ
ラム性能改善支援装置において、実行環境毎の性能改善
方法を予め登録してある実行環境別性能改善情報4を用
いて、改善情報表示処理部5が、確保されるメモリ量を
減らすためのプログラミングの改善方法を表示する。(7): In the object-oriented program performance improvement support apparatus of (5), the improvement information display processing unit uses the performance improvement information 4 for each execution environment in which the performance improvement method for each execution environment is registered in advance. 5 shows how to improve the programming to reduce the amount of memory reserved.
【0081】この場合、従来技術では、性能劣化部分を
指摘するだけに留まっているのに対し、本発明の装置で
は、実行性能を劣化させる可能性のある箇所に対して対
処法を提示することができる。また、実行環境別性能改
善情報4を改善情報表示処理部5に作り込まず、外部か
ら追加、修正が可能なデータとして蓄積している。In this case, in the prior art, only the performance degradation part is pointed out, whereas in the apparatus of the present invention, a countermeasure is provided for a portion that may degrade the execution performance. Can be. Further, the performance improvement information 4 for each execution environment is not created in the improvement information display processing unit 5, but is stored as data that can be added and modified from outside.
【0082】このように、ユーザが自分のプロジェクト
に合わせて実行環境別性能改善情報4の追加、修正が行
なえるため、ユーザの実行環境や設計方針に合った対処
法の提示が可能になる。As described above, since the user can add or modify the performance improvement information 4 for each execution environment according to his or her project, it is possible to present a countermeasure suitable for the execution environment and the design policy of the user.
【0083】(8) :前記(6) のオブジェクト指向プログ
ラム性能改善支援装置において、ソースコード中で処理
時間のオーバヘッドを発生させている箇所に対して、実
行環境毎の性能改善方法を予め登録してある実行環境別
性能改善情報4を用いて、改善情報表示処理部5がプロ
グラムの改善方法をディスプレイ装置の表示画面に表示
する。(8): In the object-oriented program performance improvement support apparatus of (6), a performance improvement method for each execution environment is registered in advance in a place where a processing time overhead is generated in the source code. Using the performance improvement information 4 for each execution environment, the improvement information display processing unit 5 displays a program improvement method on a display screen of a display device.
【0084】この場合、従来技術では、性能劣化部分を
指摘するだけに留まっているのに対し、本発明の装置で
は、実行性能を劣化させる可能性のある箇所に対して、
対処法を提示することができる。In this case, in the prior art, only the performance degradation portion is pointed out, whereas in the device of the present invention, the portion where the execution performance may be degraded is
Suggestions can be provided.
【0085】また、実行環境別性能改善情報4を改善情
報表示処理部5に作り込まず、外部から追加、修正が可
能なデータとして蓄積している。このように、ユーザが
自分のプロジェクトに合わせて実行環境別性能改善情報
4の追加、修正が行なえるため、ユーザの実行環境や設
計方針に合った対処法の提示が可能になる。The performance improvement information 4 for each execution environment is stored in the improvement information display processing unit 5 as data that can be added and modified from outside without being created. In this way, the user can add and modify the performance improvement information for each execution environment 4 according to his / her project, and thus can present a countermeasure suitable for the execution environment and the design policy of the user.
【0086】§2:装置全体の処理の説明 図5は装置全体の処理フローチャート(その1)、図6
は装置全体の処理フローチャート(その2)である。以
下、図5、図6に基づいてオブジェクト指向プログラム
性能改善支援装置全体の処理を説明する。なお、S−1
〜S−13は各処理ステップを示す。§2: Description of the processing of the entire apparatus FIG. 5 is a processing flowchart (part 1) of the entire apparatus, FIG.
Is a processing flowchart (part 2) of the entire apparatus. Hereinafter, the processing of the object-oriented program performance improvement support apparatus as a whole will be described with reference to FIGS. Note that S-1
S-13 show each processing step.
【0087】S−1の処理では、解析制御部2は入力値
3を読み込む。そして、S−2の処理では、解析制御部
2は、入力値3に解析対象ソースコード1の全体の性能
劣化箇所解析が指示されているかを調べ、性能劣化箇所
解析が指示されていれば、S−3の処理へ移行し、性能
劣化箇所解析が指示されていなければ、S−7の処理へ
移行する。In the process of S-1, the analysis control unit 2 reads the input value 3. In the process of S-2, the analysis control unit 2 checks whether or not the input value 3 indicates the analysis of the entire performance degradation portion of the analysis target source code 1. The process proceeds to S-3, and if the performance degradation location analysis is not instructed, the process proceeds to S-7.
【0088】S−3の処理では、性能劣化箇所解析部7
は、解析対象ソースコード1の全範囲を対象にした性能
劣化箇所解析を行ない、性能劣化箇所検出結果8を出力
する。そして、S−4の処理では、性能劣化箇所表示処
理部9は、性能劣化箇所検出結果8を、実行性能に対す
る影響の大きさで順序付けて表示する。In the process of S-3, the performance degradation point analysis unit 7
Performs a performance degradation location analysis on the entire range of the analysis target source code 1 and outputs a performance degradation location detection result 8. Then, in the process of S-4, the performance degradation point display processing unit 9 displays the performance degradation point detection results 8 in order according to the magnitude of the influence on the execution performance.
【0089】次に、S−5の処理では、解析制御部2
は、入力値3に性能改善方法の表示が指示されているか
を調べ、入力値3に性能改善方法の表示が指示されてい
れば、S−6の処理へ移行し、入力値3に性能改善方法
の表示が指示されていなければこの処理を終了する。Next, in the process of S-5, the analysis control unit 2
Checks whether the input value 3 indicates the display of the performance improvement method. If the input value 3 indicates the display of the performance improvement method, the process proceeds to S-6, and the input value 3 indicates the performance improvement method. If the display of the method has not been instructed, this processing ends.
【0090】S−6の処理では、解析制御部2は改善情
報表示処理部5を起動し、性能劣化箇所に対する改善情
報の表示を指示する。改善情報表示処理部5は、性能劣
化箇所検出結果8に対する実行環境別性能改善情報4を
選んで表示し、処理を終了する。In the process of S-6, the analysis control unit 2 activates the improvement information display processing unit 5 and instructs the display of the improvement information on the performance degradation point. The improvement information display processing unit 5 selects and displays the performance improvement information 4 for each execution environment with respect to the performance degradation point detection result 8, and ends the processing.
【0091】S7の処理では、解析制御部2は、入力値
3に処理の反復・集中箇所の検出が指示されているかを
調べ、入力値3に処理の反復・集中箇所の検出が指示さ
れていればS−8の処理へ移行し、入力値3に処理の反
復・集中箇所の検出が指示されていなければ、S−12
の処理へ移行する。In the process of S7, the analysis control unit 2 checks whether or not the input value 3 indicates the detection of the repetition / concentration point of the processing, and the input value 3 indicates the detection of the repetition / concentration point of the processing. If the input value 3 is not instructed to detect the repetition / concentration of the processing, the process proceeds to S-12.
Move to the processing of.
【0092】S−8の処理では、反復・集中箇所検出部
10は、解析対象ソースコード1を解析して、反復・集
中箇所検出結果11を出力する。S−9の処理では、性
能劣化箇所表示処理部9は、反復・集中箇所検出結果1
1を表示する。S−10の処理では、解析制御部2は、
入力値3に反復・集中箇所の性能劣化箇所解析が指示さ
れているかを調べ、入力値3に反復・集中箇所の性能劣
化箇所解析が指示されていれば、S−11の処理へ移行
し、入力値3に反復・集中箇所の性能劣化箇所解析が指
示されていなければ、この処理を終了する。In the process of S-8, the repetition / concentration point detection unit 10 analyzes the analysis target source code 1 and outputs a repetition / concentration point detection result 11. In the process at S-9, the performance degradation point display processing unit 9 sets the repetition / concentration point detection result 1
1 is displayed. In the process of S-10, the analysis control unit 2
It is checked whether or not the input value 3 instructs the performance degradation analysis of the repetition / concentration location. If the input value 3 designates the performance degradation analysis of the repetition / concentration location, the process proceeds to S-11. If the input value 3 does not indicate the analysis of the performance degradation point of the repeated / concentrated location, the process is terminated.
【0093】S−11の処理では、性能劣化箇所解析部
7は、反復・集中箇所検出結果11を対象にした性能劣
化箇所解析を行ない、性能劣化箇所検出結果8を出力
し、S−4の処理へ移行する。In the process of S-11, the performance degradation point analysis unit 7 performs a performance degradation location analysis on the repetition / concentration location detection result 11, outputs a performance degradation location detection result 8, and Move on to processing.
【0094】S12の処理では、解析制御部2は、入力
値3に性能予測式の導出が指示されているかを調べ、入
力値3に性能予測式の導出が指示されていれば、S−1
3の処理へ移行し、入力値3に性能予測式の導出が指示
されていなければ、この処理を終了する。S−13の処
理では、性能予測式導出部12は、メモリ使用量や処理
時間のオーバヘッドの性能予測計算式15を出力し、処
理を終了する。In the process of S12, the analysis control unit 2 checks whether the input value 3 is instructed to derive a performance prediction formula.
Then, the process proceeds to the process 3, and if the input value 3 is not instructed to derive the performance prediction formula, the process ends. In the process of S-13, the performance prediction formula deriving unit 12 outputs the performance prediction calculation formula 15 of the memory usage and the processing time overhead, and ends the process.
【0095】§3:詳細な処理の説明 以下、オブジェクト指向プログラム性能改善支援装置の
詳細な処理を説明する。§3: Description of Detailed Processing Hereinafter, detailed processing of the object-oriented program performance improvement support apparatus will be described.
【0096】(1) :前記S−3の詳細な説明 図7は詳細な処理フローチャート(その1)であり、前
記S−3の詳細な処理を示す。なお、図7において、S
−3−1〜S−3−5は各処理ステップを示す。前記S
−3の処理では、性能劣化箇所解析部7は、解析対象ソ
ースコード1の全範囲を対象にした性能劣化箇所解析を
行ない、性能劣化箇所検出結果8を出力する。以下、こ
の処理を更に詳細に説明する。(1): Detailed Description of the S-3 FIG. 7 is a detailed processing flowchart (No. 1) showing the detailed processing of the S-3. In FIG. 7, S
−3-1 to S-3-5 show each processing step. Said S
In the process of -3, the performance degradation point analysis unit 7 performs a performance degradation location analysis on the entire range of the analysis target source code 1 and outputs a performance degradation location detection result 8. Hereinafter, this processing will be described in more detail.
【0097】先ず、S−3−1の処理では、解析制御部
2は、入力値3からソースコード名と実行環境名を読み
込む。S−3−2の処理では、解析制御部2は、性能劣
化箇所解析部7を起動して、ソースコード名と実行環境
名を性能劣化箇所解析部7に渡す。S−3−3の処理で
は、性能劣化箇所解析部7は、実行環境別性能劣化情報
6から与えられた実行環境名と一致する項目を読み込
む。First, in the process of S-3-1, the analysis control unit 2 reads the source code name and the execution environment name from the input value 3. In the process of S-3-2, the analysis control unit 2 activates the performance degradation location analysis unit 7 and passes the source code name and the execution environment name to the performance degradation location analysis unit 7. In the process of S-3-3, the performance degradation point analysis unit 7 reads an item that matches the execution environment name given from the execution environment-specific performance degradation information 6.
【0098】S−3−4の処理では、性能劣化箇所解析
部7は、ソースコード名で指定された解析対象ソースコ
ード1を読み込み、S−3−3で読み込んだ項目に適合
する箇所を検出する。S−3−5の処理では、性能劣化
箇所解析部7は、S−3−4で検出した箇所と、その箇
所が適合した項目の識別情報を、性能劣化箇所検出結果
8として出力する。このようにしてS−3の処理を終了
する。In the process of S-3-4, the performance degradation location analysis unit 7 reads the analysis target source code 1 specified by the source code name, and detects a location that matches the item read in S-3-3. I do. In the process of S-3-5, the performance degradation point analysis unit 7 outputs the location detected in S-3-4 and the identification information of the item to which the location conforms as the performance degradation location detection result 8. Thus, the process of S-3 ends.
【0099】(2) :前記S−8の詳細な説明 図8は詳細な処理フローチャート(その2)であり、前
記S−8の詳細な処理を示す。また、図9は詳細な処理
の説明図であり、S−8−3の補足説明である。なお、
図8において、S−8−1〜S−8−4は各処理ステッ
プを示す。前記S−8の処理では、反復・集中箇所検出
部10は、解析対象ソースコード1を解析して、反復・
集中箇所検出結果11を出力する。以下、この処理を更
に詳細に説明する。(2): Detailed Description of S-8 FIG. 8 is a detailed processing flowchart (No. 2) showing the detailed processing of S-8. FIG. 9 is an explanatory diagram of the detailed processing, and is a supplementary explanation of S-8-3. In addition,
In FIG. 8, S-8-1 to S-8-4 indicate each processing step. In the process of S-8, the repetition / concentration point detection unit 10 analyzes the analysis target source code 1 and
The concentration point detection result 11 is output. Hereinafter, this processing will be described in more detail.
【0100】先ず、S−8−1の処理では、解析制御部
2は、入力値3から、ソースコード名と、繰り返し多重
度、集中度を読み込む。S−8−2の処理では、解析制
御部2は、反復・集中箇所検出部10を起動して、ソー
スコード名、繰り返し多重度、集中度数を反復・集中箇
所検出部10に渡す。S−8−3の処理では、反復・集
中箇所検出部10は、ソースコード名で指定された解析
対象ソースコード1を読み込み、以下のa、b、cの各
箇所を検出する。First, in the process of S-8-1, the analysis control unit 2 reads the source code name, the multiplicity of repetition and the degree of concentration from the input value 3. In the process of S-8-2, the analysis control unit 2 activates the repetition / concentration location detection unit 10 and passes the source code name, the multiplicity of repetition, and the concentration frequency to the repetition / concentration location detection unit 10. In the process of S-8-3, the repeated / concentrated location detection unit 10 reads the analysis target source code 1 specified by the source code name, and detects the following locations a, b, and c.
【0101】a:繰り返し多重度以上にループが重なっ
ている(ネストしている)箇所を検出する。b:入れ子
呼び出しをしている箇所を検出する。c:集中度よりも
多くの箇所から呼び出しを受けている処理を検出する。A: Detects a point where loops overlap (nest) at a multiplicity of repetition or higher. b: Detect the location where the nested call is made. c: Detect a process receiving a call from more places than the concentration level.
【0102】S−8−4の処理では、反復・集中箇所検
出部10は、S−8−3で検出した箇所を、反復・集中
箇所検出結果11として出力する。以上の処理によりS
−8の処理を終了する。In the process of S-8-4, the repeated / concentrated location detecting section 10 outputs the location detected in S-8-3 as the repetition / concentrated location detection result 11. By the above processing, S
The process of -8 ends.
【0103】次に、S−8−3の処理を図9により補足
説明をする。S−8−3の処理における前記aでは、ル
ープ(繰り返し)が多重になっている部分を検出する。
このループの多重度は3(ループ1、ループ2、ループ
3)なので、繰り返し多重度が2と指定された場合は、
検出の対象となる。また、前記bでは、同じ処理(図の
処理A)を入れ子に呼び出している部分が検出の対象と
なる。Next, the processing of S-8-3 will be supplementarily described with reference to FIG. In the above-mentioned a in the process of S-8-3, a portion where a loop (repetition) is multiplexed is detected.
Since the multiplicity of this loop is 3 (loop 1, loop 2, loop 3), if the repetition multiplicity is designated as 2,
Target for detection. Further, in the above-mentioned b, a portion where the same process (process A in the figure) is called in a nested manner is to be detected.
【0104】前記cでは、多数の箇所から呼び出されて
いる箇所を検出する。この場合、図の処理Aは、X.
Y.Zの三ケ所から呼び出されているので、集中度が2
と指定された場合は、検出の対象となる。In the above-mentioned c, a location called from a number of locations is detected. In this case, the processing A in FIG.
Y. Z is called from three places, so the concentration level is 2
If it is specified, it will be detected.
【0105】(3) :前記S−11の詳細な説明 図10は詳細な処理フローチャート(その3)であり、
前記S−11の詳細な処理を示す。なお、図10におい
て、S−11−1〜S−11−5は各処理ステップを示
す。S−11の処理では、性能劣化箇所解析部7は、反
復・集中箇所検出結果11を対象にした性能劣化箇所解
析を行ない、性能劣化箇所検出結果8を出力する。以
下、この処理を更に詳細に説明する。(3): Detailed description of S-11 FIG. 10 is a detailed processing flowchart (3).
The detailed process of S-11 will be described. In FIG. 10, S-11-1 to S-11-5 indicate each processing step. In the process of S-11, the performance degradation point analysis unit 7 performs a performance degradation location analysis on the repetition / concentration location detection result 11, and outputs a performance degradation location detection result 8. Hereinafter, this processing will be described in more detail.
【0106】S−11−1の処理では、解析制御部2
は、入力値3からソースコード名と実行環境名を読み込
む。S−11−2の処理では、解析制御部2は、性能劣
化箇所解析部7を起動して、ソースコード名と実行環境
名を性能劣化箇所解析部7に渡す。S−11−3の処理
では、性能劣化箇所解析部7は、実行環境別性能劣化情
報6から与えられた実行環境名と一致する項目を読み込
む。In the process of S-11-1, the analysis control unit 2
Reads the source code name and the execution environment name from the input value 3. In the process of S-11-2, the analysis control unit 2 activates the performance degradation location analysis unit 7 and passes the source code name and the execution environment name to the performance degradation location analysis unit 7. In the process of S-11-3, the performance degradation point analysis unit 7 reads an item that matches the given execution environment name from the execution environment-specific performance degradation information 6.
【0107】S−11−4の処理では、性能劣化箇所解
析部7は、ソースコード名で指定された反復・集中箇所
検出結果11を読み込み、S−11−3の処理で読み込
んだ項目に適合する箇所を検出する。S−11−5の処
理では、性能劣化箇所解析部7は、S−11−4の処理
で検出した箇所と、その箇所が適合した項目の識別情報
を、性能劣化箇所検出結果8として出力する。以上の処
理により、S−11の処理を終了する。In the process of S-11-4, the performance degradation location analysis unit 7 reads the repetition / concentration location detection result 11 specified by the source code name, and matches the item read in the process of S-11-3. Detect the place to be performed. In the process of S-11-5, the performance degradation point analysis unit 7 outputs the location detected in the process of S-11-4 and the identification information of the item to which the location conforms as the performance degradation location detection result 8. . With the above processing, the processing of S-11 ends.
【0108】(4) :前記S−13の詳細な説明 図11は詳細な処理フローチャート(その4)、図12
は詳細な処理フローチャート(その5)であり、前記S
−13の詳細な処理を示す。なお、図11、図12にお
いて、S−13−1〜S−13−11は各処理ステップ
を示す。S−13の処理では、性能予測式導出部12
は、メモリ使用量や処理時間のオーバーヘッドの性能予
測式15を出力する。以下、この処理を更に詳細に説明
する。(4): Detailed description of S-13 FIG. 11 is a detailed processing flowchart (part 4) and FIG.
Is a detailed process flowchart (part 5), wherein the S
13 shows a detailed process. 11 and 12, S-13-1 to S-13-11 indicate each processing step. In the process of S-13, the performance prediction formula deriving unit 12
Outputs the performance prediction formula 15 of memory usage and processing time overhead. Hereinafter, this processing will be described in more detail.
【0109】S−13−1の処理では、解析制御部2
は、入力値3にメモリ使用量の予測式の導出が指示され
ているかを調べ、メモリ使用量の予測式の導出が指示さ
れていればS−13−2の処理へ移行し、メモリ使用量
の予測式の導出が指示されていなければS−13−3の
処理へ移行する。In the process of S-13-1, the analysis control unit 2
Checks whether the input value 3 is instructed to derive a prediction formula for the memory usage. If the derivation of the prediction formula for the memory usage is instructed, the process proceeds to S-13-2, and If the derivation of the prediction formula has not been instructed, the process proceeds to S-13-3.
【0110】S−13−2の処理では、性能予測式導出
部12は、解析対象ソースコード1のメモリ使用量につ
いて、性能予測計算式15を出力する。S−13−5の
処理では、性能予測結果表示処理部18は、前記出力さ
れた性能予測計算式15を表示する。In the process at S-13-2, the performance prediction formula deriving unit 12 outputs a performance prediction calculation formula 15 for the memory usage of the source code 1 to be analyzed. In the process of S-13-5, the performance prediction result display processing unit 18 displays the outputted performance prediction calculation formula 15.
【0111】一方、S−13−3の処理では、解析制御
部2は、入力値3に処理時間のオーバーヘッドの予測式
の導出が指示されているかを調べ、処理時間のオーバヘ
ッドの予測式の導出が指示されていれば、S−13−4
の処理へ移行し、前記性能予測計算式15の導出が指示
されていなければ、この処理を終了する。On the other hand, in the process of S-13-3, the analysis control unit 2 checks whether the input value 3 is instructed to derive a prediction formula of the processing time overhead, and derives the prediction formula of the processing time overhead. Is indicated, S-13-4
If the instruction to derive the performance prediction formula 15 has not been instructed, the process is terminated.
【0112】S−13−4の処理では、性能予測式導出
部12は、解析対象ソースコード1の処理時間のオーバ
ーヘッドについては、性能予測計算式15を出力し、S
−13−5の処理へ移行する。S−13−6の処理で
は、結果計算部16は、性能予測計算式15を読み込
む。In the process of S-13-4, the performance prediction formula deriving unit 12 outputs a performance prediction calculation formula 15 for the processing time overhead of the analysis target source code 1, and
Move to the process of 13-5. In the process of S-13-6, the result calculation unit 16 reads the performance prediction calculation formula 15.
【0113】S−13−7の処理では、結果計算部16
は、性能予測計算式15に変数が残っているかを調べ、
性能予測計算式15に変数が残っていれば、S−13−
8の処理へ移行し、性能予測計算式15に変数が残って
いなければ、S−13−10の処理へ移行する。In the process of S-13-7, the result calculation unit 16
Checks whether variables remain in the performance prediction formula 15, and
If a variable remains in the performance prediction equation 15, S-13-
Then, the process proceeds to S-13-10, if there are no variables left in the performance prediction formula 15, the process proceeds to S-13-10.
【0114】S−13−8の処理では、結果計算部16
は、性能予測計算式15の変数部分に、オペレータが入
力した値を代入して計算し、性能予測値17を出力す
る。S−13−9の処理では、性能予測結果表示処理部
18は、性能予測値17を表示し、S−13−7の処理
へ移行する。In the process of S-13-8, the result calculation unit 16
Is calculated by substituting the value input by the operator into the variable part of the performance prediction equation 15, and outputs the performance prediction value 17. In the process of S-13-9, the performance prediction result display processing unit 18 displays the performance prediction value 17, and proceeds to the process of S-13-7.
【0115】S−13−10の処理では、解析制御部2
は、入力値3に性能改善方法の表示が指示されているか
を調べ、入力値3に性能改善方法の表示が指示されてい
れば、S−13−11の処理へ移行し、入力値3に性能
改善方法の表示が指示されていなければ、この処理を終
了する。In the process of S-13-10, the analysis control unit 2
Checks whether the input value 3 indicates the display of the performance improvement method. If the input value 3 indicates the display of the performance improvement method, the process proceeds to S-13-11, and the input value 3 is displayed. If the display of the performance improvement method has not been instructed, the process ends.
【0116】S−13−11の処理では、解析制御部2
は、改善情報表示処理部5を起動し、性能予測に対する
改善情報の表示を指示する。改善情報表示処理部5は、
性能予測計算式15に対する実行環境別性能改善情報4
を選んで表示する。以上の処理によりS−13の処理を
終了する。In the process of S-13-11, the analysis control unit 2
Starts the improvement information display processing unit 5 and instructs the display of the improvement information for the performance prediction. The improvement information display processing unit 5
Execution Environment-Specific Performance Improvement Information 4 for Performance Prediction Formula 15
Select and display. With the above processing, the processing of S-13 ends.
【0117】(5) :前記S−13−2の詳細な説明 図13は詳細な処理フローチャート(その6)、図14
は詳細な処理フローチャート(その7)であり、前記S
−13−2の詳細な処理を示す。なお、図13、図14
において、S−13−2−1〜S−13−2−13は各
処理ステップを示す。S−13−2の処理では、性能予
測式導出部12は、解析対象ソースコード1のメモリ使
用量について、性能予測計算式15を出力する。以下、
この処理を更に詳細に説明する。(5): Detailed description of S-13-2 FIG. 13 is a detailed processing flowchart (part 6) and FIG.
Is a detailed processing flowchart (No. 7), and
The detailed process of -13-2 is shown. 13 and FIG.
, S-13-2-1 to S-13-2-13 indicate each processing step. In the process of S-13-2, the performance prediction formula deriving unit 12 outputs a performance prediction calculation formula 15 for the memory usage of the source code 1 to be analyzed. Less than,
This processing will be described in more detail.
【0118】S−13−2−1の処理では、解析制御部
2は、入力値3からソースコード名と処理名、実行環境
名、登録指示値を読み込む。S−13−2−2の処理で
は、解析制御部2は、性能予測式導出部12を起動し
て、ソースコード名と、処理名、実行環境名を性能予測
式導出部12に渡す。In the process of S-13-2-1, the analysis control unit 2 reads the source code name, the process name, the execution environment name, and the registration instruction value from the input value 3. In the process of S-13-2-2, the analysis control unit 2 activates the performance prediction formula deriving unit 12, and passes the source code name, the processing name, and the execution environment name to the performance prediction formula deriving unit 12.
【0119】S−13−2−3の処理では、性能予測式
導出部12は、ソースコード名で指定された解析対象ソ
ースコード1を読み込み、処理名で指定された処理の中
で、メモリを確保している箇所を検出する。S−13−
2−4の処理では、性能予測式導出部12は、クラスま
たはタイプ毎にメモリを確保している箇所の数の性能予
測計算式15を導出する。In the process of S-13-2-3, the performance prediction formula deriving unit 12 reads the analysis target source code 1 specified by the source code name, and stores the memory in the process specified by the process name. Detect the secured area. S-13-
In the process of 2-4, the performance prediction formula deriving unit 12 derives the performance prediction formula 15 of the number of locations where the memory is secured for each class or type.
【0120】そして、S−13−2−5の処理では、性
能予測式導出部12は、指定された処理の中で呼び出し
ている処理はあるかを調べ、指定された処理の中で呼び
出している処理があればS−13−2−6の処理へ移行
し、指定された処理の中で呼び出している処理がなけれ
ばS13−2−7の処理へ移行する。Then, in the process of S-13-2-5, the performance prediction formula deriving unit 12 checks whether there is a process called in the designated process, and calls the process in the designated process. If there is any process, the process proceeds to S-13-2-6, and if there is no calling process in the designated process, the process proceeds to S13-2-7.
【0121】S−13−2−6の処理では、性能予測式
導出部12は、呼び出している処理に対して、S−13
−2−3の処理を起動し、S−13−2−3の処理へ移
行する。また、S−13−2−7の処理では、性能予測
式導出部12は、登録指示値に実行環境別性能予測情報
14へ登録が指示されているかを調べ、登録指示値に実
行環境別性能予測情報14へ登録が指示されていればS
−13−2−8の処理へ移行し、登録指示値に実行環境
別性能予測情報14へ登録が指示されていなければS−
13−2−11の処理へ移行する。In the process of S-13-2-6, the performance prediction formula deriving unit 12 performs S-13 on the calling process.
The process of -2-3 is started, and the process proceeds to S-13-2-3. In the process of S-13-2-7, the performance prediction formula deriving unit 12 checks whether registration is instructed in the execution environment-specific performance prediction information 14 in the registration instruction value, and determines the execution environment-specific performance in the registration instruction value. S if registration is instructed in prediction information 14
If the registration instruction value does not indicate registration in the performance prediction information by execution environment 14, the process proceeds to S- 2-3-8.
The process moves to the process of 13-2-11.
【0122】S−13−2−8の処理では、性能予測式
導出部12は、メモリを確保している箇所の数の性能予
測計算式15を、処理毎に実行環境別性能予測情報14
に登録しながら、S−13−2−1の処理で読み込んだ
処理名で指示された処理(呼び出しの大元の処理)の性
能予測計算式15を、クラスまたはタイプ別に組み立て
て出力する。In the process of S-13-2-8, the performance prediction formula deriving unit 12 calculates the performance prediction calculation formulas 15 of the number of locations where the memory is secured for each process by the performance prediction information 14 for each execution environment.
The performance prediction calculation formula 15 of the process (the original process of the call) specified by the process name read in the process of S-13-2-1 is assembled and output for each class or type.
【0123】S−13−2−9の処理では、性能予測式
導出部12は、S−13−2−8の処理の性能予測計算
式15に現れるクラスまたはタイプのメモリ使用量につ
いて、実行環境別性能実測情報13から与えられた実行
環境名と一致する項目を読み込む。In the process of S-13-2-9, the performance prediction formula deriving unit 12 determines the memory usage of the class or type appearing in the performance prediction formula 15 of the process of S-13-2-8 by using the execution environment. An item that matches the given execution environment name is read from the separate performance measurement information 13.
【0124】S−13−2−10の処理では、性能予測
式導出部12は、S−13−2−9の処理で読み込んだ
メモリ使用量を用いて、メモリ使用量の性能予測計算式
15を、処理毎に実行環境別性能予測情報14に登録し
ながら、S−13−2−1の処理で読み込んだ処理名で
指示された処理(呼び出しの大元の処理)の性能予測計
算式15を、クラスまたはタイプ別に組み立てて出力す
る。In the process of S-13-2-10, the performance prediction formula deriving unit 12 uses the memory usage read in the process of S-13-2-9 to calculate the performance prediction formula 15 of the memory usage. Is registered in the execution environment-specific performance prediction information 14 for each process, and the performance prediction formula 15 of the process (the original process of the call) indicated by the process name read in the process of S-13-2-1 is registered. Are assembled and output by class or type.
【0125】一方、S−13−2−11の処理では、性
能予測式導出部12は、S−13−2−1の処理で読み
込んだ処理名で指示された処理(呼び出しの大元の処
理)の性能予測計算式15を、クラスまたはタイプ別に
組み立てて出力する。S−13−2−12の処理では、
性能予測式導出部12は、S−13−2−8の処理の性
能予測計算式15に現れるクラスまたはタイプのメモリ
使用量について、実行環境別性能実測情報13から与え
られた実行環境名と一致する項目を読み込む。On the other hand, in the process of S-13-2-11, the performance prediction formula deriving unit 12 performs the process (the original process of the calling process) designated by the process name read in the process of S-13-2-1. ) Is assembled and output for each class or type. In the process of S-13-2-12,
The performance prediction formula deriving unit 12 matches the memory usage of the class or type appearing in the performance prediction calculation formula 15 of the process of S-13-2-8 with the execution environment name given from the performance measurement information 13 for each execution environment. Read the item to be performed.
【0126】S−13−2−13の処理では、性能予測
式導出部12は、S−13−2−9の処理で読み込んだ
メモリ使用量を用いて、S−13−2−9の処理で読み
込んだメモリ使用量を用いて、S−13−2−1で読み
込んだ処理(呼び出しの大元の処理)の性能予測計算式
15を、クラスまたはタイプ別に組み立てて出力する。
以上の処理により、S−13−2の処理を終了する。In the process of S-13-2-13, the performance prediction formula deriving unit 12 uses the memory usage read in the process of S-13-2-9 to execute the process of S-13-2-9. Using the memory usage read in step S-13-2-1, the performance prediction calculation formula 15 of the processing read (the original processing of the call) is assembled and output for each class or type.
With the above processing, the processing of S-13-2 ends.
【0127】(6) :前記S−13−4の詳細な説明 図15は詳細な処理フローチャート(その8)、図16
は詳細な処理フローチャート(その9)であり、前記S
−13−4の詳細な処理を示す。なお、図15、図16
において、S−13−4−1〜S−13−4−9は各処
理ステップを示す。S−13−4の処理では、性能予測
式導出部12は、解析対象ソースコード1の処理時間の
オーバーヘッドについて、性能予測計算式15を出力す
る。以下、この処理を更に詳細に説明する。(6): Detailed description of S-13-4 FIG. 15 is a detailed processing flowchart (No. 8) and FIG.
Is a detailed process flowchart (No. 9), and
The detailed process of -13-4 is shown. 15 and FIG.
, S-13-4-1 to S-13-4-9 indicate each processing step. In the process of S-13-4, the performance prediction formula deriving unit 12 outputs a performance prediction calculation formula 15 for the processing time overhead of the analysis target source code 1. Hereinafter, this processing will be described in more detail.
【0128】S−13−4−1の処理では、解析制御部
2は、入力値3からソースコード名と処理名、実行環境
名、登録指示値を読み込む。S−13−4−2の処理で
は、解析制御部2は、性能予測式導出部12を起動し
て、ソースコード名と処理名、実行環境名を性能予測式
導出部12に渡す。In the process of S-13-4-1, the analysis control unit 2 reads the source code name, the process name, the execution environment name, and the registration instruction value from the input value 3. In the process of S-13-4-2, the analysis control unit 2 activates the performance prediction formula deriving unit 12, and passes the source code name, the processing name, and the execution environment name to the performance prediction formula deriving unit 12.
【0129】S−13−4−3の処理では、性能予測式
導出部12は、ソースコード名で指示された解析対象ソ
ースコード1を読み込む。S−13−4−4の処理で
は、性能予測式導出部12は、実行環境別性能実測情報
13から処理時間のオーバーヘッドについて、与えられ
た実行環境名と一致する処理の項目を読み、処理時間の
オーバーヘッドの性能予測計算式15を導出する。In the process of S-13-4-3, the performance prediction formula deriving unit 12 reads the analysis target source code 1 specified by the source code name. In the process of S-13-4-4, the performance prediction formula deriving unit 12 reads an item of the process corresponding to the given execution environment name for the processing time overhead from the performance measurement information 13 for each execution environment, and A performance prediction calculation formula 15 for the overhead is derived.
【0130】S−13−4−5の処理では、性能予測式
導出部12は、指定された処理の中で呼び出している処
理はあるかを調べ、指定された処理の中で呼び出してい
る処理があれば、S−13−4−6の処理へ移行し、指
定された処理の中で呼び出している処理がなければS−
13−4−7の処理へ移行する。S−13−4−6の処
理では、性能予測式導出部12は、呼び出している処理
に対して、S−13−4−3の処理を起動し、S−13
−4−3の処理へ移行する。In the process of S-13-4-5, the performance prediction formula deriving unit 12 checks whether there is a process called in the designated process, and executes the process called in the designated process. If there is, the process proceeds to S-13-4-6, and if there is no calling process in the designated process, S-
The flow shifts to the process of 13-4-7. In the process of S-13-4-6, the performance prediction formula deriving unit 12 activates the process of S-13-4-3 for the called process, and executes the process of S-13.
Shift to the process of -4-3.
【0131】S−13−4−7の処理では、性能予測式
導出部12は、登録指示値に実行環境別性能予測情報1
4への登録が指示されているかを調べ、登録指示値に実
行環境別性能予測情報14への登録が指示されていれ
ば、S−13−4−8の処理へ移行し、登録指示値に実
行環境別性能予測情報14への登録が指示されていなけ
れば、S−13−4−9の処理へ移行する。In the process of S-13-4-7, the performance prediction formula deriving unit 12 adds the performance prediction information 1 for each execution environment to the registration instruction value.
It is checked whether or not registration to the performance instruction information 14 has been instructed. If registration to the performance prediction information by execution environment 14 has been instructed in the registered instruction value, the process proceeds to S-13-4-8, and If registration to the execution environment-specific performance prediction information 14 has not been instructed, the process proceeds to S-13-4-9.
【0132】S−13−4−8の処理では、性能予測式
導出部12は、実行時間のオーバーヘッドの性能予測計
算式15を、処理毎に実行環境別性能予測情報14に登
録しながら、S−13−4−1の処理で読み込んだ処理
名で指示された処理(呼び出しの大元の処理)の性能予
測計算式15を組み立てて出力する。In the process of S-13-4-8, the performance prediction formula deriving unit 12 registers the performance prediction calculation formula 15 of the execution time overhead in the performance prediction information 14 for each execution environment while registering the performance prediction calculation formula 15 for each process. Assemble and output the performance prediction formula 15 of the process (the original process of the call) specified by the process name read in the process of -13-4-1.
【0133】S−13−4−9の処理では、性能予測式
導出部12は、S−13−4−1の処理で読み込んだ処
理名で指示された処理(呼び出しの大元の処理)の実行
時間のオーバーヘッドの性能予測計算式15を組み立て
て出力する。以上の処理によりS−13−4の処理を終
了する。In the process of S-13-4-9, the performance prediction formula deriving unit 12 executes the process (the original process of the call) designated by the process name read in the process of S-13-4-1. A performance prediction formula 15 for the execution time overhead is assembled and output. With the above processing, the processing of S-13-4 ends.
【0134】以下、図16に示した補足説明の図に基づ
いて、S−13−2−8の処理、S−13−2−10の
処理、及びS−13−4−8の補足説明をする。性能予
測式導出部12は、図示のように処理が連鎖的に呼び出
されている場合、処理D→処理C→処理B→処理Aの順
で性能予測計算式15を作成し、実行環境別性能予測情
報14に登録していく。The processing of S-13-2-8, the processing of S-13-2-10, and the supplementary description of S-13-4-8 will now be described based on the supplementary description shown in FIG. I do. When the processes are called in a chain as shown in the figure, the performance prediction formula deriving unit 12 creates the performance prediction formula 15 in the order of process D → process C → process B → process A, and calculates the performance for each execution environment. It is registered in the prediction information 14.
【0135】この時、処理Cの計算式は、処理Dの計算
式+処理C自身の計算式、処理Aの計算式は、処理Bの
計算式+処理Dの計算式+処理A自身の計算式、という
ように、計算式が階層的な構造を持つ。前記S−13−
2の処理、S−13−4の処理全体の出力となるのは、
呼び出しの大元である処理Aの性能予測計算式15であ
る。At this time, the calculation formula of the processing C is the calculation formula of the processing D + the calculation formula of the processing C itself, and the calculation formula of the processing A is the calculation formula of the processing B + the calculation formula of the processing D + the calculation formula of the processing A itself. Expressions have a hierarchical structure, such as expressions. S-13-
The output of the process 2 and the entire process of S-13-4 is as follows.
This is the performance prediction formula 15 of the process A that is the origin of the call.
【0136】§4:前記各情報等の説明 以下、前記各情報等について説明する。§4: Description of each information etc. Hereinafter, each information etc. will be described.
【0137】(1) :入力値の例の説明 図17は入力値の例である。前記入力値3は、例えば、
図17のようになっている。この例では、入力値3とし
て、1.処理選択値、2.解析箇所選択値、3.反復・
集中箇所解析選択値、4.性能予測選択値、5.改善方
法表示選択値、6.ソースコード名、7.処理名、8.
実行環境名、9.繰返し多重度、10.集中度、11.
登録指示値があり、前記各項目に対応して、それぞれの
内容がある。(1): Description of example of input value FIG. 17 shows an example of an input value. The input value 3 is, for example,
It is as shown in FIG. In this example, as input value 3, 1. Processing selection value; 2. Analysis site selection value; Repetition
3. Concentration location analysis selection value; 4. Performance prediction selection value; 5. Improvement method display selection value, Source code name, 7. Processing name, 8.
8. Execution environment name, 10. Multiplicity of repetition; 10. degree of concentration;
There is a registration instruction value, and there is a content for each item.
【0138】例えば、1.処理選択値の項目では、「性
能劣化解析」または「性能予測」となっている。5.改
善方法表示選択値の項目では、改善方法を「表示する」
または「表示しない」となっている。11.登録指示値
の項目では、実行環境別性能予測情報に「登録する」ま
たは「登録しない」となっている。For example, 1. The item of the process selection value is “performance degradation analysis” or “performance prediction”. 5. In the item of improvement method display selection value, "display" the improvement method
Or "not display". 11. The item of the registration instruction value is “registered” or “not registered” in the performance prediction information for each execution environment.
【0139】(2) :実行環境別性能劣化情報例の説明 図18は実行環境別性能劣化情報例であり、A図は実行
環境別性能劣化情報の構成の例、B図は実行環境別性能
劣化情報の実現例である。なお、図18のA図に示した
実行環境別性能劣化情報は、パターン種別と適用範囲は
検出を効率的に行うための補助情報である。また、図1
8のB図に示した実行環境別性能劣化情報において、表
中「all」は「全体」を、「L」は「影響大」を示
す。(2): Description of example of performance degradation information by execution environment FIG. 18 is an example of performance degradation information by execution environment, FIG. 18A shows an example of the configuration of performance degradation information by execution environment, and FIG. It is an implementation example of deterioration information. The performance degradation information for each execution environment shown in FIG. 18A is auxiliary information for efficiently detecting the pattern type and the applicable range. FIG.
In the performance degradation information for each execution environment shown in FIG. 8B, “all” in the table indicates “entire”, and “L” indicates “large impact”.
【0140】前記実行環境別性能劣化情報例では、実行
環境名、項目識別名、性能劣化パターン、パターン種
別、適用範囲、全体/反復・集中箇所のみ、実行時間の
オーバヘッド、実行性能に対する影響の大きさ等の項目
がある。そして、前記各項目に情報を格納すると、図1
8のB図のようになる。In the example of the performance degradation information for each execution environment, the execution environment name, the item identifier, the performance degradation pattern, the pattern type, the applicable range, the entire / repeated / concentrated location, the execution time overhead, and the influence on the execution performance are large. There are items such as. When the information is stored in each of the items, FIG.
The result is as shown in FIG.
【0141】図18のB図の例では、例えば、実行環境
名=JRE1-1-8-Sun、項目識別名=00001 、性能劣化パタ
ーン=readLine、パターン識別=method、適用範囲1=
java.io 、適用範囲2=DataInput Stream、全体/反復
・集中箇所のみ=all 、実行時間のオーバヘッド=100
、実行性能に対する影響の大きさ=Lとなっている。In the example shown in FIG. 18B, for example, execution environment name = JRE1-1-8-Sun, item identifier = 00001, performance degradation pattern = readLine, pattern identification = method, applicable range 1 =
java.io, application range 2 = DataInput Stream, whole / repeated / concentrated location only = all, execution time overhead = 100
, The magnitude of the effect on the execution performance = L.
【0142】(3) :実行環境別性能改善情報例の説明 図19は実行環境別性能改善情報例であり、A図は実行
環境別性能改善情報の構成の例、B図は実行環境別性能
改善情報の実現例である。前記実行環境別性能改善情報
の例では、実行環境名、項目識別名、性能劣化情報格納
場所アドレス等の項目が設けてある。そして、これらの
各項目に情報を格納すると、図19のB図のようにな
る。(3): Description of example of performance improvement information by execution environment FIG. 19 shows an example of performance improvement information by execution environment. FIG. 19A shows an example of the configuration of performance improvement information by execution environment. It is an example of realization of improvement information. In the example of the performance improvement information for each execution environment, items such as an execution environment name, an item identification name, and a performance deterioration information storage location address are provided. When information is stored in each of these items, the result is as shown in FIG. 19B.
【0143】(4) :実行環境別性能実測情報例の説明 図20は実行環境別性能実測情報例であり、A図は実行
環境別性能実測情報の構成の例、B図は実行環境別性能
実測情報の実現例である。前記実行環境別性能実測情報
の例では、実行環境名、項目識別名、パターン、パター
ン種別、適用範囲、メモリ使用量、実行時間のオーバヘ
ッド等の項目が設けてある。そして、これらの各項目に
情報を格納すると、図20のB図のようになる。(4): Description of example of performance measurement information by execution environment FIG. 20 shows an example of performance measurement information by execution environment, FIG. 20A shows an example of the configuration of performance measurement information by execution environment, and FIG. It is an example of realization of actual measurement information. In the example of the performance measurement information for each execution environment, items such as an execution environment name, an item identifier, a pattern, a pattern type, an application range, a memory usage amount, and an execution time overhead are provided. When information is stored in each of these items, the result is as shown in FIG. 20B.
【0144】図20のB図の例では、例えば、実行環境
名=JRE1-1-8-Sun、項目識別名=00101 、性能劣化パタ
ーン=String()、パターン識別=constructor 、適用範
囲1=java.lang 、適用範囲2=String、メモリ使用量
=58、実行時間のオーバヘッド=50となっている。In the example of FIG. 20B, for example, execution environment name = JRE1-1-8-Sun, item identifier = 00101, performance degradation pattern = String (), pattern identification = constructor, application range 1 = java .lang, application range 2 = String, memory usage = 58, and execution time overhead = 50.
【0145】(5) :連鎖的な呼び出し/実行環境別性能
予測情報の説明 図21は、連鎖的な呼び出し/実行環境別性能予測情報
の構成の例であり、A図は連鎖的な呼び出しの例、B図
は実行環境別性能予測情報の構成の例である。前記連鎖
的な呼び出しは、図21のA図に示したように、処理A
はi回繰返すループの中で処理Bを呼び、処理Cはj回
繰返すループの中で処理Dを呼んでいるとする。(5): Description of chained call / execution environment-specific performance prediction information FIG. 21 shows an example of the structure of chained call / execution environment-specific performance prediction information, and FIG. FIG. 13B shows an example of the configuration of performance prediction information for each execution environment. The cascaded calls are performed in the processing A as shown in FIG.
Calls process B in a loop that repeats i times, and process C calls process D in a loop that repeats j times.
【0146】また、図21のB図に示した実行環境別性
能予測情報の構成の例では、実行環境名、項目識別名、
処理名、適用範囲、メモリ確保箇所数、メモリ使用量、
実行時間のオーバヘッドの各項目が設定されている。な
お、図21のB図において、パターン種別と適用範囲は
検出を効率的に行うための補助情報である。In the example of the configuration of the performance prediction information for each execution environment shown in FIG. 21B, the execution environment name, the item identifier,
Processing name, applicable range, number of memory allocation locations, memory usage,
Each item of the execution time overhead is set. In FIG. 21B, the pattern type and the applicable range are auxiliary information for efficiently performing the detection.
【0147】(6) :連鎖的な呼び出しに対する実行環境
別性能予測情報の例の説明 図22は、連鎖的な呼び出しに対する実行環境別性能予
測情報の例である。この例では、連鎖的な呼び出しに対
する実行環境別性能予測情報の例として、実行環境名、
項目識別名、処理名、適用範囲1、2、メモリ確保箇所
数、メモリ使用量、実行時間のオーバヘッドの各項目が
設定されており、各項目に図示のような情報がある。(6): Description of example of performance prediction information by execution environment for chained calls FIG. 22 is an example of performance prediction information by execution environment for chained calls. In this example, execution environment name, execution environment name,
Items such as an item identification name, a process name, application ranges 1 and 2, the number of reserved memory locations, the amount of memory used, and the overhead of execution time are set, and each item has information as shown in the figure.
【0148】(7) :連鎖的な呼び出しを持つ処理Aに対
する性能予測計算式の説明 図23は、連鎖的な呼び出しを持つ処理Aに対する性能
予測計算式を示した図である。この例では、処理Aのメ
モリ確保箇所数、処理Aのメモリ使用量、処理Aの実行
時間のオーバーヘッドの各項目毎の性能予測計算式が示
されている。(7) Description of Performance Prediction Formula for Process A with Chained Calls FIG. 23 is a diagram showing a performance prediction formula for process A with chained calls. In this example, a performance prediction calculation formula for each item of the number of memory securing locations of the process A, the memory usage amount of the process A, and the overhead of the execution time of the process A is shown.
【0149】(8) :前記連鎖的な呼び出しを持つ処理A
に対する性能予測値の説明 図24は、連鎖的な呼び出しを持つ処理Aに対する性能
予測値を示した図である。この例では、前記処理Aのメ
モリ確保箇所数、処理Aのメモリ使用量、処理Aの実行
時間のオーバーヘッドの各項目毎の性能予測値が示され
ている。(8): Processing A having the above-mentioned chained call
Description of Performance Prediction Value for Process FIG. 24 is a diagram showing a performance prediction value for process A having a chain call. In this example, the performance prediction value for each item of the number of memory reservation locations of the process A, the memory usage amount of the process A, and the overhead of the execution time of the process A is shown.
【0150】§5:具体的な装置例と記録媒体の説明 図25は具体的な装置例である。前記オブジェクト指向
プログラム性能改善支援装置は、パーソナルコンピュー
タ、ワークステーション等の任意のコンピュータにより
実現することができる。この装置は、コンピュータ本体
21と、該コンピュータ本体21に接続されたディスプ
レイ装置22、入力装置(キーボード/マウス等)2
3、リムーバブルディスクドライブ(「RDD」とい
う)24、ハードディスク装置(「HDD」という)2
5等で構成されている。§5: Description of Specific Apparatus and Recording Medium FIG. 25 shows a specific example of the apparatus. The object-oriented program performance improvement support device can be realized by any computer such as a personal computer and a workstation. This device includes a computer main body 21, a display device 22 connected to the computer main body 21, an input device (keyboard / mouse, etc.) 2
3. Removable disk drive (referred to as "RDD") 24, hard disk drive (referred to as "HDD") 2
5 and so on.
【0151】そして、コンピュータ本体21には、内部
の各種制御や処理を行うCPU26と、プログラムや各
種データを格納しておくためのROM27(不揮発性メ
モリ)と、メモリ28と、インタフェース制御部(「I
/F制御部」という)29と、通信制御部30等が設け
てある。なお、前記リムーバブルディスクドライブ24
には、フレキシブルディスクドライブや光ディスクドラ
イブ等が含まれる。The computer main body 21 has a CPU 26 for performing various internal controls and processes, a ROM 27 (non-volatile memory) for storing programs and various data, a memory 28, and an interface control unit (“ I
/ F control unit 29), a communication control unit 30, and the like. The removable disk drive 24
Includes a flexible disk drive, an optical disk drive, and the like.
【0152】前記構成の装置において、例えば、前記R
OM27、或いはハードディスク装置25のディスク
(記録媒体)に、前記オブジェクト指向プログラム性能
改善支援装置の処理を実現するためのプログラムを格納
しておき、このプログラムをCPU26が読み出して実
行することにより、前記処理を実行する。In the apparatus having the above configuration, for example, the R
A program for realizing the processing of the object-oriented program performance improvement support device is stored in the OM 27 or a disk (recording medium) of the hard disk device 25, and the program is read and executed by the CPU 26 to execute the processing. Execute
【0153】しかし、本発明はこのような例に限らず、
例えば、ハードディスク装置25のディスクに、次のよ
うにしてプログラムを格納し、このプログラムをCPU
26が実行することで前記処理を行うことも可能であ
る。However, the present invention is not limited to such an example.
For example, a program is stored in the disk of the hard disk device 25 as follows, and the program is stored in the CPU.
It is also possible to perform the above-mentioned processing by executing 26.
【0154】:他の装置で作成されたリムーバブルデ
ィスクに格納されているプログラム(他の装置で作成し
たプログラムデータ)を、リムーバブルディスクドライ
ブ24により読み取り、ハードディスク装置25のディ
スク(記録媒体)に格納する。A program stored on a removable disk created by another device (program data created by another device) is read by the removable disk drive 24 and stored on a disk (recording medium) of the hard disk device 25. .
【0155】:LANやその他の通信回線を介して他
の装置から伝送されたプログラム等のデータを、通信制
御部30を介して受信し、そのデータをハードディスク
装置25のディスクに格納する。The data such as a program transmitted from another device via the LAN or another communication line is received via the communication control unit 30 and the data is stored in the disk of the hard disk device 25.
【0156】(付記) (付記1):オブジェクト指向プログラムの実行性能を
劣化させる可能性のあるクラス名、処理名、処理パター
ンを実行環境毎に性能劣化情報として予め蓄積し、これ
を実行環境別性能劣化情報として用いることで、オブジ
ェクト指向プログラムのソースコードを静的に解析し、
ソースコード中で実行性能を劣化させる可能性のある箇
所を表示する処理手段を備えていることを特徴とするオ
ブジェクト指向プログラム性能改善支援装置。(Supplementary Note) (Supplementary Note 1): A class name, a process name, and a processing pattern that may degrade the execution performance of an object-oriented program are stored in advance as performance degradation information for each execution environment, and this is stored for each execution environment. By using it as performance degradation information, the source code of an object-oriented program is statically analyzed,
An object-oriented program performance improvement support device, comprising: processing means for displaying a portion of the source code where execution performance may be degraded.
【0157】(付記2):オブジェクト指向プログラム
のソースコードを静的に解析し、指定された処理中でメ
モリを確保している箇所が何箇所あるか、クラス又はタ
イプ毎に特定の実行環境における数の性能予測計算式を
導出し、合わせて実行環境別性能実測情報に予め登録し
てあるクラス又はタイプ毎のメモリ使用量情報を用い
て、特定の実行環境におけるメモリ使用量の性能予測計
算式を導出する第1の処理手段と、入力値によって指示
があった場合は、導出した性能予測計算式を実行環境別
性能予測情報に登録する第2の処理手段と、性能予測計
算式の変数部分は、対応するソースコードの箇所を表示
し、ユーザが対話的に入力可能とする第3の処理手段
と、ユーザが入力した値を性能予測計算式に代入して性
能予測値を得る第4の処理手段とを備えていることを特
徴とするオブジェクト指向プログラム性能改善支援装
置。(Supplementary Note 2): The source code of an object-oriented program is statically analyzed, the number of locations where the memory is secured in the designated processing, the number of classes or types in the specific execution environment Calculate the performance prediction calculation formula of the memory usage in the specific execution environment by using the memory usage information for each class or type that is previously registered in the performance measurement information for each execution environment. A first processing means for deriving the performance prediction formula, a second processing means for registering the derived performance prediction calculation formula in the performance prediction information for each execution environment when an instruction is given by an input value, and a variable part of the performance prediction calculation formula. A third processing means for displaying a corresponding source code portion and allowing a user to interactively input a value, and a fourth processing means for substituting a value input by the user into a performance prediction formula to obtain a performance prediction value. Object-Oriented Programming Performance improvement supporting apparatus characterized by and a physical means.
【0158】(付記3):予め登録してある実行環境別
性能実測情報を用いて、オブジェクト指向プログラムの
ソースコードを静的に解析し、指定された処理の、特定
の実行環境における処理時間のオーバヘッドの性能予測
計算式を導出する第1の処理手段と、入力値によって指
示があった場合は、導出した性能予測計算式を実行環境
別性能予測情報に登録する第2の処理手段と、性能予測
計算式の変換部分は、対応するソースコードの箇所を表
示し、ユーザが対話的に入力可能とする第3の処理手段
と、ユーザが入力した値を性能予測計算式に代入して性
能予測値を得る第4の処理手段とを備えていることを特
徴とするオブジェクト指向プログラム性能改善支援装
置。(Supplementary Note 3): The source code of the object-oriented program is statically analyzed by using the performance measurement information for each execution environment registered in advance, and the processing time of the designated process in a specific execution environment is calculated. First processing means for deriving an overhead performance prediction formula, and second processing means for registering the derived performance prediction formula in execution environment-specific performance prediction information when instructed by an input value; The conversion part of the prediction formula includes a third processing means for displaying a corresponding source code portion and allowing a user to interactively input the value, and substituting the value input by the user into the performance prediction formula to perform the performance prediction. An object-oriented program performance improvement support device comprising: a fourth processing unit for obtaining a value.
【0159】(付記4):コンピュータに、オブジェク
ト指向プログラムの実行性能を劣化させる可能性のある
クラス名、処理名、処理パターンを実行環境毎に性能劣
化情報として予め蓄積し、これを実行環境別性能劣化情
報として用いることで、オブジェクト指向プログラムの
ソースコードを静的に解析し、ソースコード中で実行性
能を劣化させる可能性のある箇所を表示する処理手段の
機能を実現させるためのプログラム、又は該プログラム
を記録したコンピュータ読み取り可能な記録媒体。(Supplementary Note 4): A class name, a processing name, and a processing pattern which may degrade the execution performance of the object-oriented program are previously stored in the computer as performance deterioration information for each execution environment, and the information is stored for each execution environment. A program for realizing a function of a processing unit for statically analyzing a source code of an object-oriented program and displaying a portion in the source code that may degrade execution performance by using as performance degradation information, or A computer-readable recording medium recording the program.
【0160】[0160]
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。As described above, the present invention has the following effects.
【0161】(1) :請求項1では、前記処理手段は、オ
ブジェクト指向プログラムの実行性能を劣化させる可能
性のあるクラス名、処理名、処理パターンを実行環境毎
に性能劣化情報として予め蓄積し、これを実行環境別性
能劣化情報として用いることで、オブジェクト指向プロ
グラムのソースコードを静的に解析し、ソースコード中
で実行性能を劣化させる可能性のある箇所を表示する。(1): In claim 1, the processing means previously accumulates, as performance degradation information, a class name, a processing name, and a processing pattern that may degrade the execution performance of the object-oriented program for each execution environment. By using this as the performance degradation information for each execution environment, the source code of the object-oriented program is statically analyzed, and a portion where the execution performance may be deteriorated in the source code is displayed.
【0162】この場合、従来技術では、ソースコード全
体が完成した実行可能な形になっていないと実行性能劣
化部分の検出が行なえなかった。それに対して、本発明
の装置では、一部分だけ出来ているソースコードを解析
して、実行性能を劣化させる可能性のある箇所を検出で
きる。従って、従来技術よりも開発の早い段階で実行性
能に関する問題を発見できる。In this case, according to the conventional technique, it is impossible to detect a portion where execution performance is deteriorated unless the entire source code is in a completed executable form. On the other hand, the apparatus of the present invention can analyze a part of the source code and detect a part that may deteriorate execution performance. Therefore, problems relating to execution performance can be found at an earlier stage of development than the prior art.
【0163】また、実行環境別性能劣化情報を性能劣化
箇所解析部に作り込まず、外部から追加、修正が可能な
データとして蓄積している。従って、例えば、ユーザが
自分のプロジェクトに合わせて実行環境別性能劣化情報
の追加、修正を行なえるため、ユーザの実行環境や設計
方針に合った解析が可能になる。Also, the performance degradation information for each execution environment is not created in the performance degradation location analysis unit, but is stored as data that can be added and modified from outside. Therefore, for example, the user can add or modify the performance degradation information for each execution environment in accordance with his or her project, so that analysis suitable for the execution environment and the design policy of the user can be performed.
【0164】(2) :請求項2では、第1の処理手段は、
オブジェクト指向プログラムのソースコードを静的に解
析し、指定された処理中でメモリを確保している箇所が
何箇所あるか、クラス又はタイプ毎に特定の実行環境に
おける数の性能予測計算式を導出し、合わせて実行環境
別性能実測情報に予め登録してあるクラス又はタイプ毎
のメモリ使用量情報を用いて、特定の実行環境における
メモリ使用量の性能予測計算式を導出する。(2): In claim 2, the first processing means comprises:
Statically analyzes the source code of an object-oriented program, derives the number of places where memory is reserved in the specified processing, and the number of performance prediction formulas in a specific execution environment for each class or type In addition, using the memory usage information for each class or type registered in advance in the performance measurement information for each execution environment, a performance prediction formula for memory usage in a specific execution environment is derived.
【0165】第2の処理手段は、入力値によって指示が
あった場合は、導出した性能予測計算式を実行環境別性
能予測情報に登録する。第3の処理手段は、性能予測計
算式の変数部分は、対応するソースコードの箇所を表示
し、ユーザが対話的に入力可能とする。第4の処理手段
は、ユーザが入力した値を性能予測計算式に代入して性
能予測値を得る。The second processing means, when instructed by the input value, registers the derived performance prediction formula in the performance prediction information for each execution environment. The third processing means displays the location of the corresponding source code in the variable part of the performance prediction calculation formula so that the user can interactively input. The fourth processing means obtains a performance prediction value by substituting the value input by the user into a performance prediction calculation formula.
【0166】この場合、オブジェクト指向プログラムで
は、オブジェクト(クラスのインスタンス)や配列がメ
モリを圧迫することで性能問題が起こることが多い。し
かし、従来技術は、ソースコード全体が完成し実行可能
な形になってから生成されるオブジェクトや配列の数と
メモリ使用量を実測するだけで、事前の予測が行えなか
った。In this case, in an object-oriented program, a performance problem often occurs when an object (an instance of a class) or an array presses a memory. However, in the prior art, it was not possible to make a prediction in advance by merely measuring the number of objects and arrays generated after the entire source code was completed and in an executable form, and the memory usage.
【0167】本発明の装置では、ソースコードを解析し
て、或るメソッドが呼ばれた際に生成されるクラスのイ
ンスタンスや配列の数の予測式を作る。また、メモリ使
用量は、各クラスのインスタンスや配列について実行環
境毎に予め実測した情報(実行環境別性能実測情報)を
用いて、予測式を作る。ソースコードを解析するだけで
は分からない部分は式の変数とし、ユーザと対話しなが
ら解決することができる。The apparatus of the present invention analyzes a source code and creates a prediction formula for the number of class instances and arrays generated when a certain method is called. For the memory usage, a prediction formula is created using information (performance measurement information for each execution environment) actually measured in advance for each execution environment for instances and arrays of each class. The parts that cannot be understood only by analyzing the source code can be set as variables of the expression and solved while interacting with the user.
【0168】また、各処理(メソッドやコンストラク
タ)毎に作成した予測式を実行環境別性能予測情報に登
録して再利用できるので、同じ処理について予測式を再
計算せずに済み、性能予測式導出部の処理を効率化でき
る。Further, since the prediction formula created for each process (method or constructor) can be registered and reused in the performance prediction information for each execution environment, it is not necessary to recalculate the prediction formula for the same process. The processing of the derivation unit can be made more efficient.
【0169】(3) :請求項3では、コンピュータが記録
媒体のプログラムを読み出して実行することにより、オ
ブジェクト指向プログラムの実行性能を劣化させる可能
性のあるクラス名、処理名、処理パターンを実行環境毎
に性能劣化情報として予め蓄積する手順と、これを実行
環境別性能劣化情報として用いることで、オブジェクト
指向プログラムのソースコードを静的に解析し、ソース
コード中で実行性能を劣化させる可能性のある箇所を表
示する手順を実行する。(3): In the third aspect, a computer reads and executes a program on a recording medium, and thereby a class name, a processing name, and a processing pattern which may degrade the execution performance of the object-oriented program are set in the execution environment. The procedure of storing in advance as performance degradation information for each case, and using this as performance degradation information for each execution environment, the possibility of statically analyzing the source code of an object-oriented program and degrading the execution performance in the source code Perform a procedure to display a certain point.
【0170】この場合、従来技術では、ソースコード全
体が完成した実行可能な形になっていないと実行性能劣
化部分の検出が行なえなかった。それに対して、本発明
の装置では、一部分だけ出来ているソースコードを解析
して、実行性能を劣化させる可能性のある箇所を検出で
きる。従って、従来技術よりも開発の早い段階で実行性
能に関する問題を発見できる。In this case, in the prior art, it is not possible to detect a portion where execution performance has deteriorated unless the entire source code is in a completed executable form. On the other hand, the apparatus of the present invention can analyze a part of the source code and detect a part that may deteriorate execution performance. Therefore, problems relating to execution performance can be found at an earlier stage of development than the prior art.
【0171】また、実行環境別性能劣化情報を性能劣化
箇所解析部に作り込まず、外部から追加、修正が可能な
データとして蓄積している。従って、例えば、ユーザが
自分のプロジェクトに合わせて実行環境別性能劣化情報
の追加、修正を行なえるため、ユーザの実行環境や設計
方針に合った解析が可能になる。Also, the performance degradation information for each execution environment is not created in the performance degradation location analysis unit, but is stored as data that can be added and modified from outside. Therefore, for example, the user can add or modify the performance degradation information for each execution environment in accordance with his or her project, so that analysis suitable for the execution environment and the design policy of the user can be performed.
【0172】(4) :付記3では、第1の処理手段は、予
め登録してある実行環境別性能実測情報を用いて、オブ
ジェクト指向プログラムのソースコードを静的に解析
し、指定された処理の、特定の実行環境における処理時
間のオーバヘッドの性能予測計算式を導出する。第2の
処理手段は、入力値によって指示があった場合は、導出
した性能予測計算式を実行環境別性能予測情報に登録す
る。(4): In Appendix 3, the first processing means statically analyzes the source code of the object-oriented program using the performance measurement information for each execution environment registered in advance, and executes the specified processing. Of the processing time overhead in a specific execution environment. The second processing means, when instructed by the input value, registers the derived performance prediction formula in the performance prediction information for each execution environment.
【0173】第3の処理手段は、性能予測計算式の変換
部分は、対応するソースコードの箇所を表示し、ユーザ
が対話的に入力可能とする。第4の処理手段は、ユーザ
が入力した値を性能予測計算式に代入して性能予測値を
得る。The third processing means displays a corresponding part of the source code in the conversion part of the performance prediction formula so that the user can interactively input. The fourth processing means obtains a performance prediction value by substituting the value input by the user into a performance prediction calculation formula.
【0174】この場合、従来技術では、ソースコード全
体が完成し、実行可能な形になってからメソッドの実行
にかかる時間を実測するだけで、事前の予測は行えなか
った。本発明の装置では、ソースコードを解析して、処
理(メソッドやコンストラクタ)毎に処理時間のオーバ
ヘッドの予測式を作る。In this case, in the prior art, it was not possible to make a prior prediction simply by actually measuring the time required for executing the method after the entire source code was completed and became executable. The apparatus of the present invention analyzes a source code and creates a prediction formula of processing time overhead for each process (method or constructor).
【0175】式の作成には、基本的な処理のオーバヘッ
ドについて実行環境毎に予め実測した情報(実行環境別
性能実測情報)を用いる。このようにして、ソースコー
ドを解析するだけでは分からない部分は式の変数とし、
ユーザと対話しながら解決することができる。The formula is created using information (performance measurement information for each execution environment) actually measured in advance for each execution environment for the overhead of the basic processing. In this way, the parts that cannot be understood only by analyzing the source code are used as variables in the expression,
It can be solved while interacting with the user.
【図1】本発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.
【図2】本発明の実施の形態における装置の説明図(そ
の1)である。FIG. 2 is an explanatory view (1) of an apparatus according to an embodiment of the present invention.
【図3】本発明の実施の形態における装置の説明図(そ
の2)である。FIG. 3 is an explanatory diagram (part 2) of the apparatus according to the embodiment of the present invention.
【図4】本発明の実施の形態における装置の説明図(そ
の3)である。FIG. 4 is an explanatory diagram (part 3) of the apparatus according to the embodiment of the present invention.
【図5】本発明の実施の形態における装置全体の処理フ
ローチャート(その1)である。FIG. 5 is a process flowchart (part 1) of the entire apparatus according to the embodiment of the present invention.
【図6】本発明の実施の形態における装置全体の処理フ
ローチャート(その2)である。FIG. 6 is a flowchart (part 2) of the entire apparatus according to the embodiment of the present invention.
【図7】本発明の実施の形態における詳細な処理フロー
チャート(その1)である。FIG. 7 is a detailed processing flowchart (part 1) in the embodiment of the present invention.
【図8】本発明の実施の形態における詳細な処理フロー
チャート(その2)である。FIG. 8 is a detailed processing flowchart (part 2) in the embodiment of the present invention.
【図9】本発明の実施の形態における詳細な処理の説明
図である。FIG. 9 is an explanatory diagram of a detailed process according to the embodiment of the present invention.
【図10】本発明の実施の形態における詳細な処理フロ
ーチャート(その3)である。FIG. 10 is a detailed process flowchart (part 3) in the embodiment of the present invention.
【図11】本発明の実施の形態における詳細な処理フロ
ーチャート(その4)である。FIG. 11 is a detailed processing flowchart (part 4) in the embodiment of the present invention.
【図12】本発明の実施の形態における詳細な処理フロ
ーチャート(その5)である。FIG. 12 is a detailed process flowchart (part 5) in the embodiment of the present invention.
【図13】本発明の実施の形態における詳細な処理フロ
ーチャート(その6)である。FIG. 13 is a detailed process flowchart (part 6) in the embodiment of the present invention.
【図14】本発明の実施の形態における詳細な処理フロ
ーチャート(その7)である。FIG. 14 is a detailed process flowchart (part 7) in the embodiment of the present invention.
【図15】本発明の実施の形態における詳細な処理フロ
ーチャート(その8)である。FIG. 15 is a detailed process flowchart (No. 8) in the embodiment of the present invention.
【図16】本発明の実施の形態における詳細な処理フロ
ーチャート(その9)である。FIG. 16 is a detailed process flowchart (No. 9) in the embodiment of the present invention.
【図17】本発明の実施の形態における入力値の例であ
る。FIG. 17 is an example of an input value in the embodiment of the present invention.
【図18】本発明の実施の形態における実行環境別性能
劣化情報例であり、A図は実行環境別性能劣化情報の構
成の例、B図は実行環境別性能劣化情報の実現例であ
る。FIG. 18 is an example of performance degradation information for each execution environment according to the embodiment of the present invention. FIG. 18A is an example of the configuration of performance degradation information for each execution environment, and FIG.
【図19】本発明の実施の形態における実行環境別性能
改善情報例であり、A図は実行環境別性能改善情報の構
成の例、B図は実行環境別性能改善情報の実現例であ
る。FIG. 19 is an example of performance improvement information for each execution environment according to the embodiment of the present invention. FIG. 19A is an example of the configuration of performance improvement information for each execution environment, and FIG.
【図20】本発明の実施の形態における実行環境別性能
実測情報例であり、A図は実行環境別性能実測情報の構
成の例、B図は実行環境別性能実測情報の実現例であ
る。FIG. 20 is an example of performance measurement information for each execution environment in the embodiment of the present invention. FIG. 20A is an example of a configuration of performance measurement information for each execution environment, and FIG.
【図21】本発明の実施の形態における連鎖的な呼出し
/実行環境別性能予測情報の構成の例であり、A図は連
鎖的な呼出しの例、B図は実行環境別性能予測情報の構
成の例である。21 shows an example of the configuration of chained call / execution environment-specific performance prediction information according to the embodiment of the present invention. FIG. 21A shows an example of chained call and FIG. 21B shows the configuration of execution environment-specific performance prediction information. This is an example.
【図22】本発明の実施の形態における連鎖的な呼出し
に対する実行環境別性能予測情報の例である。FIG. 22 is an example of execution environment-specific performance prediction information for a chain call in the embodiment of the present invention.
【図23】本発明の実施の形態における連鎖的な呼出し
を持つ処理Aに対する性能予測計算式を示した図であ
る。FIG. 23 is a diagram showing a performance prediction formula for a process A having a chain call in the embodiment of the present invention.
【図24】本発明の実施の形態における連鎖的な呼出し
を持つ処理Aに対する性能予測値を示した図である。FIG. 24 is a diagram showing a predicted performance value for a process A having a chain call in the embodiment of the present invention.
【図25】本発明の実施の形態における具体的な装置例
である。FIG. 25 is a specific example of an apparatus according to an embodiment of the present invention.
1 解析対象ソースコード 2 解析制御部 3 入力値 4 実行環境別性能改善情報 5 改善情報表示処理部 6 実行環境別性能劣化情報 7 性能劣化箇所解析部 8 性能劣化箇所検出結果 9 性能劣化箇所表示処理部 10 反復・集中箇所検出部 11 反復・集中箇所検出結果 12 性能予測式導出部 13 実行環境別性能実測情報 14 実行環境別性能予測情報 15 性能予測計算式 16 結果計算部 17 性能予測値 18 性能予測結果表示処理部 21 コンピュータ本体 22 ディスプレイ装置 23 入力装置 24 リムーバブルディスクドライブ(RDD) 25 ハードディスク装置(HDD) 26 CPU 27 ROM 28 メモリ 29 インターフェイス制御部(I/F制御部) 30 通信制御部 1 Analysis target source code 2 Analysis control unit 3 Input value 4 Performance improvement information by execution environment 5 Improvement information display processing unit 6 Performance degradation information by execution environment 7 Performance degradation location analysis unit 8 Performance degradation location detection result 9 Performance degradation location display processing Unit 10 Iteration / concentration location detection unit 11 Iteration / concentration location detection result 12 Performance prediction formula derivation unit 13 Performance measurement information by execution environment 14 Performance prediction information by execution environment 15 Performance prediction formula 16 Result calculation unit 17 Performance prediction value 18 Performance Prediction result display processing unit 21 computer main body 22 display device 23 input device 24 removable disk drive (RDD) 25 hard disk device (HDD) 26 CPU 27 ROM 28 memory 29 interface control unit (I / F control unit) 30 communication control unit
───────────────────────────────────────────────────── フロントページの続き (72)発明者 直田 繁樹 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B042 GA08 HH01 HH08 HH41 MC22 5B076 EC02 ────────────────────────────────────────────────── ─── Continuing on the front page (72) Inventor Shigeki Naota 4-1-1, Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa F-term in Fujitsu Limited 5B042 GA08 HH01 HH08 HH41 MC22 5B076 EC02
Claims (4)
劣化させる可能性のあるクラス名、処理名、処理パター
ンを実行環境毎に性能劣化情報として予め蓄積し、これ
を実行環境別性能劣化情報として用いることで、オブジ
ェクト指向プログラムのソースコードを静的に解析し、
ソースコード中で実行性能を劣化させる可能性のある箇
所を表示する処理手段を備えている、 ことを特徴とするオブジェクト指向プログラム性能改善
支援装置。A class name, a process name, and a processing pattern that may degrade the execution performance of an object-oriented program are previously stored as performance degradation information for each execution environment, and are used as performance degradation information for each execution environment. Then, statically analyze the source code of the object-oriented program,
An object-oriented program performance improvement support device, comprising: processing means for displaying a portion of the source code where execution performance may be degraded.
ドを静的に解析し、指定された処理中でメモリを確保し
ている箇所が何箇所あるか、クラス又はタイプ毎に特定
の実行環境における数の性能予測計算式を導出し、合わ
せて実行環境別性能実測情報に予め登録してあるクラス
又はタイプ毎のメモリ使用量情報を用いて、特定の実行
環境におけるメモリ使用量の性能予測計算式を導出する
第1の処理手段と、 入力値によって指示があった場合は、導出した性能予測
計算式を実行環境別性能予測情報に登録する第2の処理
手段と、 性能予測計算式の変数部分は、対応するソースコードの
箇所を表示し、ユーザが対話的に入力可能とする第3の
処理手段と、 ユーザが入力した値を性能予測計算式に代入して性能予
測値を得る第4の処理手段と、 を備えていることを特徴とするオブジェクト指向プログ
ラム性能改善支援装置。2. The method according to claim 1, wherein the source code of the object-oriented program is statically analyzed, the number of locations where the memory is secured in the designated processing, and the number of performances in a specific execution environment for each class or type. A prediction formula is derived, and a performance prediction formula for memory usage in a specific execution environment is derived using memory usage information for each class or type that is registered in advance in the performance measurement information for each execution environment. The first processing means, the second processing means for registering the derived performance prediction formula in the performance prediction information for each execution environment when instructed by the input value, and the variable part of the performance prediction formula, A third processing means for displaying a portion of a source code to be executed and enabling a user to interactively input the value, and a fourth processing means for substituting a value input by the user into a performance prediction calculation formula to obtain a performance prediction value. Object-Oriented Programming Performance improvement supporting device, characterized in that comprises a.
能性のあるクラス名、処理名、処理パターンを実行環境
毎に性能劣化情報として予め蓄積し、これを実行環境別
性能劣化情報として用いることで、オブジェクト指向プ
ログラムのソースコードを静的に解析し、ソースコード
中で実行性能を劣化させる可能性のある箇所を表示する
処理手段の機能を実現させるためのプログラムを記録し
たコンピュータ読み取り可能な記録媒体。3. A computer stores in advance class names, process names, and processing patterns that may degrade the execution performance of an object-oriented program as performance degradation information for each execution environment, and stores the performance degradation information for each execution environment. A computer-readable recording of a program for realizing the function of a processing unit that statically analyzes the source code of an object-oriented program and displays a portion of the source code that may degrade execution performance by using Possible recording medium.
能性のあるクラス名、処理名、処理パターンを実行環境
毎に性能劣化情報として予め蓄積し、これを実行環境別
性能劣化情報として用いることで、オブジェクト指向プ
ログラムのソースコードを静的に解析し、ソースコード
中で実行性能を劣化させる可能性のある箇所を表示する
処理手段の機能を実現させるためのプログラム。4. A computer stores in advance class names, process names, and processing patterns that may degrade the execution performance of an object-oriented program as performance degradation information for each execution environment, and stores the performance degradation information for each execution environment. A program for realizing the function of a processing unit that statically analyzes the source code of an object-oriented program and displays a portion of the source code that may degrade execution performance by using the program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001168933A JP3961787B2 (en) | 2000-06-12 | 2001-06-05 | Object-oriented program performance improvement support device, recording medium, and program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000174983 | 2000-06-12 | ||
JP2000-174983 | 2000-06-12 | ||
JP2001168933A JP3961787B2 (en) | 2000-06-12 | 2001-06-05 | Object-oriented program performance improvement support device, recording medium, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002073369A true JP2002073369A (en) | 2002-03-12 |
JP3961787B2 JP3961787B2 (en) | 2007-08-22 |
Family
ID=26593722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001168933A Expired - Fee Related JP3961787B2 (en) | 2000-06-12 | 2001-06-05 | Object-oriented program performance improvement support device, recording medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3961787B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007179488A (en) * | 2005-12-28 | 2007-07-12 | Fujitsu Ltd | Program for predicting source code problem |
KR100767273B1 (en) * | 2006-09-12 | 2007-10-17 | 박란 | Warning apparatus for the danger of bus |
JP2011181034A (en) * | 2010-03-04 | 2011-09-15 | Nec Corp | System and method for evaluation of software effective performance, and program |
US8839210B2 (en) | 2006-09-28 | 2014-09-16 | Fujitsu Limited | Program performance analysis apparatus |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04101241A (en) * | 1990-08-20 | 1992-04-02 | N T T Data Tsushin Kk | Computer performance evaluating device |
JPH04199435A (en) * | 1990-11-29 | 1992-07-20 | Fujitsu Ten Ltd | Program analyzer |
JPH07152578A (en) * | 1993-11-29 | 1995-06-16 | Fuji Facom Corp | Detection of maximum stack usage quantity |
JPH07271572A (en) * | 1994-03-30 | 1995-10-20 | Hitachi Software Eng Co Ltd | Method for generating dynamic step number calculating formula |
JPH0869380A (en) * | 1994-08-29 | 1996-03-12 | Fujitsu Ltd | Source program check device |
JPH11219289A (en) * | 1998-02-02 | 1999-08-10 | Fujitsu Ltd | Object-oriented program quality evaluation device |
JP2000122895A (en) * | 1998-10-20 | 2000-04-28 | Matsushita Electric Ind Co Ltd | Method and device for analyzing stack size |
JP2000132387A (en) * | 1998-10-22 | 2000-05-12 | Fujitsu Ltd | Object directing program generation support device |
-
2001
- 2001-06-05 JP JP2001168933A patent/JP3961787B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04101241A (en) * | 1990-08-20 | 1992-04-02 | N T T Data Tsushin Kk | Computer performance evaluating device |
JPH04199435A (en) * | 1990-11-29 | 1992-07-20 | Fujitsu Ten Ltd | Program analyzer |
JPH07152578A (en) * | 1993-11-29 | 1995-06-16 | Fuji Facom Corp | Detection of maximum stack usage quantity |
JPH07271572A (en) * | 1994-03-30 | 1995-10-20 | Hitachi Software Eng Co Ltd | Method for generating dynamic step number calculating formula |
JPH0869380A (en) * | 1994-08-29 | 1996-03-12 | Fujitsu Ltd | Source program check device |
JPH11219289A (en) * | 1998-02-02 | 1999-08-10 | Fujitsu Ltd | Object-oriented program quality evaluation device |
JP2000122895A (en) * | 1998-10-20 | 2000-04-28 | Matsushita Electric Ind Co Ltd | Method and device for analyzing stack size |
JP2000132387A (en) * | 1998-10-22 | 2000-05-12 | Fujitsu Ltd | Object directing program generation support device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007179488A (en) * | 2005-12-28 | 2007-07-12 | Fujitsu Ltd | Program for predicting source code problem |
KR100767273B1 (en) * | 2006-09-12 | 2007-10-17 | 박란 | Warning apparatus for the danger of bus |
US8839210B2 (en) | 2006-09-28 | 2014-09-16 | Fujitsu Limited | Program performance analysis apparatus |
JP2011181034A (en) * | 2010-03-04 | 2011-09-15 | Nec Corp | System and method for evaluation of software effective performance, and program |
Also Published As
Publication number | Publication date |
---|---|
JP3961787B2 (en) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3664473B2 (en) | Program optimization method and compiler using the same | |
US7707386B2 (en) | Program segment searching for extension instruction determination to design a processor that meets performance goal | |
US8046834B2 (en) | Method of polymorphic detection | |
JPH02205929A (en) | Compiling system | |
Lomet | Data flow analysis in the presence of procedure calls | |
JP3237693B2 (en) | Language processing apparatus and language processing method | |
JP2002073369A (en) | Support device for improving efficiency of object- oriented program and recording medium and program | |
US20090328006A1 (en) | Instruction-trace generation program, instruction-trace generating device, and instruction-trace generating method | |
US7831964B2 (en) | Program automatic converting method and program automatic converting device | |
JPH01118931A (en) | Program conversion system | |
US20070011440A1 (en) | Processor and processing method | |
US9274929B2 (en) | Constraint derivation in context following for use with object code insertion | |
JPH1040112A (en) | Dynamic information utilization type program optimizing device | |
JPH10320212A (en) | Cache optimizing method | |
JP3910831B2 (en) | Program development support device, recording medium, and program | |
JP2001282546A (en) | Program conversion device, program conversion method and program recording medium | |
JP3152194B2 (en) | Compiling device, compiling method, and recording medium recording compiler | |
JP2003256214A (en) | Loop conversion method using array extension | |
JPH09265400A (en) | Compilation optimizing system | |
JPS62169272A (en) | Unrolling processing system for vector arithmetic string loop | |
JP2904112B2 (en) | Automatic program synthesizer | |
JPH09101896A (en) | Method for optimizing compiling | |
JP2003337709A (en) | Compiling method | |
JP2000347879A (en) | Parallel program generating method | |
JP2001067234A (en) | Compiler and processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040423 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060703 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060718 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060914 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070219 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070403 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070405 |
|
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: 20070515 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070517 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100525 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140525 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |