(57)【特許請求の範囲】
【請求項１】
機能を表す図形により記述される図形式プログラムの特徴と、前記図形式プログラムから生成されたテキスト形式のソースコードの特徴との関連を分析した関連分析結果を格納する関連データベースと、
前記図形式プログラムが入力される図形式プログラム入力手段と、
前記図形式プログラム入力手段に入力された前記図形式プログラムの特徴を分析する図形式プログラム分析手段と、
前記図形式プログラム分析手段の分析結果と、前記関連データベースに格納されている前記関連分析結果とに基づいて、前記図形式プログラム入力手段に入力された前記図形式プログラムを評価する図形式プログラム評価手段と、
を備えることを特徴とする図形式プログラム評価システム。
【請求項２】
前記関連データベースは、前記図形式プログラムの特徴を定量化した第１の特徴量と、前記ソースコードの特徴を定量化した第２の特徴量との関連を統計的に分析した前記関連分析結果を格納することを特徴とする請求項１に記載の図形式プログラム評価システム。
【請求項３】
前記関連データベースは、前記第１の特徴量を独立変数とし、前記第２の特徴量を従属変数とした回帰分析によって求められた回帰式を格納し、
前記図形式プログラム分析手段は、前記図形式プログラム入力手段に入力された前記図形式プログラムの特徴を定量化した前記第１の特徴量を求め、
前記図形式プログラム評価手段は、前記図形式プログラム分析手段によって求められた前記第１の特徴量と、前記回帰式とに基づいて、前記図形式プログラム入力手段に入力された前記図形式プログラムから前記ソースコードを生成した場合の前記第２の特徴量の予測値を求め、当該予測値に基づいて前記図形式プログラム入力手段に入力された前記図形式プログラムを評価することを特徴とする請求項２に記載の図形式プログラム評価システム。
【請求項４】
前記図形式プログラムは、機能を表すブロックと、当該ブロック間を接続する接続線とを含み、
前記第１の特徴量は、前記図形式プログラムに含まれる前記ブロックの数、前記図形式プログラムに含まれる前記接続線の数、前記図形式プログラムにおける入力の数、前記図形式プログラムにおける出力の数、前記図形式プログラムにおける合流の数、前記図形式プログラムにおける分岐の数、および前記図形式プログラムにおいて条件により実行される区画の数の少なくとも１つであり、
前記第２の特徴量は、前記ソースコードにおける実行行数、前記ソースコードにおける自動変数の数、前記ソースコードにおける入れ子の深さの最大数、および前記ソースコードにおける経路複雑度の少なくとも１つであることを特徴とする請求項２又は請求項３に記載の図形式プログラム評価システム。
【請求項５】
前記図形式プログラム入力手段に入力された前記図形式プログラムから前記ソースコードを生成するソースコード生成手段と、
前記ソースコード生成手段によって生成された前記ソースコードの特徴を分析するソースコード分析手段と、
前記図形式プログラム分析手段の分析結果と、前記ソースコード分析手段の分析結果との関連を分析して前記関連分析結果を前記関連データベースに格納させる関連分析手段と、
前記図形式プログラム評価手段の評価結果を出力する評価結果出力手段と、
をさらに備えることを特徴とする請求項１ないし請求項４の何れかに記載の図形式プログラム評価システム。
【請求項６】
機能を表す図形により記述される図形式プログラムの特徴と、前記図形式プログラムから生成されたテキスト形式のソースコードの特徴との関連を分析した関連分析結果を格納する記憶装置と、
前記図形式プログラムが入力される入力装置と、
を備えるコンピュータに、
前記入力装置に入力された前記図形式プログラムの特徴を分析する図形式プログラム分析処理と、
前記図形式プログラム分析処理の分析結果と、前記記憶装置に格納されている前記関連分析結果とに基づいて、前記入力装置に入力された前記図形式プログラムを評価する図形式プログラム評価処理と、
を実行させることを特徴とする図形式プログラム評価プログラム。
【請求項７】
前記入力装置に入力された前記図形式プログラムから前記ソースコードを生成するソースコード生成処理と、
前記ソースコード生成処理で生成された前記ソースコードの特徴を分析するソースコード分析処理と、
前記図形式プログラム分析処理の分析結果と、前記ソースコード分析処理の分析結果との関連を分析して前記関連分析結果を前記記憶装置に格納させる関連分析処理と、
をさらに実行させることを特徴とする請求項６に記載の図形式プログラム評価プログラム。
【請求項８】
機能を表す図形により記述される図形式プログラムの特徴と、前記図形式プログラムから生成されたテキスト形式のソースコードの特徴との関連を分析した関連分析結果を格納するデータベースを用いて、
前記図形式プログラムの特徴を分析し、
前記図形式プログラムの分析結果と、前記関連分析結果とに基づいて、前記図形式プログラムを評価することを特徴とする図形式プログラムの評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形式プログラム評価システム、図形式プログラム評価プログラムおよび図形式プログラムの評価方法に関する。
【背景技術】
【０００２】
一般的に、プログラムの製作に際しては、Ｃ言語などの高級言語を利用してソースコード（原始プログラム）を記述し、コンパイラによって、ソースコードからコンピュータが直接実行可能な形式に変換するという方法が用いられている。この場合、ソースコードは、通常テキスト形式で記述される。
【０００３】
一方、近年、機能を表す図形を用いて記述される図形式プログラムも知られており、図形式プログラムからＣ言語などの高級言語によるソースコードや、コンピュータが直接実行可能な形式に変換するシステムが用いられている。例えば、特許文献１では、ブロック要素とブロック要素間の接続関係とを表記したブロック図に基づいて、計算機言語によるプログラムを自動生成するソフトウェア開発支援装置が開示されている。また、例えば、特許文献２では、プログラム要素とプログラム要素を結合する結合情報とからなるプログラム情報を用いて、実行可能なプログラムを効率よく自動生成することができるプログラム自動生成装置が開示されている。
【０００４】
このような図形式プログラムを用いることによって、事前に作成されたプログラムの詳細設計書からＣ言語などの高級言語によるソースコードへの変換作業における冗長さを回避して開発工数を削減したり、人為ミス（単純ミス）の混入を回避したりすることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１３８８７号公報
【特許文献２】特開２００６−２８５４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、プログラムの不具合を減らし、品質を向上させるための技術として、プログラムを実際に実行して確認する動的検証（動的プログラム解析）技術のほか、プログラムを実行せず、プログラムの形（形式）を評価する静的検証（静的コード解析）技術が知られている。
【０００７】
しかしながら、図形式プログラムは、テキスト形式のＣ言語のような高級言語に比べて後発であるため、静的検証技術の確立が遅れており、品質の良否を議論するための一般的な指標も定まっていない。そのため、図形式プログラムの静的検証を実施する場合には、一般に、図形式プログラムをＣ言語などの既存の形式のプログラムに変換した後、生成されたソースコードを静的検証するという手法が用いられている。さらに、図形式プログラムをＣ言語のようなテキスト形式の高級言語によるプログラムと組み合わせて用いる場合もあり、この場合も、図形式プログラムから、Ｃ言語など既存のプログラムと同じ形式のプログラムを生成する必要がある。
【０００８】
しかしながら、このような静的検証の方法では、静的検証の結果を用いてプログラムの修正を行う場合、図形式プログラムを一旦Ｃ言語のようなテキスト形式の高級言語に変換して静的検証を行い、再度図形式プログラムに戻って修正を行う必要がある。そのため、作業工数が多くなり、効率よく作業を進めることができない。また、特許文献１のソフトウェア開発支援装置では、プログラムコードを生成する前に不適切なブロック図の表記を検出することができるものの、既存の形式のプログラムと組み合わせて用いる場合には、両者を同一の基準で検証を実施することができない。
【課題を解決するための手段】
【０００９】
前述した課題を解決する主たる本発明は、機能を表す図形により記述される図形式プログラムの特徴と、前記図形式プログラムから生成されたテキスト形式のソースコードの特徴との関連を分析した関連分析結果を格納する関連データベースと、前記図形式プログラムが入力される図形式プログラム入力手段と、前記図形式プログラム入力手段に入力された前記図形式プログラムの特徴を分析する図形式プログラム分析手段と、前記図形式プログラム分析手段の分析結果と、前記関連データベースに格納されている前記関連分析結果とに基づいて、前記図形式プログラム入力手段に入力された前記図形式プログラムを評価する図形式プログラム評価手段と、を備えることを特徴とする図形式プログラム評価システムである。
【００１０】
本発明の他の特徴については、添付図面及び本明細書の記載により明らかとなる。
【発明の効果】
【００１１】
本発明によれば、図形式プログラムの静的検証を、既存の形式のプログラムと同じ基準で、効率的に実施することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明によるソースコード自動生成・評価システムの一つの実施の形態を示す図である。
【図２】図形式プログラム入力手段１を使用して製作した図形式プログラムの一例を示す図である。
【図３】図２に示した図形式プログラムから、ソースコード生成手段２により変換されたＣ言語プログラムの一例を示す図である。
【図４】図２に示した図形式プログラムに含まれるブロックの数を計数する方法を説明する図である。
【図５】図２に示した図形式プログラムにおいて、図４の処理によって割り当てられた符号を重ねて表示した図である。
【図６】図２に示した図形式プログラムにおいて、入力の数、出力の数、合流の数、および分岐の数を計数する方法を説明する図である。
【図７】図形式プログラム入力手段１を使用して製作した図形式プログラムの別の例を示す図である。
【図８】図７に示した図形式プログラムから、ソースコード生成手段２により変換されたＣ言語プログラムの一例を示す図である。
【図９】元となる図形式プログラムが同一である２つの数値化の結果の組が格納された、関連データベース６のデータ構造の一例を示す図である。
【図１０】重回帰分析の結果得られた重み係数が格納された、関連データベース６のデータ構造の一例を示す図である。
【図１１】本発明によるソースコード自動生成・評価システムを汎用の計算機システム上に構築する実施の形態を示す図である。
【発明を実施するための形態】
【００１３】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。
【００１４】
図１は本発明によるソースコード自動生成・評価システムの一つの実施の形態を示した図である。この例では、ソースコード生成手段２により変換されるテキスト形式のプログラムは、Ｃ言語のプログラムであるものとする。
【００１５】
プログラムを製作する作業者は、図形式プログラム入力手段１を使用して図形式プログラムを製作する。製作した図形式プログラムは、図形式プログラム分析手段４にて分析が行われ、対象となる図形式で記述されたプログラムの特徴を数値化する。数値化した結果は、図形式プログラム評価手段７にて、関連データベース６の情報を基に評価される。評価結果は図形式プログラム評価結果表示手段８を用いて表示される。この表示された結果を基にプログラムを製作する作業者は、入力した図形式プログラムに問題があれば、これを修正し、問題がなくなるまで、これを反復して、図形式プログラムを完成させる。図形式プログラムが完成したら、ソースコード生成手段２によりＣ言語のソースコードを生成して、ソースコード自動生成・評価システム１００による作業を完了する。
【００１６】
さらに、今回製作したプログラムの情報を関連データベース６に反映させるときには以下の処理を実行する。プログラムを製作する作業者が図形式プログラム入力手段１を使用して図形式プログラムを製作した段階で、ソースコード生成手段２によりＣ言語のソースコードを生成する。次にソースコード分析手段３により生成したＣ言語のソースコードを数値化する。ここで、関連分析手段５により、ソースコード分析手段３により数値化した結果と、図形式プログラム分析手段４により数値化した結果との相関を分析する。分析結果は、関連データベース６に格納される。
【００１７】
ソースコード生成手段２やソースコード分析手段３による処理は通常時間がかかるので、この作業は、図形式プログラム入力手段１によりプログラムを製作するのとは、別のタイミングで実施するのが望ましい。
【００１８】
図２は、図形式プログラム入力手段１を使用して製作した図形式プログラムの例である。これは、データフロー図を示しており、Ｉｎ−１に入力された信号データに対しては、処理ａが実行される。また、Ｉｎ−２に入力された信号データに対して処理ｄが実行され、その結果に対して処理ｅが実行される。さらに、これらの結果に対して処理ｂが実行され、その結果に対して処理ｃが実行された後、その結果はＯｕｔ−１に出力されることを意味している。
【００１９】
図２のプログラムは、ソースコード生成手段２により、例えば、図３のようなＣ言語プログラムに変換される。図２の図形式プログラムから、ソースコード生成手段２によりＣ言語のプログラムに変換する方法は、例えば特許文献２に記載の方法など、公知の方法を用いることができる。
【００２０】
図２に示した図形式プログラムは、図形式プログラム分析手段４にて分析が行われる。分析（対象となる図形式で記述されたプログラムの特徴の数値化）の方法は種々の方法があるが、例えば、図形式プログラムに含まれるブロックの数は、分析項目の一例である。図２において、「図形式プログラムに含まれるブロックの数」を計数する方法を図４を用いて説明する。
【００２１】
Ｓ２０１では、対象となる図形式プログラムから、図形要素を１つ選択する。Ｓ２０２では選択した図形要素が接続線であるかどうか判定する。接続線であったときにはＳ２０３に進み、Ｌ１、Ｌ２、Ｌ３のようにＬで始まる新たな符号を割り当てる。また、接続線でなかったときには、Ｓ２０４に進み、Ｅ１、Ｅ２、Ｅ３のようにＥで始まる新たな符号を割り当てる。符号を割り当てたら、この図形要素についての処理を終了し、これをすべての図形要素について実行する。すべての図形要素について実行が終わったら、ループを抜け、処理を終了する。図４の処理を実行した後、割り当てた符号を図２に重ねて表示すると図５のようになる。ここで、Ｅで始まる符号が割り当てられた数が、図形式プログラムに含まれるブロックの数となる。図２の例では、この値は８になる。
【００２２】
また、図形式プログラムに含まれる接続線の数は、分析項目の一例である。これは、同様にＬで始まる符号が割り当てられた数が図形式プログラムに含まれる接続線の数となる。図２の例では、この値は７になる。
【００２３】
また、入力の数は、分析項目の一例である。この場合、すべてのＥで始まる符号について調べ、入力が無く、出力があるブロックの数を計数すれば、値が求まる。その具体的な処理の方法としては、すべてのＬで始まる図形要素について、その両側にある図形要素の符号を特定し、これを列挙する。図２の図形式プログラムの場合、この結果は、例えば図６のように表現することができる。その後、第１列には現れるが、第３列には現れないものの数を数える。例えば、Ｅ１は、第１列には、第１行で現れるが、第３列には現れない。従って、Ｅ１は入力の要素である。次にＥ２については、第１列には、第２行で現れるが、第３列には、第１行で現れる。従って、Ｅ２は入力の要素ではない。このようにすべての行について調べた後、重複するものを除外すれば入力の数となる。図２の例では、この値は２になる。
【００２４】
また、出力の数は、分析項目の一例である。この場合、図６を用いて、第３列には現れるが、第１列には現れないものの数を数え、重複を除けば良い。図２の例では、この値は１になる。
【００２５】
また、合流の数は、分析項目の一例である。この場合も、図６を用いて計数できる。すなわち、第３列に複数回現れる符号の数を数えればよい。図２の例の場合、Ｅ６は第３列に２回現れるので、これが合流に相当する。計数の方法は、第３列をキーにソートし、同じものが連続する符号の種類を数えればよい。図２の例ではこの値は１になる。
【００２６】
また、分岐の数は、分析項目の一例である。この場合も、同様に図６を用いて、第１列に複数回現れる符号の数を同様の方法で測定すればよい。図２の例では、この値は０になる。
【００２７】
図７は、図形式プログラム入力手段１を使用して製作した図形式プログラムの別の例である。この図では破線で囲われた領域は、その下からの入力が真のときのみ実行されることを意味している。そのため、ソースコード生成手段２により、例えば、図８のような分岐構造のあるＣ言語プログラムに変換される。このようなブロック図の場合、条件により実行される区画の数は、分析項目の一例となる。
【００２８】
一方、ソースコード分析手段３では、ソースコード生成手段２により変換されたＣ言語のプログラムを分析する。例えば、プログラムの実行行数は、分析項目の一例である。実行行数の数え方も幾通りかあるが、例えば、ソースコード全体から、コメントのみの行と、空の行を除いた行数を数えれば良い。この数え方によると、例えば、図３のソースコードでは、実行行数は、１１行である。図８のソースコードでは、実行行数は、１４行である。
【００２９】
また、自動変数の数は、変換されたＣ言語プログラムの分析項目の一例である。図３のソースコードでは、自動変数の数は２である。図８の例でも、自動変数の数は２である。
【００３０】
また、入れ子（ネスト）の深さは、変換されたＣ言語プログラムの分析項目の一例である。図３のソースコードでは、入れ子の深さの最大数は０である。また、図８のソースコードでは、入れ子の深さの最大数は１である。
【００３１】
また、マッケーブ（Thomas McCabe）による経路複雑度や循環的複雑度（Cyclomatic complexity）などと呼ばれるよく知られた指標も、変換されたＣ言語プログラムの分析項目の一例である。経路複雑度は判定の数に１を加算することで求められるので、図３のソースコードでは、経路複雑度は１である。図８のソースコードでは、経路複雑度は２である。
【００３２】
このように図形式プログラム分析手段４は図形式プログラム入力手段１により入力された図形式プログラムを数値化する。また、ソースコード分析手段３は、入力された図形式プログラムをソースコード生成手段２で自動コード生成した結果のソースコードを数値化する。関連分析手段５においては、これらの源を同一とする２つの数値化の結果の間の関連を統計的手法を用いて分析する。
【００３３】
まず、関連分析手段５は、このような測定結果の組が得られたら、これを関連データベース６に格納する。複数の測定結果の組が格納されたら、関連分析手段５は、これらのデータにより、統計処理を行えるようになる。
【００３４】
図９は、関連データベース６のデータ構造の一部を示した例である。元となる図形式プログラムが同一の数値化の結果１組に対して、１行のデータが記録される。図９の例では、一番左の列にプログラムの名称が記録される。図９の例では、左から２番目から８番目までは図形式プログラム分析手段４により数値化された値が記録される。図９の例では、左から９番目から１２番目まではソースコード分析手段３により数値化された値が記録される。
【００３５】
関連分析手段５は、ソースコード分析手段３により数値化した値を１つ選択して従属変数（目的変数）とし、図形式プログラム分析手段４により数値化した値（複数）を独立変数（説明変数）とした重回帰分析を行い、最小２乗法のような方法を用いて、重み係数（偏回帰係数）を計算する。関連分析手段５は、図形式プログラム分析手段４により数値化したすべての値に対してこれを行い、重み係数を計算する。この計算結果は、重回帰式とともに、関連データベース６に格納される。
【００３６】
図１０は、関連データベース６のデータ構造の一部を示した例で、重回帰分析の結果得られた重み係数の記録方式を示したものである。この表では、求めたい従属変数を縦に配置し、各行ごとの従属変数の予測値を独立変数から計算するための、各独立変数に対応する重み係数を横に記録している。この係数を用いてそれぞれの従属変数の予測値を計算するが、これは、図１０の左上のセルに記載されている重回帰式にて計算する。
【００３７】
このように重回帰式に対応した重み係数が関連データベース６に格納されるので、図形式プログラム入力手段１により図形式プログラムを作成した際に、ソースコード生成手段２、ソースコード分析手段３による処理を行わなくとも、入力した図形式プログラムを図形式プログラム分析手段４により数値化し、図形式プログラム評価手段７により、数値化した値を重回帰式に当てはめることにより、ソースコード分析手段３により数値化されると予測される予測値が取得される。
【００３８】
ところで、Ｃ言語のプログラムの品質保証の手段としては、静的検証によりソースコードを定量化し、その値に基準を設けて、基準値を逸脱した際には設計規約違反として、逸脱しないようにソースコードを修正するというような方法が一般に行われているが、図形式プログラム評価手段７により、重回帰式により計算される値は、これに相当する予測値になるため、図形式プログラム評価手段７は、この基準に照らし合わせて、図形式プログラム入力手段１により入力された図形式プログラムを評価し、基準値の逸脱があるかどうか、判定する。その結果は、図形式プログラム評価結果表示手段８により表示される。図形式プログラム入力手段１を使用して図形式プログラムを製作する作業者は、この結果を見て、逸脱がある場合には、図形式プログラムを修正し、逸脱が起こらないように図形式プログラムを修正する。
【００３９】
ここで示したような、ソースコード自動生成・評価システム１００は、図１１に示したような汎用の計算機システム上に構築することができる。図１１に示したコンピュータシステムは、演算装置５１、主記憶装置５２、ディスプレイ装置５３、補助記憶装置５４、入力装置５５から構成される。そして、ソースコード自動生成・評価プログラムが補助記憶装置５４からバス５６を介して主記憶装置５２に読み込まれ、演算装置５１にて実行されることによって、ソースコード自動生成・評価システム１００の各手段の処理を実行することができる。
【００４０】
プログラムを製作する作業者は、入力装置５５を使用して図形式プログラムの入力作業を行い、その結果は、ディスプレイ装置５３に表示される。また、図形式プログラムの入力後、評価の指示を入力装置５５から行うことにより、図形式プログラム分析手段４が起動され、その結果と、補助記憶装置５４に格納された関連データベース６を参照して図形式プログラム評価手段７が実行される。その結果は、ディスプレイ装置５３に表示されるので、この結果を見て、プログラムを製作する作業者は、入力装置５５により、図形式プログラムの修正を行う。
【００４１】
また、関連の分析を行うときには、作業者が入力装置５５により、分析実行の指示を行い、まだソースコード生成手段２によるソースコード生成が行われていないときにはソースコードの生成を行い、ソースコード分析手段３により、生成されたソースコードの分析が行われる。また、図形式プログラム分析手段４により図形式プログラムの分析が行われていないときには、図形式プログラムの分析が実行される。その後、これらの関連が、関連分析手段５にて実行され、その結果が補助記憶装置５４に格納された関連データベース６に格納され、参照可能な状態となる。
【００４２】
なお、上記実施形態では、作業者は、ソースコード自動生成・評価システム１００を用いて、図形式プログラムの製作および評価の両方を行うことができるが、これに限定されるものではない。例えば、重回帰分析の結果得られた重み係数が予め格納された関連データベースを備え、図形式プログラム製作システムによって別途製作された図形式プログラムを読み込み、関連データベースを参照して評価する、図形式プログラム評価システムを構築してもよい。当該図形式プログラム評価システムは、関連データベースのほか、少なくとも、図形式プログラム入力手段、図形式プログラム分析手段、および図形式プログラム評価手段を備える。好ましくは、さらに、図形式プログラムの評価結果を表示するディスプレイ装置や、印刷するプリンタ装置などの評価結果出力手段を備える。
【００４３】
前述したように、図１に示したソースコード自動生成・評価システム１００（図形式プログラム評価システム）において、入力された図形式プログラムの特徴を分析した分析結果と、関連データベース６に格納されている、図形式プログラムおよびソースコードの特徴間の関連を分析した関連分析結果とに基づいて、図形式プログラムを評価することによって、図形式プログラムからソースコードを生成してソースコードの特徴を分析することなく、図形式プログラムの静的検証を、既存の形式のプログラムと同じ基準で、効率的に実施することができる。したがって、既存の形式のプログラムと同じ実績のある基準で評価した図形式プログラムを効率的に製作できるようになり、不具合の少ない、品質の良い図形式プログラムを安定して迅速に製作できるようになる。
【００４４】
また、図形式プログラムおよびソースコードの特徴を定量化（数値化）することによって、それぞれ定量化された第１および第２の特徴量間の関連を統計的手法を用いて分析することができ、当該統計処理された関連分析結果を関連データベース６に格納することができる。
【００４５】
また、第１の特徴量を独立変数とし、第２の特徴量を従属変数とした（重）回帰分析を行うことによって、入力された図形式プログラムに基づく第１の特徴量を（重）回帰式に当てはめて第２の特徴量の予測値を求めることができ、当該予測値に基づいて図形式プログラムを評価することができる。
【００４６】
また、図形式プログラムに基づく第１の特徴量としては、ブロックの数、接続線の数、入力の数、出力の数、合流の数、分岐の数、条件により実行される区画の数などを用いることができる。一方、ソースコードに基づく第２の特徴量としては、実行行数、自動変数の数、入れ子の深さの最大数、経路複雑度など、Ｃ言語のようなテキスト形式の高級言語において一般的に用いられている指標を用いることができる。
【００４７】
また、図形式プログラムからソースコードを生成してソースコードの特徴を分析する手段をさらに備えることによって、図形式プログラムおよびソースコードの特徴間の関連を分析して、当該関連分析結果を関連データベース６に反映させることができる。さらに、図形式プログラムの評価結果を表示するディスプレイ装置などの出力手段を備えることによって、評価結果を参照しながら図形式プログラムの修正を行うことができる。
【００４８】
また、コンピュータに、ソースコード自動生成・評価システム１００の図形式プログラム分析手段４および図形式プログラム評価手段７の処理を実行させる図形式プログラム評価プログラムにおいて、入力された図形式プログラムの分析結果と、補助記憶装置５４に格納されている関連分析結果とに基づいて、図形式プログラムを評価することによって、図形式プログラムからソースコードを生成してソースコードの特徴を分析することなく、図形式プログラムの静的検証を、既存の形式のプログラムと同じ基準で、効率的に実施することができる。
【００４９】
また、コンピュータに、ソースコード生成手段２、ソースコード分析手段３、および関連分析手段５の処理をさらに実行させることによって、図形式プログラムおよびソースコードの特徴間の関連を分析して、当該関連分析結果を関連データベース６に反映させることができる。さらに、コンピュータが図形式プログラムの評価結果を表示するディスプレイ装置５３などの出力手段をさらに備えることによって、評価結果を参照しながら図形式プログラムの修正を行うことができる。
【００５０】
また、図形式プログラムおよびソースコードの特徴間の関連を分析した関連分析結果を格納する関連データベース６を構築することによって、関連データベース６（に格納されている関連分析結果）を参照して、入力された図形式プログラムを評価することができ、図形式プログラムからソースコードを生成してソースコードの特徴を分析することなく、図形式プログラムの静的検証を、既存の形式のプログラムと同じ基準で、効率的に実施することができる。
【００５１】
なお、上記実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物も含まれる。
【符号の説明】
【００５２】
１        図形式プログラム入力手段
２        ソースコード生成手段
３        ソースコード分析手段
４        図形式プログラム分析手段
５        関連分析手段
６        関連データベース
７        図形式プログラム評価手段
８        図形式プログラム評価結果表示手段
５１      演算装置
５２      主記憶装置
５３      ディスプレイ装置
５４      補助記憶装置
５５      入力装置
５６      バス
１００    ソースコード自動生成・評価システム
【図１】
0005741264.tif 000002
【図２】
0005741264.tif 000003
【図３】
0005741264.tif 000004
【図４】
0005741264.tif 000005
【図５】
0005741264.tif 000006
【図６】
0005741264.tif 000007
【図７】
0005741264.tif 000008
【図８】
0005741264.tif 000009
【図９】
0005741264.tif 000010
【図１０】
0005741264.tif 000011
【図１１】
0005741264.tif 000012