JP2002222099A - プログラム開発支援装置、記録媒体、及びプログラム - Google Patents

プログラム開発支援装置、記録媒体、及びプログラム

Info

Publication number
JP2002222099A
JP2002222099A JP2001352940A JP2001352940A JP2002222099A JP 2002222099 A JP2002222099 A JP 2002222099A JP 2001352940 A JP2001352940 A JP 2001352940A JP 2001352940 A JP2001352940 A JP 2001352940A JP 2002222099 A JP2002222099 A JP 2002222099A
Authority
JP
Japan
Prior art keywords
program
correction
performance
influence
correction method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001352940A
Other languages
English (en)
Other versions
JP3910831B2 (ja
Inventor
Tatsuo Kondo
竜生 近藤
Satoru Nakajima
哲 中島
Hiroko Nakayama
裕子 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001352940A priority Critical patent/JP3910831B2/ja
Publication of JP2002222099A publication Critical patent/JP2002222099A/ja
Application granted granted Critical
Publication of JP3910831B2 publication Critical patent/JP3910831B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】本発明はプログラム開発支援装置、記録媒体、
及びプログラムに関し、必要な情報の定型化及びその上
の処理の自動化により自動的に改善し、システムの性能
改善を効率化する。 【解決手段】プログラムを解析してプログラムモデルを
作成するプログラム解析部4と、プログラムモデルから
問題点に合致する問題箇所を抽出する問題箇所抽出部6
と、問題箇所を問題点−性能影響−修正方法対応表に当
てはめ性能影響を求める性能影響算出部12と、問題箇
所からその修正によって影響を受ける影響範囲をプログ
ラムモデルから検索する影響範囲検索部14と、問題点
−性能影響−修正方法対応表と影響範囲から修正規模を
算出する修正規模算出部16と、問題箇所、性能影響及
び修正規模を基に問題箇所を出力する出力部18を備え
ている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、開発対象のコンピ
ュータプログラムを検査し、バグ、実行時間やリソース
消費量上の問題、解読性が悪く保守を難しくする記述等
を検出することにより、プログラム開発時の支援を行う
プログラム開発支援装置及び記録媒体に関する。
【0002】
【従来の技術】以下、従来例について説明する。従来、
プログラムを解析して問題箇所を検出するプログラム開
発支援装置が知られていた。以下、このプログラム開発
支援装置を図15に基づいて説明する。
【0003】プログラム開発支援装置は、入力されたプ
ログラムを解析してプログラムモデルを作成するプログ
ラム解析部4と、入力された問題点とプログラムモデル
を基に問題箇所を抽出する問題箇所抽出部6を備えてい
る。なお、前記問題点は、予め、人手によりプログラム
上の問題点と考えられる箇所を調べたものであり、プロ
グラムは開発対象のプログラムである。
【0004】前記構成のプログラム開発支援装置では、
入力されたプログラムをプログラム解析部4が解析して
プログラムモデルを作成し、問題箇所抽出部6が、入力
された問題点とプログラムモデルを基に問題箇所を抽出
する。
【0005】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。
【0006】(1) :従来のプログラム開発支援装置によ
りプログラムの開発支援を行う場合、次のような課題が
あった。すなわち、一般には、プログラムを解析して複
数の問題点が検出されるが、その中には修正が局所的で
あって容易なもの、修正の影響が広範囲に及ぶため難し
いものなどが混在する。
【0007】加えて性能改善を目的とする場合には、問
題点の修正が改善にどの程度寄与するかを判断するため
に、記述されたシステムの仕様、設計ならびに実装に用
いられるデザインパターン等の設計技術及びプログラミ
ング技術、プログラミング言語の特性、コンパイラ等の
言語処理系や実行環境の特性等の高度な理解を必要とす
る。従って、数ある問題点の中でどの項目の修正がより
効率良く性能改善に結びつくかを判断するのは困難であ
る。
【0008】(2) :従来のプログラム開発支援装置は前
記の通りであるから、抽出された問題点から性能影響や
修正の適用範囲を割り出し、性能影響の大きさや修正の
難度から問題点に優先順位を与え、優先度の高い問題点
から修正することにより効率良く性能改善を行なって行
くのは困難である。
【0009】本発明は、このような従来の課題を解決
し、プログラム開発を行う際、必要な情報の定型化と処
理の自動化を実現し、性能改善の効率化を図ることを目
的とする。
【0010】
【課題を解決するための手段】本発明は前記の目的を達
成するため、次のように構成した。
【0011】(1) :プログラム、問題点、及び該問題点
と性能影響と修正方法を対応させた問題点−性能影響−
修正方法対応情報を入力し、前記プログラムを解析して
性能上の問題箇所を出力するプログラム開発支援装置で
あって、前記プログラムを解析してプログラムモデルを
作成するプログラム解析部と、前記プログラムモデルか
ら、前記問題点に合致する問題箇所を抽出する問題箇所
抽出部と、前記問題箇所を前記問題点−性能影響−修正
方法対応情報に当てはめ、性能影響を求める性能影響算
出部と、前記問題箇所から、その修正によって影響を受
ける影響範囲を前記プログラムモデルから検索する影響
範囲検索部と、前記問題点−性能影響−修正方法対応情
報から、問題箇所に対応する修正方法を求め、該修正方
法と前記影響範囲から修正規模を求める修正規模算出部
と、前記問題箇所、性能影響、及び修正規模を基に問題
箇所検索結果を出力する出力部を備えていることを特徴
とする。
【0012】(2) :コンピュータに、プログラムを解析
してプログラムモデルを作成するプログラム解析部と、
前記プログラムモデルから、問題点に合致する問題箇所
を抽出する問題箇所抽出部と、前記問題箇所を問題点−
性能影響−修正方法対応情報に当てはめ、性能影響を求
める性能影響算出部と、前記問題箇所から、その修正に
よって影響を受ける影響範囲を前記プログラムモデルか
ら検索する影響範囲検索部と、問題点−性能影響−修正
方法対応情報から、問題箇所に対応する修正方法を求
め、該修正方法と前記影響範囲から修正規模を求める修
正規模算出部と、前記問題箇所、性能影響、及び修正規
模を基に問題箇所検索結果を出力する出力部の機能を実
現させるためのプログラムを記録したコンピュータ読み
取り可能な記録媒体。
【0013】(3) :コンピュータに、プログラムを解析
してプログラムモデルを作成するプログラム解析部と、
前記プログラムモデルから、問題点に合致する問題箇所
を抽出する問題箇所抽出部と、前記問題箇所を問題点−
性能影響−修正方法対応情報に当てはめ、性能影響を求
める性能影響算出部と、前記問題箇所から、その修正に
よって影響を受ける影響範囲を前記プログラムモデルか
ら検索する影響範囲検索部と、問題点−性能影響−修正
方法対応情報から、問題箇所に対応する修正方法を求
め、該修正方法と前記影響範囲から修正規模を求める修
正規模算出部と、前記問題箇所、性能影響、及び修正規
模を基に問題箇所検索結果を出力する出力部の機能を実
現させるためのプログラム。
【0014】(作用)前記構成に基づく本発明の作用を
図1に基づいて説明する。入力として、プログラム、問
題点、及び該問題点と性能影響と修正方法を対応させた
問題点−性能影響−修正方法対応情報(問題点−性能影
響−修正方法対応表)の3つが与えられる。
【0015】最初にプログラム解析部4はプログラムを
解析してプログラムモデルを作成する。次に、問題箇所
抽出部6は前記プログラムモデルから問題点に合致する
問題箇所を抽出する。その後、性能影響算出部16は前
記問題箇所を問題点−性能影響−修正方法対応情報に当
てはめ、性能影響を算出する。そして、影響範囲検索部
14は、前記問題箇所から、その修正によって影響を受
ける影響範囲を前記プログラムモデルから検索する。
【0016】次に、修正規模算出部16は、前記問題点
−性能影響−修正方法対応情報から、問題箇所に対応す
る修正方法を求め、該修正方法と前記影響範囲から修正
規模を求める。最後に、出力部18は、前記問題箇所、
性能影響、及び修正規模を基に問題箇所検索結果を出力
し、ユーザに提示する。
【0017】このようにすれば、問題点と性能影響の対
応を明確にし、検出された問題箇所から性能影響と修正
規模を求め、性能影響と修正規模に基づいて問題箇所に
優先順位をつける作業を自動化することができる。従っ
て、性能改善の効率化を図ることができる。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。
【0019】§1:プログラム開発支援装置の説明 以下、図2に基づいてプログラム開発支援装置を説明す
る。このプログラム開発支援装置1は、プログラムの解
析処理を行うプログラム解析部4と、問題箇所の抽出処
理を行う問題箇所抽出部6と、性能影響の算出処理を行
う性能影響算出部12と、修正の影響範囲を検索する修
正の影響範囲検索部14と、修正規模の算出処理を行う
修正規模算出部16と、データの出力処理を行う出力部
18を備えている。
【0020】前記開発支援装置の機能は次の通りであ
る。この装置への入力データとして、プログラムと、問
題点と、問題点−性能影響−修正方法対応表の3つが与
えられる。この場合、プログラムは開発対象のプログラ
ムであり、問題点は人手によりプログラム上の問題点を
集めたデータである。また、問題点−性能影響−修正方
法対応表は、人手によりプログラム上の問題点とその性
能影響と修正方法を対応表にまとめたデータである。
【0021】前記3つの入力データが与えられると、先
ず、プログラム解析部4はプログラムを解析しプログラ
ムモデルを作成する。問題箇所抽出部6はプログラムモ
デルと問題点を入力し、プログラムモデルから問題点に
合致する箇所を問題箇所として抽出する。その後、個々
の問題箇所につき、次のような処理を行う。
【0022】先ず、性能影響算出部12は問題箇所と問
題点−性能影響−修正方法対応表のデータを入力し、問
題箇所を問題点−性能影響−修正方法対応表に当ては
め、性能影響を作成する。影響範囲検索部14は前記問
題箇所から、その修正によって影響を受ける影響範囲を
プログラムモデルから検索する。
【0023】修正規模算出部16は前記問題点−性能影
響−修正方法対応情報から、問題箇所に対応する修正方
法を求め、該修正方法と前記影響範囲から修正規模を求
める。出力部18は修正規模と問題箇所と性能影響のデ
ータを入力し、修正規模と性能影響に基づいて問題箇所
を分類し、出力装置(ディスプレイ装置、プリンタ装置
等)を介して問題箇所検索結果を可視化出力し、ユーザ
に提示する。なお、前記問題点の定義は次の通りであ
る。
【0024】(問題点の定義)次のようなものを問題点
と定義する。
【0025】:バグ(それに一致すると動作しないも
の) :性能上問題有り(動作するが、メモリを多く消費す
る、等の問題があるもの) :保守が難しい(動作するが、実現手段が分かりにく
い、読みにくい等) :記述方法が何通りか有る(1つに統一する必要があ
るもの) §2:フローチャートによる処理の説明 以下、図3に基づいて前記プログラム開発支援装置1の
処理を説明する。なお、S1〜S10は各処理ステップ
を示す。
【0026】前記3つの入力データが与えられると、先
ず、プログラム解析部4はプログラムを解析しプログラ
ムモデルを作成する(S1)。次に、問題点箇所抽出部
6は問題点とプログラムモデルのデータを入力し、プロ
グラムモデルから問題点に合致する箇所を問題箇所とし
て抽出する(S2)。その後、個々の問題箇所につき次
の処理を行う。
【0027】先ず、性能影響算出部12は問題箇所と問
題点−性能影響−修正方法対応表のデータを入力し、問
題箇所を1つ取り出して(S3)、その問題箇所を問題
点−性能影響−修正方法対応表に当てはめ、性能影響を
割り出す(S4)。
【0028】次に、影響範囲検索部14は問題箇所とプ
ログラムモデルとを入力し、問題箇所から、その修正に
よって影響を受ける部分をプログラムモデルから検索
し、それを影響範囲として求める(S5)。その後、修
正規模算出部16は問題点−性能影響−修正方法対応表
から問題箇所に対応する修正方法を求め(S6)、前記
修正方法と影響範囲から修正規模を求める(S7)。
【0029】最後に、出力部18は修正規模と問題箇所
と性能影響のデータを入力し、問題箇所、性能影響、修
正規模の3つの組を問題箇所一覧に蓄積(図示しないワ
ークメモリに蓄積)する(S8)。そして、全ての問題
点が尽くされたか否かを判断し(S9)、全ての問題点
が尽くされていなければ、前記S3の処理へ移行する。
【0030】このようにして、全ての問題点が尽くされ
ていれば、出力部18は、問題箇所検索結果である問題
箇所、性能影響、修正規模を可視化出力しユーザに提示
する(S10)。
【0031】§3:具体例による説明 以下、図4〜図12に基づいて具体例を説明する。図4
はjava言語で記述した入力プログラムの例である。
このプログラムをプログラム解析部4が解析し、プログ
ラムモデルを抽出する。この場合のプログラムモデルの
1例は図5に示した通りである。
【0032】図5において、クラスからメソッドへの実
線による矢印(クラス→メソッド)は、クラスがメソッ
ドを所有していることを示しており、メソッドからクラ
スへの実線による矢印(メソッド→クラス)は、メソッ
ドがクラスを所有していることを示している。更に、メ
ソッドからメソッドへの点線による矢印は、メソッドが
メソッドを呼び出していることを示している。
【0033】前記プログラムモデルと、図6に示した問
題となるコーディングの例(問題点の例)から、問題箇
所抽出部6がプログラム中の問題箇所を抽出する。この
場合、前記コーディングの例では、問題点1、2、3の
情報が記述されている。
【0034】例えば、問題点1は「クラスVectorのメソ
ッドinsertElementAt を呼び出している」となってい
る。問題点2は「クラスVectorのメソッドremoveElemen
tAt を呼び出している」となっている。問題点3は「ク
ラスVectorのインスタンス生成時に初期サイズを指定し
ていない」となっている。
【0035】問題箇所抽出部6がプログラムモデルと問
題点から、プログラム中の問題箇所を抽出した場合、図
7に示した3つの問題箇所a(問題点3)、問題箇所b
(問題点2)、問題箇所c(問題点1)が抽出される。
この例では、問題箇所aは「Vector v; 」、問題箇所b
は「v.removeElementAt(0); 」、問題箇所cは「v.inse
rtElementAt(0,””);」である。
【0036】次に、性能影響算出部12は、図7に示し
た問題箇所a、問題箇所b、問題箇所cと、問題点−性
能影響−修正方法対応表から、前記抽出された個々の問
題箇所に対する性能影響を算出する。この場合、前記問
題点−性能影響−修正方法対応表(人手により作成した
もの)の例は、図8に示した通りである。
【0037】例えば、問題点1は、「クラスVectorのメ
ソッドinsertElementAt を呼び出している」で、実行時
間への影響は「中(5.0)」で、メモリ消費量への影
響は「中(6.0)」で、修正方法は「Vector以外のコ
レクションクラスないし配列を使う」となっている。
【0038】また、問題点2は「クラスVectorのメソッ
ドremoveElementAt を呼び出している」で、実行時間へ
の影響は「中(5.0)」で、メモリ消費量への影響は
「中(6.0)」で、修正方法は「Vector以外のコレク
ションクラスないし配列を使う」となっている。
【0039】問題点3は「クラスVectorのインスタンス
生成時に初期サイズを指定していない」で、実行時間へ
の影響は「小(0.8)」で、メモリ消費量への影響は
「大(8.6)」で、修正方法は「適切な初期サイズを
指定する」となっている。
【0040】なお、前記問題点−性能影響−修正方法対
応表において、「中」は中程度の影響があることを示し
ており、「大」は影響が大きいことを示し、「小」は影
響が小さいことを示している。また、括弧内の数字は、
予め決めた計算式により算出され数値化した影響の度合
いを示している。
【0041】前記算出された個々の問題箇所に対する性
能影響の例は、図9に示したようなものである。この例
では、問題箇所a、b、c毎に、問題内容と性能影響の
項目にそれぞれ情報が記述されている。例えば、問題箇
所aの問題内容は「クラスVectorのインスタンス生成時
に初期サイズを指定していない」で、性能影響は「5.
1」である。
【0042】問題箇所bの問題内容は「クラスVectorの
メソッドremoveElementAt を呼び出している」で、性能
影響は「8.0」である。問題箇所cの問題内容は「ク
ラスVectorのメソッドinsertElementAt を呼び出してい
る」で、性能影響は「8.0」である。
【0043】この場合、前記性能影響は重み付け関数で
あり、この重み付け関数をFとし、実行時間影響をt、
メモリ消費量影響をmとすると、F=t+(m/2)の
式で表わされる。
【0044】また、影響範囲検索部14は個々の問題箇
所につき、その修正によって影響を受ける部分をプログ
ラムモデルから検索し、それを影響範囲として求める。
この影響範囲の例は図10に示した通りである。図10
において、太い点線の矢印で示した部分が影響している
ものを表す。
【0045】すなわち、図10において、太線の枠で囲
まれたメソッド(この例では、メソッドremoveElementA
t )が影響範囲検索を開始した問題箇所(図7に示した
問題箇所b)であり、点線の枠で囲まれたメソッド(こ
の例では、メソッドf、g)が影響範囲に含まれるメソ
ッドである。そして、メソッドfがメソッドgを呼び出
している部分、メソッドhがメソッドgを呼び出してい
る部分、メソッドgがメソッドremoveElementAt を呼び
出している部分が、影響範囲として求められている。
【0046】また、修正規模算出部16は、前記問題点
−性能影響−修正内容対応表の修正内容と、前記影響範
囲から修正規模を算出する。この修正規模算出例を図1
1に示す。図11での修正規模は、レベル1=検出され
たメソッド内で閉じているもの、レベル2=同じクラス
の中で他のメソッドに影響するもの、レベル3=他のク
ラスのメソッドに影響するものとして求めている。
【0047】また、問題箇所aの影響範囲がB::
g()となっているが、これは、クラスBのメソッドg
のみ修正すれば良いことを示している。また、問題箇所
bでは、クラスBのメソッドgの他に、他のクラスであ
るクラスAのメソッドf、hの修正が必要であることを
示している。更に、問題箇所cでは、クラスBのメソッ
ドgの他に、他のクラスであるクラスAのメソッドf、
hの修正が必要であることを示している。
【0048】前記問題箇所aの修正規模はレベル1、問
題箇所bの修正規模はレベル3、問題箇所cの修正規模
はレベル3となっている。この場合、前記修正規模の大
は修正規模が大きいことを示し、修正規模の小は修正規
模が小さいことを示している。
【0049】最後に、出力部18は修正規模と問題箇所
と性能影響のデータを入力し、問題箇所、性能影響、修
正規模の3つの組を問題箇所一覧に蓄積(図示しないワ
ークメモリに蓄積)する。そして、全ての問題点が尽く
されていれば、出力部18は、問題箇所検索結果である
問題箇所、性能影響、修正規模を可視化出力(表示、又
は印刷出力)し、ユーザに提示する。
【0050】この場合、前記問題箇所、性能影響、修正
規模の3つの組の例を図12に示す。この例では、問題
箇所aでは、検出位置が「18行目」で、問題内容が
「クラスVectorのインスタンス生成時に初期サイズを指
定していない」で、性能影響が「5.1」で、修正規模
が「レベル1」となっている。
【0051】問題箇所bでは、検出位置が「19行目」
で、問題内容が「クラスVectorのメソッドremoveElemen
tAt を呼び出している」で、性能影響が「8.0」で、
修正規模が「レベル3」となっている。問題箇所cで
は、検出箇所が「20行目」で、問題内容が「クラスVe
ctorのメソッドinsertElementAt を呼び出している」
で、性能影響が「8.0」で、修正規模が「レベル3」
となっている。
【0052】また、ユーザへの出力結果提示例は図13
のようなものである。この例では、図13のA図に示し
た出力例1と、図13のB図に示した出力例2がある。
前記出力例1は、図12の問題箇所a、b、cを分類
し、順序を入れ換えて可視化出力した例である。
【0053】この場合、問題箇所はb、c、aの順に並
んでおり、問題箇所bでは、検出位置が「19行目」
で、問題内容が「クラスVectorのメソッドremoveElemen
tAt を呼び出している」で、性能影響が「8.0」で、
修正規模が「レベル3」となっている。
【0054】問題箇所cでは、検出箇所が「20行目」
で、問題内容が「クラスVectorのメソッドinsertElemen
tAt を呼び出している」で、性能影響が「8.0」で、
修正規模が「レベル3」となっている。問題箇所aで
は、検出位置が「18行目」で、問題内容が「クラスVe
ctorのインスタンス生成時に初期サイズを指定していな
い」で、性能影響が「5.1」で、修正規模が「レベル
1」となっている。
【0055】このような出力データをディスプレイ装置
の画面に表示したり、或いはプリンタ装置により印刷し
て出力することでユーザに提示する。
【0056】また、出力例2は、出力部18が図13の
A図に示したデータを編集し、図13のB図のようにグ
ラフ化して可視化出力した例であり、横軸(X軸)に性
能影響、縦軸(Y軸)に修正規模をとり、グラフ化して
いる。このようにして、問題箇所a、b、cがX、Y座
標上にグラフ表示されている。
【0057】§4:具体的な装置例と記録媒体の説明 図14は具体的な装置例である。前記プログラム開発支
援装置は、パーソナルコンピュータ、ワークステーショ
ン等の任意のコンピュータにより実現することができ
る。この装置は、コンピュータ本体21と、該コンピュ
ータ本体21に接続されたディスプレイ装置22、入力
装置(キーボード/マウス等)23、リムーバブルディ
スクドライブ(「RDD」という)24、ハードディス
ク装置(「HDD」という)25等で構成されている。
【0058】そして、コンピュータ本体21には、内部
の各種制御や処理を行うCPU26と、プログラムや各
種データを格納しておくためのROM27(不揮発性メ
モリ)と、メモリ28と、インタフェース制御部(「I
/F制御部」という)29と、通信制御部30等が設け
てある。なお、前記RDD24には、フレキシブルディ
スクドライブや光ディスクドライブ等が含まれる。
【0059】前記構成の装置において、例えば、ハード
ディスク装置25のハードディスク(記録媒体)に、前
記プログラム開発支援装置の処理を実現するためのプロ
グラムを格納しておき、このプログラムをCPU26が
読み出して実行することにより、前記プログラム開発支
援装置の処理を実行する。
【0060】しかし、本発明は、このような例に限ら
ず、例えば、ハードディスク装置25のハードディスク
(記録媒体)に、次のようにしてプログラムを格納し、
このプログラムをCPU26が実行することで前記プロ
グラム開発支援装置の処理を行うことも可能である。
【0061】:他の装置で作成されたリムーバブルデ
ィスクに格納されているプログラム(他の装置で作成し
たプログラムデータ)を、リムーバブルディスクドライ
ブ24により読み取り、ハードディスク装置25のハー
ドディスク(記録媒体)に格納する。
【0062】:ネットワーク(インターネット、LA
N等)を介して他の装置から伝送されたプログラム等の
データを、通信制御部30を介して受信し、そのデータ
をハードディスク装置25のハードディスク(記録媒
体)に格納する。
【0063】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。
【0064】(1) :入力として、プログラム、問題点、
及び該問題点と性能影響と修正方法を対応させた問題点
−性能影響−修正方法対応情報の3つが与えられると、
プログラム解析部はプログラムを解析してプログラムモ
デルを作成し、問題箇所抽出部はプログラムモデルから
問題点に合致する問題箇所を抽出する。
【0065】性能影響算出部は問題箇所を、問題点−性
能影響−修正方法対応情報に当てはめ、性能影響を算出
し、影響範囲検索部は、問題箇所から、その修正によっ
て影響を受ける影響範囲をプログラムモデルから検索す
る。修正規模算出部は、問題点−性能影響−修正方法対
応情報から問題箇所に対応する修正方法を求め、該修正
方法と前記影響範囲から修正規模を求める。出力部は、
前記問題箇所、性能影響、修正規模を基に問題箇所検索
結果を出力しユーザに提示する。
【0066】このようにすれば、問題点と性能影響の対
応を明確にし、検出された問題箇所から性能影響と修正
規模を求め、性能影響と修正規模に基づいて問題箇所に
優先順位をつける作業を自動化することができる。従っ
て、性能改善の効率化を図ることができる。
【0067】(2) :必要な情報の定型化及び処理の自動
化により、プログラム開発時の性能改善を効率化するこ
とができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施の形態におけるプログラム開発支
援装置の説明図である。
【図3】本発明の実施の形態における処理フローチャー
トである。
【図4】本発明の実施の形態における入力プログラム例
である。
【図5】本発明の実施の形態におけるプログラムモデル
例である。
【図6】本発明の実施の形態における問題となるコーデ
ィングの例である。
【図7】本発明の実施の形態における問題箇所の例であ
る。
【図8】本発明の実施の形態における問題点−性能影響
−修正内容対応表の例である。
【図9】本発明の実施の形態における算出された性能影
響の例である。
【図10】本発明の実施の形態における問題点の修正に
よる影響範囲の例である。
【図11】本発明の実施の形態における修正規模算出例
である。
【図12】本発明の実施の形態における問題箇所、性能
影響、修正規模の三つの組の例である。
【図13】本発明の実施の形態におけるユーザへの出力
結果提示例であり、A図は出力例1、B図は出力例2で
ある。
【図14】本発明の実施の形態における具体的な装置例
である。
【図15】従来のプログラム開発支援装置の説明図であ
る。
【符号の説明】
1 プログラム開発支援装置 4 プログラム解析部 6 問題箇所抽出部 12 性能影響算出部 14 影響範囲検索部 16 修正規模算出部 18 出力部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中山 裕子 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B042 HH00 HH11 HH20 HH39 5B076 DF00 DF04 EC00 EC05 EC07 EC10

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】プログラム、問題点、及び該問題点と性能
    影響と修正方法を対応させた問題点−性能影響−修正方
    法対応情報を入力し、前記プログラムを解析して性能上
    の問題箇所を出力するプログラム開発支援装置であっ
    て、 前記プログラムを解析してプログラムモデルを作成する
    プログラム解析部と、 前記プログラムモデルから、前記問題点に合致する問題
    箇所を抽出する問題箇所抽出部と、 前記問題箇所を前記問題点−性能影響−修正方法対応情
    報に当てはめ、性能影響を求める性能影響算出部と、 前記問題箇所から、その修正によって影響を受ける影響
    範囲を前記プログラムモデルから検索する影響範囲検索
    部と、 前記問題点−性能影響−修正方法対応情報から、問題箇
    所に対応する修正方法を求め、該修正方法と前記影響範
    囲から修正規模を求める修正規模算出部と、 前記問題箇所、性能影響、及び修正規模を基に問題箇所
    検索結果を出力する出力部を備えている、 ことを特徴とするプログラム開発支援装置。
  2. 【請求項2】コンピュータに、 プログラムを解析してプログラムモデルを作成するプロ
    グラム解析部と、 前記プログラムモデルから、問題点に合致する問題箇所
    を抽出する問題箇所抽出部と、 前記問題箇所を問題点−性能影響−修正方法対応情報に
    当てはめ、性能影響を求める性能影響算出部と、 前記問題箇所から、その修正によって影響を受ける影響
    範囲を前記プログラムモデルから検索する影響範囲検索
    部と、 問題点−性能影響−修正方法対応情報から、問題箇所に
    対応する修正方法を求め、該修正方法と前記影響範囲か
    ら修正規模を求める修正規模算出部と、 前記問題箇所、性能影響、及び修正規模を基に問題箇所
    検索結果を出力する出力部の機能を実現させるためのプ
    ログラムを記録したコンピュータ読み取り可能な記録媒
    体。
  3. 【請求項3】コンピュータに、 プログラムを解析してプログラムモデルを作成するプロ
    グラム解析部と、 前記プログラムモデルから、問題点に合致する問題箇所
    を抽出する問題箇所抽出部と、 前記問題箇所を問題点−性能影響−修正方法対応情報に
    当てはめ、性能影響を求める性能影響算出部と、 前記問題箇所から、その修正によって影響を受ける影響
    範囲を前記プログラムモデルから検索する影響範囲検索
    部と、 問題点−性能影響−修正方法対応情報から、問題箇所に
    対応する修正方法を求め、該修正方法と前記影響範囲か
    ら修正規模を求める修正規模算出部と、 前記問題箇所、性能影響、及び修正規模を基に問題箇所
    検索結果を出力する出力部の機能を実現させるためのプ
    ログラム。
JP2001352940A 2000-11-27 2001-11-19 プログラム開発支援装置、記録媒体、及びプログラム Expired - Fee Related JP3910831B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001352940A JP3910831B2 (ja) 2000-11-27 2001-11-19 プログラム開発支援装置、記録媒体、及びプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000358804 2000-11-27
JP2000-358804 2000-11-27
JP2001352940A JP3910831B2 (ja) 2000-11-27 2001-11-19 プログラム開発支援装置、記録媒体、及びプログラム

Publications (2)

Publication Number Publication Date
JP2002222099A true JP2002222099A (ja) 2002-08-09
JP3910831B2 JP3910831B2 (ja) 2007-04-25

Family

ID=26604584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001352940A Expired - Fee Related JP3910831B2 (ja) 2000-11-27 2001-11-19 プログラム開発支援装置、記録媒体、及びプログラム

Country Status (1)

Country Link
JP (1) JP3910831B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071110A (ja) * 2006-09-14 2008-03-27 Xanavi Informatics Corp ソースコードレビュー支援装置
JP2008250866A (ja) * 2007-03-30 2008-10-16 Fujitsu Ltd 算出方法、算出装置及びコンピュータプログラム
JP7469999B2 (ja) 2020-09-10 2024-04-17 株式会社日立製作所 検索装置、検索方法、および検索プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071110A (ja) * 2006-09-14 2008-03-27 Xanavi Informatics Corp ソースコードレビュー支援装置
JP2008250866A (ja) * 2007-03-30 2008-10-16 Fujitsu Ltd 算出方法、算出装置及びコンピュータプログラム
JP7469999B2 (ja) 2020-09-10 2024-04-17 株式会社日立製作所 検索装置、検索方法、および検索プログラム

Also Published As

Publication number Publication date
JP3910831B2 (ja) 2007-04-25

Similar Documents

Publication Publication Date Title
US8839210B2 (en) Program performance analysis apparatus
US7536678B2 (en) System and method for determining the possibility of adverse effect arising from a code change in a computer program
JP4731643B2 (ja) スクリプト作成システム
JP4201363B2 (ja) セル・オーバーラップ検出及び補正方法
CN109313547B (zh) 用于cpu利用率和代码重构的查询优化器
US8898649B2 (en) Application program analysis method, analysis system and recording medium for identifying a contributing factor for an invalid operation of an application program
JP2009104252A (ja) デバッグ支援装置およびデバッグ支援方法
JP2002222099A (ja) プログラム開発支援装置、記録媒体、及びプログラム
JPWO2020161994A1 (ja) 依存関係検出装置および依存関係検出方法
WO2021152801A1 (ja) 学習装置、学習方法、及び、記録媒体
JPH07306847A (ja) コンピュータオペレーション支援装置
JP3049814B2 (ja) マイクロコンピュータの言語処理装置
JPH06175884A (ja) プログラムエラー原因究明装置
JP5702265B2 (ja) プログラム自動生成装置およびプログラム自動生成方法
JP4952317B2 (ja) 退避データ判別方法、退避データ判別プログラムおよび退避データ判別装置
JP5755861B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
JPH09288580A (ja) ソースプログラムの最適化装置および最適化方法
CN113111713B (zh) 一种图像检测方法、装置、电子设备及存储介质
JPH0793144A (ja) プログラム解析装置
JPH07200351A (ja) プログラムデバッグ方法およびプログラムデバッグ支援装置
JPH05250221A (ja) シミュレータ実行方式
JP3838279B2 (ja) 計算機プログラムの実行コストの解析方法
JP2747164B2 (ja) ソフトウェア・シミュレータ
JP2016038612A (ja) 情報処理プログラム、方法及び装置
JP3305767B2 (ja) ソート処理方法及びコンパイル方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070125

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110202

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140202

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees