JP5136567B2 - プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラム - Google Patents

プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラム Download PDF

Info

Publication number
JP5136567B2
JP5136567B2 JP2010007036A JP2010007036A JP5136567B2 JP 5136567 B2 JP5136567 B2 JP 5136567B2 JP 2010007036 A JP2010007036 A JP 2010007036A JP 2010007036 A JP2010007036 A JP 2010007036A JP 5136567 B2 JP5136567 B2 JP 5136567B2
Authority
JP
Japan
Prior art keywords
performance
subprogram
program
information
environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010007036A
Other languages
English (en)
Other versions
JP2011145937A (ja
Inventor
茂憲 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010007036A priority Critical patent/JP5136567B2/ja
Publication of JP2011145937A publication Critical patent/JP2011145937A/ja
Application granted granted Critical
Publication of JP5136567B2 publication Critical patent/JP5136567B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラムに関する。
近年、ウェブアプリケーションで、複雑な画面レイアウトや、高機能化した操作性を実現するリッチインターネットアプリケーションの技術を採用することが多くなっている。新規のアプリケーションの実現では、トップダウン方式の設計法が多く、設計の手戻りを減らして、開発コストを削減することが求められる。
例えば、特許文献1には、システム設計の早期の段階でも、簡便に性能見積もりすることができ、設計変更内容を随時性能見積もりに反映させることができるシステム性能見積もりシステムについて記載されている。そのシステムは、各プロセスの処理パターンと、データ蓄積のレコード件数と、実行時間を見積もるための算出ルールとを入力し、予測実行時間を算出し出力する技術を用いる。
特許文献2には、設計段階において、各部品プログラムの性能値を読み出し、シナリオと発生頻度比率とパラメータを基にシミュレーションを行い、計算機システムの性能値を予測することができる性能予測システムについて記載されている。
特許文献3には、コンポーネント・アプリケーションの構築方法について記載されている。その技術は、アプリケーションの構築時に、ソフトウェア・コンポーネント毎とシステム全体で信頼性の評価を行い、要求される信頼性を実現するアプリケーションを効率的に構築する技術である。
特許文献4では、計算機システムの性能値をシミュレーションで予測し、確認しながら設計を実施していく計算機システムの設計支援システムについて記載されている。
特開2001−125784号公報 特開2004−272582号公報 特開2006−099308号公報 特開2006−185055号公報
関連する技術の多くは、アプリケーション作成後に、性能などを測定しており、想定していた要件を満たしていない場合に、再びアプリケーションの作成が必要になることがあり、多くの開発コストがかかっていた。そのため、特許文献1ないし4のように、できるだけ早い段階で、性能などを見積もり、確認し、システムを設計することが行われている。性能の見積もりは、積み上げ方法や組立調整方法などを用いて行うが、その算出のためには全体のデータが必要であったり、時間がかかったり、実測値との誤差が所定の値より大きかったりと問題があった。また、アプリケーションの種類によっては、負荷が変動するため対応できないなどの問題が生じていた。
本発明は、上述の事情に鑑みてなされたものであり、プログラムの開発が完了する前であっても、必要データを推測することで、性能の見積もりが可能なプログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラムを提供することを目的とする。
本発明の第1の観点にかかるプログラム検査支援システムは、
サブプログラムの非機能要件である該サブプログラムが使用する要素の、基準の性能を表す性能基礎データを記憶する基礎データ記憶手段と、
プログラムに含まれる複数のサブプログラムごとに、該サブプログラムが使用する要素の情報である使用要素情報を取得するプログラム情報取得手段と、
前記性能基礎データと前記使用要素情報から、前記サブプログラムごとの非機能要件の性能の見積値を算出する性能見積手段と、を備え、
前記性能基礎データは、前記サブプログラムが動作する条件または環境の基準の性能を表す環境要素性能と、前記サブプログラムの内部で用いる要素ごとの基準の性能を表すプログラム要素性能のデータを含み、
前記使用要素情報は、前記サブプログラムが動作する条件または環境の情報である環境要素情報と、前記サブプログラムの内部で用いる要素ごとの情報を表すプログラム要素情報を含み、
前記性能見積手段は、前記環境要素性能と前記環境要素情報に基づいて前記サブプログラムが動作する条件または環境に対応する見積値を見積もり、さらに、前記プログラム要素性能と前記プログラム要素情報に基づいて前記サブプログラムの処理内容に対応する見積値を見積もり、これらの見積値に基づいて前記サブプログラムごとの性能の見積値を算出する、
とを特徴とする。
本発明の第2の観点に係るプログラム検査支援方法は、
プログラムの性能の検査を支援する装置が行うプログラム検査支援方法であって、
サブプログラムの非機能要件である該サブプログラムが使用する要素の、基準の性能を表す性能基礎データを取得する基礎データ取得ステップと、
プログラムに含まれる複数のサブプログラムごとに、該サブプログラムが使用する要素の情報である使用要素情報を取得するプログラム情報取得ステップと、
前記性能基礎データと前記使用要素情報から、前記サブプログラムごとの非機能要件の性能の見積値を算出する性能見積ステップと、を備え、
前記性能基礎データは、前記サブプログラムが動作する条件または環境の基準の性能を表す環境要素性能と、前記サブプログラムの内部で用いる要素ごとの基準の性能を表すプログラム要素性能のデータを含み、
前記使用要素情報は、前記サブプログラムが動作する条件または環境の情報である環境要素情報と、前記サブプログラムの内部で用いる要素ごとの情報を表すプログラム要素情報を含み、
前記性能見積ステップは、前記環境要素性能と前記環境要素情報に基づいて前記サブプログラムが動作する条件または環境に対応する見積値を見積もり、さらに、前記プログラム要素性能と前記プログラム要素情報に基づいて前記サブプログラムの処理内容に対応する見積値を見積もり、これらの見積値に基づいて前記サブプログラムごとの性能の見積値を算出するステップを含む、
とを特徴とする。
本発明の第3の観点に係るプログラム検査支援プログラムは、コンピュータに、
サブプログラムの非機能要件である該サブプログラムが使用する要素の、基準の性能を表す性能基礎データを取得する基礎データ取得ステップと、
プログラムに含まれる複数のサブプログラムごとに、該サブプログラムが使用する要素の情報である使用要素情報を取得するプログラム情報取得ステップと、
前記性能基礎データと前記使用要素情報から、前記サブプログラムごとの非機能要件の性能の見積値を算出する性能見積ステップと、を実行させ、
前記性能基礎データは、前記サブプログラムが動作する条件または環境の基準の性能を表す環境要素性能と、前記サブプログラムの内部で用いる要素ごとの基準の性能を表すプログラム要素性能のデータを含み、
前記使用要素情報は、前記サブプログラムが動作する条件または環境の情報である環境要素情報と、前記サブプログラムの内部で用いる要素ごとの情報を表すプログラム要素情報を含み、
前記性能見積ステップは、前記環境要素性能と前記環境要素情報に基づいて前記サブプログラムが動作する条件または環境に対応する見積値を見積もり、さらに、前記プログラム要素性能と前記プログラム要素情報に基づいて前記サブプログラムの処理内容に対応する見積値を見積もり、これらの見積値に基づいて前記サブプログラムごとの性能の見積値を算出するステップを含む、
とを特徴とする。
本発明によれば、プログラムの開発が完了する前であっても、必要データを推測することで、性能の見積もりができる。
本発明の実施の形態に係るプログラム検査支援システムの構成例を示すブロック図である。 非機能要件の例を示す図である。 環境部に係るチェック情報の例を示す図である。 プログラム部に係るチェック情報の例を示す図である。 実施の形態に係るプログラム検査支援システムの、プログラム検査支援の動作の一例を示すフローチャートである。 本発明の実施の形態の変形例に係るプログラム検査支援システムの構成例を示すブロック図である。 実施の形態の変形例に係るプログラム検査支援システムの、プログラム検査支援の動作の一例を示すフローチャートである。 本発明の実施の形態に係るプログラム検査支援システムの、チェック情報更新の動作の一例を示すフローチャートである。 本発明に係るプログラム検査支援システムのハードウェア構成の一例を示すブロック図である。
本発明で、プログラムの非機能要件とは、プログラムの目的の処理を実行する機能以外の、プログラムが使用するコンピュータ資源などの要素の性能をいう。例えば、プログラムの起動時間、主記憶にロードしたときのメモリ使用量、画面表示の所用時間、画面を遷移するときの所用時間、画面を表示するときのメモリ使用量などである。
プログラムが使用する要素とは、プログラムが動作する条件または環境、および、プログラムの内部で使用するライブラリ関数などをいう。動作する条件または環境には、例えば、アプリケーションプログラムに対するオペレーティングシステム(OS)、プログラムを動作させるためのプラットフォーム、OSやハードウェアに依存しない言語で記述されたアプレットを動作させるためのブラウザとプラグインなどがある。ライブラリ関数には、例えば、画面生成、ラベル表示、テキストボックス表示、ボタン表示などがあり、複数のアプリケーションプログラムに共通する定型の処理を実行するプログラムであって、さまざまなアプリケーションプログラムに組み込まれる。
本発明では、ある処理系における非機能要件の基準の性能を性能基礎データという。性能基礎データは、プログラムが動作する条件または環境の基準の性能を表す環境要素性能と、プログラムの内部で用いる要素ごとの基準の性能を表すプログラム要素性能のデータに分けられる。以下では、性能基礎データをチェック情報ともいう。また、環境要素性能をチェック情報の環境部といい、プログラム要素性能をチェック情報のプログラム部という。
本発明で、プログラムが使用する要素の情報を使用要素情報という。使用要素情報は、プログラムが動作する条件または環境の情報である環境要素情報と、プログラムの内部で用いる要素ごとの情報を表すプログラム要素情報に分けられる。使用要素情報は、検査の対象のソースプログラムを含む検査対象ファイルから抽出できる。以下では、環境要素情報を検査対象ファイルの環境部、プログラム要素情報を検査対象ファイルのプログラム部ともいう。
プログラムは、目的に合わせた処理を指示通りに実行するサブプログラムが集まって構成される。複数のサブプログラムを完成させていき、プログラムの開発は完了する。各々のサブプログラムは独立して動作し資源を使用するが、プログラム全体で使用する資源量は一定で限りがある。そのため、プログラムの開発者は、各々のサブプログラムの資源量や処理にかかる処理時間を考慮しながら、サブプログラムを完成させる必要がある。また、画面表示にかかる時間や切り替えにかかる時間など、使用する開発者の利便性向上に結び付く非機能要件についても、考慮する必要がある。本発明では、非機能要件の代表的な資源を例にあげて説明するが、非機能要件全般に適用可能である。
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。
(実施の形態)
図1は、本発明の実施の形態に係るプログラム検査支援システムの構成例を示すブロック図である。プログラム検査支援システム100は、記憶部1と、取得部2と、算出部3と、入力部4とおよび出力部5から構成される。プログラム検査支援システム100の検査対象ファイル12や性能基礎データであるチェック情報11などは、入力部4で入力し、出力部5で出力する。また、プログラム検査支援システム100は、ネットワークNを介して端末6と接続する。
記憶部1は、検査対象ファイル12や性能基礎データであるチェック情報11を記憶する。検査対象ファイル12は、検査対象であるプログラムおよびプログラムを構成するサブプログラムの総称をいう。また、各々のサブプログラムが使用する要素の情報は、サブプログラムが動作する条件または環境の情報である環境要素情報と、サブプログラムの内部で用いる要素ごとの情報を表すプログラム要素情報に分けられる。チェック情報11は、環境部に関するものと、プログラム部に関するものとに分けられ、サブプログラムの環境要素情報とプログラム要素情報のそれぞれに対応する。
また、記憶部1は、算出部3で算出した性能見積もり値や、完成したサブプログラムの性能を実測した性能実測値など、プログラム検査支援システム100に関するさまざまな情報を記憶する。
取得部2は、検査対象であるサブプログラムを記憶部1から取得し、かつ、記憶部1から取得した検査対象であるサブプログラムに対応するチェック情報11が記憶部1に格納されているかを確認する。
算出部3は、取得部2でチェック情報11有りとされたサブプログラムに対して、そのサブプログラムの性能見積もり値を算出する。そして、複数あるサブプログラムのそれぞれについて性能見積もり値を算出し、総和を求め、プログラムの性能見積もり値を算出する。
図2は非機能要件の例を示す図である。非機能要件の代表的なものに資源があり、ステップ数で表される計算時間や、記憶領域の量で表されるメモリ使用量があげられる。
図3は、環境部に係るチェック情報の例を示す図である。図4は、プログラム部に係るチェック情報の例を示す図である。開発者が開発するプログラムは、動作環境である環境部とプログラム部に区別され、環境部はプログラムの起動の有無により性能値が固定して与えられ、プログラム部はプログラムの起動状態に対応して性能値が変動して与えられる。
以下に、具体的に、開発者がプログラム検査支援システム100を用いる場合の、実施の形態の動作について説明する。検査対象のプログラムXは、サブプログラムAないしCの3個のサブプログラムから構成される。また、検査対象となる非機能要件は、起動速度に関するものを例とする。
サブプログラムAの環境部の動作条件・環境はOS(Windows(登録商標)XP)、対象はブラウザ(IE7:Internet Explorer 7(登録商標)、以下IE7と記載)、サブプログラムBの環境部の動作条件・環境はブラウザ(IE7)、対象はアドオン(FlashPlayer9(登録商標))、サブプログラムCの環境部の動作条件・環境はOS(Windows(登録商標)XP)、対象はブラウザ(IE7)とする。サブプログラムAのプログラム部の対象はButtonで100個、サブプログラムBのプログラム部の対象はAPサイズで5MB、サブプログラムCのプログラム部の対象はDateGridで5個とDateGridデータは10セルであるとする。
記憶部1は、予め、図3や図4で示すチェック情報11を記憶しておく。
開発者が端末6を用いてプログラミングすると、プログラム検査支援システム100の入力部4は、ネットワークNを介して、プログラムXに関する情報を取得する。プログラムXに関する情報とは、プログラムXがサブプロミングAないしCで構成されていることや、サブプログラミングAないしCの各サブプログラムの内容について、などである。
記憶部1は、入力部4で取得したプログラムXに関する情報を記憶する。取得部2は、記憶部1が記憶したプログラムXに関する情報から、検査対象である各サブプログラムAないしCを取得する。そして、それぞれのサブプログラムの環境部およびプログラム部について、検査のための非機能要件に該当する必要項目を抽出し、記憶部1に該当するチェック情報11が格納されているかどうかを、抽出した項目を照合して確認する。算出部3は、取得部2で取得し、チェック情報11有りと確認されたサブプログラムAないしCについて、非機能要件の性能見積もり値をそれぞれ算出する。さらに算出部3は、その総和を算出し、プログラムXの性能見積もり値とする。
例えば、サブプログラムAについては、環境部の条件が、環境部のチェック情報11のレコード1と一致するので、非機能要件の起動速度を算出するために、起動時間は2000msec用いることが分かる。また、プログラム部の条件が、対象のButtonが100個であるので、環境部のチェック情報11のレコード2より、1個あたり10msecなので起動時間はそれらの積の1000msec必要なことが分かる。サブプログラムAについては、起動時間は合計3000msec必要であることが算出できる。同様に、サブプログラムBは3000msec、サブプログラムCは2600msecである。そして、その総和より、プログラムXの性能見積もり値は、8600msecとなる。
そして、記憶部1は、算出部3で算出したプログラムXの性能見積もり値を記憶する。また、必要があれば、出力部5は、ネットワークNを介して端末6にプログラムXの性能見積もり値の情報を出力する。
図5は、本発明の実施の形態に係るプログラム検査支援システムの、プログラム検査支援の動作の一例を示すフローチャートである。予め、プログラムの非機能要件に関するチェック情報11を、記憶部1へ記憶する。
開発者が端末6を用いてプログラムを作成する。プログラム検査支援システム100の入力部4は、ネットワークNを介して、端末6に入力された情報であるプログラムや、そのプログラムを構成する複数のサブプログラムを受信し、記憶部1は、その受信した情報について記憶する(ステップS11)。取得部2は、記憶部1に記憶された情報から、検査対象であるプログラムおよびサブプログラムの情報を取得し、非機能要件にかかる項目の抽出を行う(ステップS12)。そして取得部2は、記憶部1に、検査対象のプログラムの非機能要件に対応するチェック情報11が格納されているかどうかを確認する(ステップS13)。チェック情報11があれば(ステップS14;YES)、算出部3は、取得部2で抽出した非機能要件にかかる項目と、対応するチェック情報11をもとに、サブプログラムの性能の見積もり値を算出する(ステップS15)。そして、各サブプログラムの総和を求め、プログラムの性能の見積もり値を算出し(ステップS16)、プログラム検査支援の動作を終了する。チェック情報11がなければ(ステップS14;NO)、そのままプログラム検査支援の動作を終了する。
(実施の形態の変形例)
図6は、本発明の実施の形態の変形例に係るプログラム検査支援システムの構成例を示すブロック図である。変形例では、チェック情報がない場合に、開発者に表示することができる。また、サブプログラムが完成した場合に、性能見積もり値と性能実測値とを比較し、見積もりの精度を向上することができる。プログラム検査支援システム100は、実施の形態1の構成に加えて、判定部7および測定部8を備える。
判定部7は、記憶部1に記憶された情報のサブプログラムが、完成したサブプログラムであるかを判定する。判定は、そのプログラム内容を読み込み、プログラム処理に必要な命令シーケンスが含まれているかどうかや、その他必要なシーケンスを備えているかなどで判断する。あるいは、サブプログラムが特別のフォルダに登録されたこと、または、サブプログラムのファイル名が完成プログラムのリストに登録されたことをもって、完成したと判断してもよい。
測定部8は、判定部7で完成したサブプログラムであると判断されたサブプログラムに対して、好ましくは実際に処理をして性能実測値を測定する。実際の処理が不可能である場合は、シミュレーションした結果や、過去の類似したプログラムの性能値をもとに、所定の方法で、近似した値を算出することが好ましい。このとき記憶部1は、チェック情報11を、測定部8で測定もしくは算出した値に更新して記憶する。
図7は、実施の形態の変形例に係るプログラム検査支援システムの、プログラム検査支援の動作の一例を示すフローチャートである。
開発者が端末6を用いてプログラムを作成する。プログラム検査支援システム100の入力部4は、ネットワークNを介して、端末6に入力された情報であるプログラムや、そのプログラムを構成する複数のサブプログラムを受信し、記憶部1は、その受信した情報について記憶する(ステップS11)。取得部2は、記憶部1に記憶された情報から、検査対象であるプログラムおよびサブプログラムの情報を取得し、非機能要件にかかる項目の抽出を行う(ステップS12)。
取得部2は、記憶部1に、検査対象のプログラムの非機能要件に対応するチェック情報11が格納されているかどうかを確認する(ステップS13)。チェック情報11があれば(ステップS14;YES)、算出部3は、取得部2で抽出した非機能要件にかかる項目と、対応するチェック情報11をもとに、サブプログラムの性能の見積もり値を算出する(ステップS15)。そして、各サブプログラムの総和を求め、プログラムの性能の見積もり値を算出し(ステップS16)、出力部5はネットワークNを介して、算出した性能見積もり値のデータを、端末6に表示する(ステップS21)。そして、プログラム検査支援の変形例の動作を終了する。
チェック情報11がなければ(ステップS14;NO)、該当する非機能要件を備えたサブプログラムの抽出を行い(ステップS22)、抽出したサブプログラムのデータを、端末6に表示し(ステップS23)、プログラム検査支援の動作を終了する。このとき、サブプログラムの表示だけでなく、チェック情報11がない項目、すなわち、性能を見積もるために必要な項目を表示してもよい。開発者は、性能を見積もるために不足している項目を知ることができ、その項目を補足することで、性能値を見積もることが可能となることが分かる。
図8は、本発明の実施の形態に係るプログラム検査支援システムの、チェック情報更新の動作の一例を示すフローチャートである。チェック情報更新の動作は、プログラム検査支援の動作と独立して行う。
開発者が端末6を用いてプログラムを作成する。プログラム検査支援システム100の入力部4は、ネットワークNを介して、端末6に入力されたプログラムやそのプログラムを構成する複数のサブプログラムの情報を受信し、記憶部1は、それらの情報を記憶する(ステップS31)。判定部7は、取得したサブプログラムの情報について、完成したサブプログラムであるかを判定する(ステップS32)。完成したサブプログラムであれば(ステップS33;YES)、測定部8は、実際の性能値である実測値を測定する(ステップS34)。記憶部1は、チェック情報11の性能見積もり値を性能実測値へ置き換え、チェック情報の更新を行い(ステップS35)、チェック情報更新の動作を終了する。ステップS33で完成したサブプログラムでなければ(ステップと33;NO)、更新する必要のあるチェック情報11が存在しないので、そのまま終了する。
以上説明したように、本実施の形態および実施の形態の変形例に係るプログラム検査支援システムによれば、プログラムの開発が完了する前であっても、必要データを推測することで、性能の見積もりができる。また、見積もりが行いにくい場合であっても、必要な項目を知ることができ、必要最小量のデータの追加を行うことで、性能の見積もりをすることが可能となる。その結果、プログラム開発の早い段階で、性能を満たしているかを容易に確認することができ、従来は、後手の確認となっていた項目、すなわち非機能要件についても、確認をすることができる。
実施の形態で説明した資源は一例であり、資源の様々な評価項目は任意に設定できる。例えば、処理時間とメモリ使用量だけでなく、空き領域とアクセス時間、ディスプレイ上の面積、環境変数などを用いて資源を計算してもよい。処理を並列して行う場合の並列処理効率などを加味して計算するなど、計算方法は任意に設定可能である。プログラムの環境部やプログラム部についてのチェック情報も、その組合せは任意に設定可能である。また、性能値に用いる数値は、必ずしも実測値とは限らず、シミュレーションにより得られた値などの場合であってもよく、類似したプログラムを実行したときに得られた値であってもよい。実測値と見積もり値が乖離した場合は、データを更新し、常に実測値に近いデータとすることが好ましい。
図9は、図1および図6に示すプログラム検査支援システムのハードウェア構成の一例を示すブロック図である。プログラム検査支援システム100は、図9に示すように、制御部31、主記憶部32、外部記憶部33、操作部34、表示部35、入出力部36および送受信部37を備える。主記憶部32、外部記憶部33、操作部34、表示部35、入出力部36および送受信部37はいずれも内部バス30を介して制御部31に接続されている。
制御部31はCPU(Central Processing Unit)等から構成され、外部記憶部33に記憶されている制御プログラム40に従って、プログラム検査支援システム100の記憶部1、取得部2、算出部3、入力部4、出力部5、判定部7および測定部8の各処理を実行する。
主記憶部32はRAM(Random-Access Memory)等から構成され、外部記憶部33に記憶されている制御プログラム40をロードし、制御部31の作業領域として用いられる。
外部記憶部33は、フラッシュメモリ、ハードディスク、DVD−RAM(Digital Versatile Disc Random-Access Memory)、DVD−RW(Digital Versatile Disc ReWritable)等の不揮発性メモリから構成され、プログラム検査支援システム100の処理を制御部31に行わせるためのプログラムを予め記憶し、また、制御部31の指示に従って、このプログラムが記憶するデータを制御部31に供給し、制御部31から供給されたデータを記憶する。
プログラム検査支援システム100の記憶部1は、外部記憶部33に構成される。また、記憶部1は、情報データベースとして外部記憶部33に構成される場合もある。
操作部34はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス30に接続するインターフェース装置から構成されている。操作部34を介して、プログラムに関する情報などが入力され、制御部31に供給される。
表示部35は、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などから構成され、性能見積もり値や、検査対象のプログラムに関する情報などを表示する。
入出力部36は、シリアルインタフェースまたはパラレルインタフェースから構成されている。入出力部36は、端末6が附属する装置の場合は、それと接続する。
送受信部37は、ネットワークNに接続する網終端装置または無線通信装置、およびそれらと接続するシリアルインタフェースまたはLAN(Local Area Network)インタフェースから構成されている。送受信部37は、ネットワークNを介して、検査対象のプログラムに関する情報を受信する。端末6が、プログラム検査支援システム100とは別の端末装置の場合は、例えば、送受信部37を介して、ネットワークNを経由して、端末6に接続する。
図1および図6に示すプログラム検査支援システム100の記憶部1、取得部2、算出部3、入力部4、出力部5、判定部7および測定部8の処理は、制御プログラム40が、制御部31、主記憶部32、外部記憶部33、操作部34、表示部35、入出力部36および送受信部37などを資源として用いて処理することによって実行する。
その他、本発明の好適な変形として、以下の構成が含まれる。
本発明の第1の観点に係るプログラム検査支援システムについて、
好ましくは、前記性能基礎データは、前記サブプログラムが動作する条件または環境の基準の性能を表す環境要素性能と、前記サブプログラムの内部で用いる要素ごとの基準の性能を表すプログラム要素性能のデータを含み、
前記使用要素情報は、前記サブプログラムが動作する条件または環境の情報である環境要素情報と、前記サブプログラムの内部で用いる要素ごとの情報を表すプログラム要素情報を含み、
前記性能見積手段は、前記環境要素性能と前記環境要素情報の項目ごとの積と、前記プログラム要素性能と前記プログラム要素情報の項目ごとの積とから、前記サブプログラムごとの見積値を算出する、
ことを特徴とする。
好ましくは、前記サブプログラムを、該サブプログラムが使用する要素の条件で実際に動作させたときの性能データである実測値を取得する実測値取得手段と、
前記実測値から、前記サブプログラムの使用要素情報を用いて、前記性能基礎データを算出する実測性能データ生成手段と、
前記基礎データ記憶手段の性能基礎データを、前記実測性能データ生成手段で生成した性能基礎データに更新する手段と、
を備えることを特徴とする。
本発明の第2の観点に係るプログラム検査支援方法について、
好ましくは、前記性能基礎データは、前記サブプログラムが動作する条件または環境の基準の性能を表す環境要素性能と、前記サブプログラムの内部で用いる要素ごとの基準の性能を表すプログラム要素性能のデータを含み、
前記使用要素情報は、前記サブプログラムが動作する条件または環境の情報である環境要素情報と、前記サブプログラムの内部で用いる要素ごとの情報を表すプログラム要素情報を含み、
前記性能見積ステップは、前記環境要素性能と前記環境要素情報の項目ごとの積と、前記プログラム要素性能と前記プログラム要素情報の項目ごとの積とから、前記サブプログラムごとの見積値を算出する、
ことを特徴とする。
好ましくは、前記サブプログラムを、該サブプログラムが使用する要素の条件で実際に動作させたときの性能データである実測値を取得する実測値取得ステップと、
前記実測値から、前記サブプログラムの使用要素情報を用いて、前記性能基礎データを算出する実測性能データ生成ステップと、
前記基礎データ取得ステップの性能基礎データを、前記実測性能データ生成ステップで生成した性能基礎データに更新するステップと、
を備えることを特徴とする。
その他、前記のハードウエア構成やフローチャートは一例であり、任意に変更および修正が可能である。
取得部2、算出部3等から構成されるプログラム検査支援処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体(フレキシブルディスク、CD−ROM、DVD−ROM等)に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行するプログラム検査支援システムを構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することでプログラム検査支援システムを構成してもよい。
また、プログラム検査支援システムを、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合等には、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
1 記憶部
2 取得部
3 算出部
4 入力部
5 出力部
6 端末
7 判定部
8 測定部
11 チェック情報
12 検査対象ファイル
31 制御部
32 主記憶部
33 外部記憶部
34 操作部
35 表示部
36 入出力部
37 送受信部
40 制御プログラム
100 プログラム検査支援システム

Claims (7)

  1. サブプログラムの非機能要件である該サブプログラムが使用する要素の、基準の性能を表す性能基礎データを記憶する基礎データ記憶手段と、
    プログラムに含まれる複数のサブプログラムごとに、該サブプログラムが使用する要素の情報である使用要素情報を取得するプログラム情報取得手段と、
    前記性能基礎データと前記使用要素情報から、前記サブプログラムごとの非機能要件の性能の見積値を算出する性能見積手段と、を備え、
    前記性能基礎データは、前記サブプログラムが動作する条件または環境の基準の性能を表す環境要素性能と、前記サブプログラムの内部で用いる要素ごとの基準の性能を表すプログラム要素性能のデータを含み、
    前記使用要素情報は、前記サブプログラムが動作する条件または環境の情報である環境要素情報と、前記サブプログラムの内部で用いる要素ごとの情報を表すプログラム要素情報を含み、
    前記性能見積手段は、前記環境要素性能と前記環境要素情報に基づいて前記サブプログラムが動作する条件または環境に対応する見積値を見積もり、さらに、前記プログラム要素性能と前記プログラム要素情報に基づいて前記サブプログラムの処理内容に対応する見積値を見積もり、これらの見積値に基づいて前記サブプログラムごとの性能の見積値を算出する、
    とを特徴とするプログラム検査支援システム。
  2. 前記性能見積手段は、前記環境要素性能と前記環境要素情報に基づいて前記サブプログラムが動作する条件または環境に対応する見積値を見積もり、さらに、前記要素ごとの前記プログラム要素性能と前記要素ごとの前記プログラム要素情報との積の合計に基づいて見積もった見積値を見積もり、これらの見積値の合計から前記サブプログラムごとの性能の見積値を算出する、
    ことを特徴とする請求項1に記載のプログラム検査支援システム。
  3. 前記サブプログラムを、該サブプログラムが使用する要素の条件で実際に動作させたときの性能データである実測値を取得する実測値取得手段と、
    前記実測値から、前記サブプログラムの使用要素情報を用いて、前記性能基礎データを算出する実測性能データ生成手段と、
    前記基礎データ記憶手段の性能基礎データを、前記実測性能データ生成手段で生成した性能基礎データに更新する手段と、
    を備えることを特徴とする請求項1または2に記載のプログラム検査支援システム。
  4. プログラムの性能の検査を支援する装置が行うプログラム検査支援方法であって、
    サブプログラムの非機能要件である該サブプログラムが使用する要素の、基準の性能を表す性能基礎データを取得する基礎データ取得ステップと、
    プログラムに含まれる複数のサブプログラムごとに、該サブプログラムが使用する要素の情報である使用要素情報を取得するプログラム情報取得ステップと、
    前記性能基礎データと前記使用要素情報から、前記サブプログラムごとの非機能要件の性能の見積値を算出する性能見積ステップと、を備え、
    前記性能基礎データは、前記サブプログラムが動作する条件または環境の基準の性能を表す環境要素性能と、前記サブプログラムの内部で用いる要素ごとの基準の性能を表すプログラム要素性能のデータを含み、
    前記使用要素情報は、前記サブプログラムが動作する条件または環境の情報である環境要素情報と、前記サブプログラムの内部で用いる要素ごとの情報を表すプログラム要素情報を含み、
    前記性能見積ステップは、前記環境要素性能と前記環境要素情報に基づいて前記サブプログラムが動作する条件または環境に対応する見積値を見積もり、さらに、前記プログラム要素性能と前記プログラム要素情報に基づいて前記サブプログラムの処理内容に対応する見積値を見積もり、これらの見積値に基づいて前記サブプログラムごとの性能の見積値を算出するステップを含む、
    とを特徴とするプログラム検査支援方法。
  5. 前記性能見積ステップは、前記環境要素性能と前記環境要素情報に基づいて前記サブプログラムが動作する条件または環境に対応する見積値を見積もり、さらに、前記要素ごとの前記プログラム要素性能と前記要素ごとの前記プログラム要素情報との積の合計に基づいて見積もった見積値を見積もり、これらの見積値の合計から前記サブプログラムごとの性能の見積値を算出するステップを含む、
    ことを特徴とする請求項4に記載のプログラム検査支援方法。
  6. 前記サブプログラムを、該サブプログラムが使用する要素の条件で実際に動作させたときの性能データである実測値を取得する実測値取得ステップと、
    前記実測値から、前記サブプログラムの使用要素情報を用いて、前記性能基礎データを算出する実測性能データ生成ステップと、
    前記基礎データ取得ステップの性能基礎データを、前記実測性能データ生成ステップで生成した性能基礎データに更新するステップと、
    を備えることを特徴とする請求項4または5に記載のプログラム検査支援方法。
  7. コンピュータに、
    サブプログラムの非機能要件である該サブプログラムが使用する要素の、基準の性能を表す性能基礎データを取得する基礎データ取得ステップと、
    プログラムに含まれる複数のサブプログラムごとに、該サブプログラムが使用する要素の情報である使用要素情報を取得するプログラム情報取得ステップと、
    前記性能基礎データと前記使用要素情報から、前記サブプログラムごとの非機能要件の性能の見積値を算出する性能見積ステップと、を実行させ、
    前記性能基礎データは、前記サブプログラムが動作する条件または環境の基準の性能を表す環境要素性能と、前記サブプログラムの内部で用いる要素ごとの基準の性能を表すプログラム要素性能のデータを含み、
    前記使用要素情報は、前記サブプログラムが動作する条件または環境の情報である環境要素情報と、前記サブプログラムの内部で用いる要素ごとの情報を表すプログラム要素情報を含み、
    前記性能見積ステップは、前記環境要素性能と前記環境要素情報に基づいて前記サブプログラムが動作する条件または環境に対応する見積値を見積もり、さらに、前記プログラム要素性能と前記プログラム要素情報に基づいて前記サブプログラムの処理内容に対応する見積値を見積もり、これらの見積値に基づいて前記サブプログラムごとの性能の見積値を算出するステップを含む、
    とを特徴とするプログラム検査支援プログラム。
JP2010007036A 2010-01-15 2010-01-15 プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラム Expired - Fee Related JP5136567B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010007036A JP5136567B2 (ja) 2010-01-15 2010-01-15 プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010007036A JP5136567B2 (ja) 2010-01-15 2010-01-15 プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラム

Publications (2)

Publication Number Publication Date
JP2011145937A JP2011145937A (ja) 2011-07-28
JP5136567B2 true JP5136567B2 (ja) 2013-02-06

Family

ID=44460726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010007036A Expired - Fee Related JP5136567B2 (ja) 2010-01-15 2010-01-15 プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラム

Country Status (1)

Country Link
JP (1) JP5136567B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2014068979A1 (ja) * 2012-11-02 2016-09-08 日本電気株式会社 性能見積もり装置、性能見積もり方法、及びプログラム
JP6213552B2 (ja) * 2013-02-14 2017-10-18 日本電気株式会社 非機能評価によるプロジェクト管理システム、非機能評価によるプロジェクト管理方法および非機能評価によるプロジェクト管理用プログラム
KR101748378B1 (ko) * 2015-12-28 2017-06-27 (주)아이티엑스퍼트그룹 개발공정에서의 응용프로그램의 성능관리 시스템 및 그 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139065A (ja) * 1992-10-29 1994-05-20 Hokuriku Nippon Denki Software Kk プログラム性能見積もり装置
JP2002215423A (ja) * 2001-01-22 2002-08-02 Hitachi Ltd ソフトウェアモデル作成方法
JP2002251303A (ja) * 2001-02-23 2002-09-06 Matsushita Electric Ind Co Ltd システムの評価装置および評価結果の表示装置
JP4787460B2 (ja) * 2003-01-17 2011-10-05 日本電気株式会社 ソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式および方法

Also Published As

Publication number Publication date
JP2011145937A (ja) 2011-07-28

Similar Documents

Publication Publication Date Title
US7613589B2 (en) Measuring productivity and quality in model-based design
US9268672B1 (en) Automated test case generation for applications
US9507943B1 (en) Analysis tool for data security
US8433554B2 (en) Predicting system performance and capacity using software module performance statistics
US9329968B2 (en) Testing application performance using virtual machines created from the same image on different hardware platforms
Kapur et al. Multi up-gradation software reliability growth model with imperfect debugging
EP3311265B1 (en) A computing platform and method thereof for searching, executing, and evaluating computational algorithms
JP5136567B2 (ja) プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラム
Noyer et al. A model-based framework encompassing a complete workflow from specification until validation of timing requirements in embedded software systems
US9009666B1 (en) Systems and methods for testing software and for storing and tracking test assets with the software
Garcia et al. ESBMC^ QtOM Q t OM: A Bounded Model Checking Tool to Verify Qt Applications
CN116893960A (zh) 代码质量检测方法、装置、计算机设备和存储介质
US11734056B1 (en) Declarative code player execution of a processing widget
Danciu et al. Performance awareness in Java EE development environments
Brada et al. Ensuring component application consistency on small devices: A repository-based approach
Kendall et al. Risk-Based software development practices for create multiphysics HPC software applications
CN113032006B (zh) 插件构建方法、装置、设备和存储介质
Van Amstel et al. Model-driven software engineering
JP7328922B2 (ja) 設定装置、設定方法、及びプログラム
Heirendt et al. ARTENOLIS: Automated Reproducibility and Testing Environment for Licensed Software
Ivory et al. Comparing performance and usability evaluation: new methods for automated usability assessment
Marín et al. Key features for a successful model-driven development tool
JP4962226B2 (ja) 開発支援システム、開発支援装置、開発支援方法、および開発支援プログラム
JP2012088933A (ja) ソフトウェアプロダクトライン開発支援装置、その方法およびそのプログラム
Isa et al. Model-driven estimation approach for system reliability using integrated tasks and resources

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120924

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121029

R150 Certificate of patent or registration of utility model

Ref document number: 5136567

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees