JP5658364B2 - Program visualization device - Google Patents
Program visualization device Download PDFInfo
- Publication number
- JP5658364B2 JP5658364B2 JP2013520391A JP2013520391A JP5658364B2 JP 5658364 B2 JP5658364 B2 JP 5658364B2 JP 2013520391 A JP2013520391 A JP 2013520391A JP 2013520391 A JP2013520391 A JP 2013520391A JP 5658364 B2 JP5658364 B2 JP 5658364B2
- Authority
- JP
- Japan
- Prior art keywords
- analysis
- program
- algorithm
- graph
- format
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
Description
本発明は、プログラムから情報を抽出し、その抽出情報を用いてプログラム分析に必要な処理を施し分析結果を表示するプログラム可視化装置に関する。 The present invention relates to a program visualization apparatus that extracts information from a program, performs processing necessary for program analysis using the extracted information, and displays an analysis result.
エレベータ、自動車、建設機械、家電、その他幅広く各種技術分野では、特定の機能を実現するために、制御装置に組み込まれるいわゆる組込みソフトウェアによって機器(制御対象)を制御する技術が行なわれている。このようなソフトウェアを組み込んだ制御装置は、コンピュータにより実行される組み込み制御装置といえる。 In a wide variety of technical fields such as elevators, automobiles, construction machinery, home appliances, and the like, a technique for controlling a device (control target) by so-called embedded software incorporated in a control device is performed in order to realize a specific function. A control device incorporating such software can be said to be an embedded control device executed by a computer.
組込みソフトウェアは、従来の機械的機構や電気回路による方式に比べて、柔軟かつ高度な制御が実現できること、ソフトウェアの部分的な変更によって多くの派生製品を開発できることが利点として挙げられる。 Embedded software has advantages in that it can realize flexible and advanced control, and can develop many derivative products by partial modification of software, compared to conventional mechanical mechanisms and electric circuit systems.
このような組込み制御装置、例えばエレベータ制御装置では、一定周期または割り込みに応じてタスクを起動し、行き先階指定ボタンやドア安全センサ等のセンサの入力に基づいて制御変数を更新することにより、ドア開閉用モータやかご駆動用モータなどのアクチュエータを制御する、いわゆるデータ駆動型の計算モデルが採用されている。 In such a built-in control device, such as an elevator control device, a task is started in response to a certain period or interrupt, and a control variable is updated based on an input of a sensor such as a destination floor designation button or a door safety sensor, thereby A so-called data-driven calculation model that controls actuators such as an opening / closing motor and a car driving motor is employed.
組み込み制御装置に求められる制御処理の内容が年々複雑化するとともに、制御変数やサブルーチン間の依存関係が複雑化し、ソフトウェアの理解が困難になるという課題がある。例えば数千個の変数で更新されている制御ソフトウェアにおいても、ある一か所の変数の演算方法を変更した場合に、その影響を受ける変数を特定し、ソフトウェアを検証することが必要不可欠である。したがって、組み込みソフトウェア(プログラム)を解析して影響し合う変数間の関係等を可視化してユーザに表示する可視化装置が望まれている。 There is a problem that the contents of control processing required for an embedded control device become more complicated year by year, and the dependency between control variables and subroutines becomes complicated, making it difficult to understand software. For example, even in control software that has been updated with thousands of variables, it is indispensable to verify the software by identifying the affected variables when the calculation method of a certain variable is changed. . Therefore, there is a demand for a visualization device that analyzes embedded software (program) and visualizes the relationship between variables that affect each other and displays the relationship to a user.
従来のプログラムの可視化装置としては、次のようものが提案されている。 The following has been proposed as a conventional program visualization apparatus.
特許文献1には、プログラム開発を行なう場合に、開発対象となるソフトウェアの構成要素の性質を明確にするための構成要素を定義づける定義情報と、定義に基づいて存在する実体を表す実体情報と、各構成要素間の相互関係(分析結果)を認識しやすくするための表示情報をそれぞれIDを付して独立して記録すると共に、それらの情報を関係付けて任意の局面の表示情報を作成する表示ソフトウェアシステム分析支援装置が提案されている。
特許文献2には、オブジェクト指向プログラミング言語で既述されたソースプログラムを解析して、ソースプログラムの構造を表示するプログラム構造表示装置が開示されている。このプログラム構造表示装置は、オブジェクト指向プログラム構造におけるクラス間の関係だけでなく、属性やメソッドの依存関係も含め、ノードとラインの図形を用いて、色や形を変化させて表示するよう構成されている。
特許文献3には、オブジェクト指向言語で記述されたソースコード(プログラム)の可視化の例が示されている。すなわち、テスト実行で得られたログからオブジェクト一覧及びオブジェクト間の関係を収集し、オブジェクト構造抽出部によりオブジェクト間関係を抽出してオブジェクト図を作成し、表示部を介して表示している。この表示において、オブジェクト間の関係である呼び出しの方向や所有関係に応じて線種や色、太さ等を使い分けて図示する。
特許文献4には、プログラム構成要素間の依存関係を分析して可視化する例が示されている。本技術では、依存関係の分析結果を行列形式で図示するものであり、分析結果に応じて行列要素の強調表示を行う。
(I)従来は、プログラム可視化装置として、分析対象プログラムを解析してグラフ構造を作成する構造作成アルゴリズムや、その構造を分析する構造分析アルゴリズムや、それらの構造や構造分析結果を図式化する図式化アルゴリズムが一連となって不離一体に開発されていた。分析対象となるプログラムが多種多様になるにつれ、プログラム可視化装置の開発効率化が必要となる。特に上記した構造作成アルゴリズム、構造分析アルゴリズムおよび図式化アルゴリズムに関しては、それらのアルゴリズムのいずれかが変更されると、そのたびに新規なプログラム可視化装置を開発することは、プログラムの開発効率が低下してしまうので、その改善が望まれていた。 (I) Conventionally, as a program visualization device, a structure creation algorithm that analyzes a program to be analyzed to create a graph structure, a structure analysis algorithm that analyzes the structure, and a diagram that diagrams the structure and structure analysis results A series of optimization algorithms were developed in an integrated manner. As the programs to be analyzed become more diverse, it is necessary to improve the development efficiency of the program visualization device. In particular, with regard to the structure creation algorithm, structure analysis algorithm, and diagramming algorithm described above, if any of these algorithms is changed, the development of a new program visualization device each time reduces the program development efficiency. Therefore, the improvement was desired.
(II)また、近年の大規模データ分析技術の進展に伴って、様々な構造分析アルゴリズムが提案されている。構造分析アルゴリズムの中には、例えば、いわゆる複雑ネットワークの特性を持っているグラフ構造にのみ適用可能なコミュニティ構造分析の様に、特定のネットワーク特性にのみ適用可能な構造分析アルゴリズムが存在する。分析対象プログラムの特性に適用可能な構造分析アルゴリズムの選定には、専門知識が必要となるため、利用者に対応関係を明確に提示することが望まれる。 (II) Various structural analysis algorithms have been proposed with the recent progress of large-scale data analysis technology. Among structural analysis algorithms, there are structural analysis algorithms that can be applied only to specific network characteristics, such as community structure analysis that can be applied only to graph structures having the characteristics of so-called complex networks. The selection of a structural analysis algorithm applicable to the characteristics of the analysis target program requires specialized knowledge, so it is desirable to clearly show the correspondence to the user.
上記した(I)および(II)に関する要求を満足させる従来技術は、上記特許文献1から特許文献4を含め今まで提案されていない。すなわち、従来のプログラム可視化装置は、プログラムの解析から表示までのソフトウェアが一連の流れで構成されており、その一部分を変更した場合には全体のソフトウェアを作成し直さなければならない。また、従来術では、分析対象プログラムのネットワーク特性に応じて適用可能な構造分析アルゴリズムを理解できるように利用者に提示する配慮がなされていない。
No prior art including the above-mentioned
本発明は、上記のような課題を解決するためになされたものであり、例えば、組み込みソフトウェアなどを検証のため分析(解析)する場合に、上記(I),(II)の少なくともいずれか一つの要求を満足させて分析作業効率を高めることができるプログラム可視化装置を提供することにある。 The present invention has been made to solve the above-described problems. For example, when analyzing (analyzing) embedded software or the like for verification, at least one of the above (I) and (II) is required. It is an object of the present invention to provide a program visualization device that can satisfy one requirement and improve the efficiency of analysis work.
本発明に係るプログラム可視化装置は、上記(I)の目的を実現させるために、プログラムを解析してノードとリンクからなるグラフ構造を出力するプログラム解析手段と、前記グラフ構造に分析処理を施して分析結果を出力する構造分析手段と、前記グラフ構造とその分析結果とを所定の描画形式により画像表示装置に表示する画像描画手段と、の3つの手段を備え、
これらの3つの手段は、コンピュータを介して実行されるソフトウェアであって、且つそれぞれ独立して部品化されて、各手段単位で変更可能に構成され、
前記構造分析手段は、前記グラフ構造に対してそれぞれ異なる分析手法を実行するため複数の構造分析アルゴリズムを有し、
前記プログラム可視化装置は、分析対象プログラムの特性から、前記構造分析アルゴリズムの各々が前記グラフ構造に対して適用可能であるか否か判別する構造分析アルゴリズム適否判別手段を備え、
前記画像表示装置は、一つの画面に、少なくとも、
(i)前記グラフ構造とそのグラフ構造に対して適用された構造分析アルゴリズムの分析結果とを前記画像描画手段の描画形式を介して合成表示する第1のウィンドウと、(ii)前記複数の構造分析アルゴリズムの名称を表示し、且つ表示される複数の構造分析アルゴリズムの名称から画面を通して所望の構造分析アルゴリズムを指定する機能、および前記構造分析アルゴリズム適否判別手段による判別結果を表示する機能を有する第2のウィンドウとが設定されている。
In order to realize the above object (I), the program visualization apparatus according to the present invention analyzes a program and outputs a graph structure composed of nodes and links, and performs an analysis process on the graph structure. A structure analysis means for outputting an analysis result; and an image drawing means for displaying the graph structure and the analysis result on an image display device in a predetermined drawing format.
These three means are software executed via a computer, and are configured as components that can be changed in units of each means independently .
The structure analysis means has a plurality of structure analysis algorithms for executing different analysis methods on the graph structure,
The program visualization device includes structural analysis algorithm suitability determination means for determining whether each of the structural analysis algorithms is applicable to the graph structure from the characteristics of the analysis target program,
The image display device has at least one screen.
(I) a first window for synthesizing and displaying the graph structure and an analysis result of a structure analysis algorithm applied to the graph structure through a drawing format of the image drawing means; (ii) the plurality of structures A function of displaying a name of an analysis algorithm, a function of designating a desired structure analysis algorithm through a screen from a plurality of displayed names of the structure analysis algorithm, and a function of displaying a determination result by the structure analysis algorithm
上記(II)の目的を実現させるために、プログラムを解析してノードとリンクからなるグラフ構造を出力するプログラム解析手段と、前記グラフ構造に分析処理を施して分析結果を出力する構造分析手段と、前記グラフ構造とその分析結果とを所定の描画形式により画像表示装置に表示する画像描画手段と、の3つの手段を備え、
前記構造分析手段は、前記グラフ構造に対してそれぞれ異なる分析手法を実行するため複数の構造分析アルゴリズムを有し、
前記プログラム可視化装置は、分析対象プログラムの特性から、前記構造分析アルゴリズムの各々が前記グラフ構造に対して適用可能であるか否か判別する構造分析アルゴリズム適否判別手段を備え、
前記画像表示装置は、一つの画面に、少なくとも、
(i)前記グラフ構造とそのグラフ構造に対して適用された構造分析アルゴリズムの分析結果とを前記画像描画手段の描画形式を介して合成表示する第1のウィンドウと、(ii)前記複数の構造分析アルゴリズムの名称を表示し、且つ表示される複数の構造分析アルゴリズムの名称から画面を通して所望の構造分析アルゴリズムを指定する機能、および前記構造分析アルゴリズム適否判別手段による判別結果を表示する機能を有する第2のウィンドウとが設定されている。In order to realize the purpose of (II), a program analysis unit that analyzes a program and outputs a graph structure including nodes and links, a structure analysis unit that performs an analysis process on the graph structure and outputs an analysis result; An image drawing means for displaying the graph structure and the analysis result on an image display device in a predetermined drawing format,
The structure analysis means has a plurality of structure analysis algorithms for executing different analysis methods on the graph structure,
The program visualization device includes structural analysis algorithm suitability determination means for determining whether each of the structural analysis algorithms is applicable to the graph structure from the characteristics of the analysis target program,
The image display device has at least one screen.
(I) a first window for synthesizing and displaying the graph structure and an analysis result of a structure analysis algorithm applied to the graph structure via a drawing format of the image drawing means; (ii) the plurality of structures A function of displaying a name of an analysis algorithm, a function of designating a desired structure analysis algorithm through a screen from a plurality of displayed names of the structure analysis algorithm, and a function of displaying a determination result by the structure analysis algorithm
本発明に係る前者のプログラム可視化装置によれば、プログラムを解析してグラフ構造を作成するプログラム解析アルゴリズム、そのグラフ構造を分析する構造分析アルゴリズム、その分析結果を表示する描画アルゴリズムに関するソフトウェアのいずれかを変更した場合でも、他のソフトウェアは、その変更の影響を受けずに再利用することができる。 According to the former program visualization apparatus according to the present invention, any one of a program analysis algorithm for analyzing a program and creating a graph structure, a structure analysis algorithm for analyzing the graph structure, and a drawing algorithm for displaying the analysis result Even if a change is made, other software can be reused without being affected by the change.
また、後者のプログラム可視化装置によれば、分析対象プログラムの特性に応じて、適用可能な構造分析アルゴリズムを利用者に容易に理解させることができる。 In addition, according to the latter program visualization device, the user can easily understand the applicable structural analysis algorithm according to the characteristics of the analysis target program.
本発明の実施の形態を、以下の実施例に基づき説明する。
(実施例)
図2は、本発明の一実施例に係るプログラム可視化装置(:ソフトウェア可視化装置)100の構成図である。プログラム可視化装置100は、例えば、種々の制御装置に組み込まれるプログラムを分析して可視化するためのもので、プログラム分析・可視化の実行本体となるコンピュータ1と、コンピュータ1で実行される可視化結果を表示するディスプレイ9と、利用者からの操作を受け付けるマウス7およびキーボード8とを備えている。Embodiments of the present invention will be described based on the following examples.
(Example)
FIG. 2 is a configuration diagram of a program visualization device (: software visualization device) 100 according to an embodiment of the present invention. The
コンピュータ1は、分析対象となるプログラムを記憶するデータベース2と、プログラム可視化装置の処理手順(アルゴリズム)を記憶するメモリ3と、ソフトウェア可視化装置の処理手順を実行するプロセッサ4と、ネットワークインタフェース5とを備えている。コンピュータ1は、ネットワークインタフェース5を用いてネットワーク10を経由して他のコンピュータやデータベースと接続する。
The
図3は、ソフトウェア可視化装置100の処理の流れを示すブロック図である。データベース2は分析対象となるプログラムA21と、プログラムB22とを備える。本実施例では、一例として、2つの分析対象プログラムをデータベース2に備えるが、その数は任意である。
FIG. 3 is a block diagram illustrating a processing flow of the
メモリ3は、プログラム可視化装置のアルゴリズムとして、分析対象プログラムを情報(図5、図7参照)を抽出して、その情報を解析してノードとリンクの集合からなるグラフ構造を出力するプログラム解析層(プログラム解析手段)31と、グラフ構造に基づいて分析処理を行って分析結果を出力する構造分析層(構造分析手段)32と、グラフ構造とその分析結果とを所定の描画形式により画像表示装置に表示する画像描画層(画像描画手段)33とを備える。画像描画層33は、マウス7により利用者が望む分析手法や画像表示方式の選択操作を受け付けるとともに、その選択操作に基づくプログラム分析結果をディスプレイ9に出力する。
As an algorithm of the program visualization device, the
プログラム解析層31と構造分析層32と画像描画層33は、それぞれ独立して部品化されたソフトウェア(アルゴリズム)により構成され、各部品単位で変更可能に構成されている。ここで、変更とは、ソフトウェアの内容変更のほかに、追加、削除も含むものである。
The
図4は、プログラム解析層31の詳細な構成を示す図である。プログラム解析層31は、プログラムA21用のプログラム解析手段であるプログラムA解析部311と、プログラムB用のプログラム解析手段であるプログラムB解析部312とを備える。
FIG. 4 is a diagram showing a detailed configuration of the
ここで、プログラムA解析部311で行われるプログラム解析の一例を図5及び図6を参照して説明する。
Here, an example of program analysis performed by the program
図5は、プログラムA21の一例に係る具体的構成を示す図である。プログラムA21のソースコード211は複数の関数を備えており、関数間の呼び出しによってプログラムを構成している。
FIG. 5 is a diagram showing a specific configuration according to an example of the program A21. The
図6は、プログラムA解析部311の出力結果であるプログラムAグラフ構造3111を示す図である。
FIG. 6 is a diagram showing a program
プログラムA解析部311のアルゴリズムは、ソースコード211(図5)における関数をノード、関数間の呼び出し関係をリンクとしてプログラム解析を行い、解析結果をプログラムAのグラフ構造3111(図6)として出力することを内容とする。
The algorithm of the program
一例をあげれば、図5におけるソースコード211の1行目〜3行目は、「関数aが関数eを呼び出している」ことを示している。この場合には、前者(関数a)を始点ノード、後者(関数e)を終点ノードとする。それ以降の行についても同様の解析が行われ、それぞれの関数間呼び出しについてリンクID(リンク識別番号)が付される。リンクIDの付け方は種々の態様が考えられる。ここでは、終点ノードの変数(アルファベット)の若い順を第1優先とし、次いで始点ノードの変数(アルファベット)の若い順を第2優先としている(図6参照)。その結果、上記した「関数aが関数eを呼び出している」(ソースコード211)は、図6のプログラムAグラフ構造3111において、リンクID4として、関数間の呼び出し関係が示されている。
As an example, the first to third lines of the
次に、プログラムB解析部312で行われるプログラム解析の一例を図7及び図8を参照して説明する。
Next, an example of program analysis performed by the program
図7は、プログラムB22の一例に係る具体的構成を示す図である。プログラムB22のソースコード221は複数の関数を備えている。ただし、関数間の呼び出し関係ではなく、変数の代入関係によってプログラムを構成している。
FIG. 7 is a diagram showing a specific configuration according to an example of the program B22. The
図8は、プログラムB解析部312の出力結果であるプログラムBグラフ構造3121を示す図である。
FIG. 8 is a diagram showing a program
プログラムB解析部312のアルゴリズムは、ソースコード221(図7)における変数をノード、変数間の代入関係をリンクとしてプログラム解析を行い、解析結果をプログラムBグラフ構造3121(図8)として出力することを内容とする。
The algorithm of the program
一例をあげれば、ソースコード221の2行目は、「変数aに基づいて変数bが演算されている」ことを示している。この場合には、前者(変数a)を始点ノード、後者(変数b)を終点ノードとする。それ以降の行についても同様の解析が行われ、それぞれの変数間の代入関係についてリンクID(リンク識別番号)が付される。リンクIDの付け方は、既述した関数間呼び出し同様に行われる。その結果、上記した「変数aに基づいて変数bが演算されている」は、図8のプログラムBグラフ構造3121において、リンクID1としての内容を示している。
As an example, the second line of the
以上のように、プログラム可視化装置100に複数のプログラム解析層31として、異なる複数のプログラム解析部、例えばプログラムA解析部311およびプログラムB解析部312を設け、プログラム解析層31を構造分析層32と画像描画層33に対してそれぞれ独立して部品化することによって、異なる構造を持つプログラムに対してはプログラム解析部を変更するのみで対応可能である。したがって、プログラムの種類に応じてプログラム解析部を変更(追加、削除を含む)する場合には、プログラム解析層31にて、各
プログラム解析部単位で変更すれば良く、その変更が他の構造分析層32や画像描画層33には影響を与えないので、プログラム可視化装置の再利用性および開発効率が向上する。なお、構造分析層32や画像描画層33に関しても独立して部品化されているので、それぞれの層単位で変更可能である(この点については後述される)。As described above, the
図9は、構造分析層32の詳細な構成を示す図である。構造分析層32は、グラフ特性判定部(グラフ特性判定手段)320とプログラム構造分析部322とを備えている。グラフ特性判定部は、複雑ネットワーク判定部321を備えている。
FIG. 9 is a diagram showing a detailed configuration of the
図10は、複雑ネットワーク判定部321の詳細な構成を示す図である。複雑ネットワークは、現実世界に存在する多様なネットワーク(ネットワークは、ノードとリンクの集合よりなるグラフ構造で示される)において、一定の共通する性質として「スケールフリー性」(次数分布のべき乗則)、「スモールワールド性」、および「クラスター性」を有するものであり、近年、現実世界の様々な現象を説明するのに使用され周知な学問であるので、詳細な説明は省略する。
FIG. 10 is a diagram illustrating a detailed configuration of the complex
複雑ネットワーク判定部321は、プログラム解析層31で解析されたグラフ構造の次数分布がべき乗則にしたがっているか否かを判定するスケールフリー性判定部3211と、任意に選択した2つのノードが最短で幾つの仲介ノードおよびリンクを介して繋がりを持つのか求め(ノード間距離)、これをノードの組み合わせを変えて全ノードに実行してその平均最短距離を求め、その平均最短距離がノード数の大きさに比べて小さい値を取っているか否かを判定するスモールワールド性判定部3212と、グラフ構造のクラスター係数の値を評価するクラスター性判定部3213を備える。
The complex
図11は、複雑ネットワーク判定部321の処理の流れを示す図である。ステップS32101において処理が開始される。
FIG. 11 is a diagram illustrating a processing flow of the complex
ステップS32102においてスケールフリー性判定部3211が実行され、スケールフリー性の有無が判定される。スケールフリー性有りと判定された場合には、ステップS32103へ進み、無しと判定された場合には、ステップS32106へ進み処理が終了する。
In step S32102, the scale
ステップS32103においてスモールワールド性判定部3212が実行され、スモールワールド性の有無が判定される。スモールワールド性有りと判定された場合には、ステップS32104へ進み、無しと判定された場合には、ステップS32106へ進み処理が終了する。
In step S32103, the small world
ステップS32104においてクラスター性判定部3213が実行され、クラスター性の有無が判定される。クラスター性有りと判定された場合にはステップS32105へ進み、無しと判定された場合にはステップS32106へ進み処理が終了する。
In step S32104, the
ステップS32105に進んだ場合には、このステップにて、分析対象プログラムのグラフ構造が複雑ネットワークであると判定され、ステップS32106へ進み処理が終了する。 If the process proceeds to step S32105, it is determined in this step that the graph structure of the analysis target program is a complex network, and the process proceeds to step S32106 and the process ends.
図12は、スケールフリー性判定部3211の処理の流れを示す図である。スケールフリー性は、ノードが次数kを持つ確率p(k)の確率分布がp(k)∝k−γのべき乗則になると表現されるものであり、その判定のために、次の処理が行われる。FIG. 12 is a diagram illustrating a processing flow of the scale-
ステップS32111において処理が開始される。 Processing starts in step S32111.
ステップS32112では分析対象プログラムの各ノードに接続するリンク数である次数に基づいて、次数とノード数の対応関係である次数分布を取得する。 In step S32112, based on the degree that is the number of links connected to each node of the analysis target program, the degree distribution that is the correspondence between the degree and the number of nodes is acquired.
ステップS32113では両対数における次数分布の相関係数を演算する。 In step S32113, the correlation coefficient of the degree distribution in both logarithms is calculated.
ステップS32114では、相関係数が所定の閾値を上回っているか否かを判定する。上回っている場合にはステップS32115に進み、上回っていない場合にはステップS32116に進み処理を終了する。 In step S32114, it is determined whether the correlation coefficient exceeds a predetermined threshold. If so, the process proceeds to step S32115. If not, the process proceeds to step S32116 and the process is terminated.
ステップS32115では分析対象プログラムのグラフ構造がスケールフリー性を備えていると判定され、ステップS32116へ進み処理が終了する。 In step S32115, it is determined that the graph structure of the analysis target program has a scale-free property, and the process proceeds to step S32116 and the process ends.
スモールワールド性判定部3212により行われる判定処理は、そのフローチャートによる図示を省略するが、概略次のように行なわれる。すなわち、ノード数を求めるステップと、任意の2つのノード間の平均最短距離を求めるステップと、上記のノード間平均最短距離がノード数の大きさに比べて小さい値を取っているか否かを判定し、小さい値を取っている場合には、スモールワールド性を有するものと判定するステップを有する。
The determination process performed by the small
クラスター性判定部3212により行われる判定処理についても、そのフローチャートによる図示を省略するが、概略次のように行なわれる。すなわち、グラフ構造のノードおよびリンクの集合からクラスター係数Cを算出するステップと、クラスター係数が閾値より大きいか否か判定し、大きい場合には、クラスター性を有するものと評価するステップを有する。
The determination process performed by the
図13は、構造分析層32におけるプログラム構造分析部322の詳細な構成を示す図である。プログラム構成分析部322は、それぞれ独立して部品化されている複数種類の分析部よりなる。これらの分析部は、それぞれ分析アルゴリズムにより構成され、次のようなものがある。例えば、(i)ノード及びリンクの集合体でネットワークよりなるグラフ構造において、特定の共通のノード及びリンクよりなるコミュニティ(組織)を分析するコミュニティ構造分析部3221と、(ii)ネットワークを構成するノードのうち、重要度の高いノードを分析するノード重要度分析部3222と、(iii)ある特定ノードに着目して、そのノードが他のノードに及ぼす影響範囲を分析するノード影響範囲分析部3223と、(iv)ある特定のノードから他の特定ノードに到るまでにリンク繋がりのある幾つかの仲介ノード及びリンクを経由する場合にその最短経路を分析するノード間最短経路分析部3224と、(v)複数のプログラムについてグラフ構造解析して、それらのグラフ構造の類似性を分析する構造類似性分析部3225と、(vi)媒介中心性、すなわち、そのノードを通過しないと他のノードに到達できない度合いを分析する媒介中心性分析部3226が用意されている。さらに、プログラム構造分析部322には、上記列挙した各種分析部(構造分析アルゴリズム)の属性を記憶する構造分析アルゴリズム属性記憶部3227を備える。
FIG. 13 is a diagram illustrating a detailed configuration of the program
これらの各種分析部(構造分析アルゴリズム3221〜3226)は、図1に示すディスプレイ画面91の分析手法表示部913を通して選択的に指定可能である(ディスプレイ画面91の詳細は後述する)。
These various analysis units (
プログラム構造分析部322となる複数の構造分析アルゴリズム(3221〜3226)は、それぞれ独立しており、またプログラム解析層31や画像描画層33とも独立している。したがって、構造分析アルゴリズムを変更(追加,削除を含む)する場合でも、プログラム解析層31および画像描画層33については再利用することができ、プログラム可視化装置の開発効率を向上させることができる。
A plurality of structure analysis algorithms (3221 to 226) serving as the program
図14は、構造分析アルゴリズム属性記憶部3227の詳細なデータ構成32271を示す図である。構造分析アルゴリズム属性記憶部3227のデータ構成32271は、分析アルゴリズムのIDと、そのアルゴリズムの名称と、適用可能なグラフ構造とで構成されている。例えば、ID1のコミュニティ構造解析アルゴリズムは、複雑ネットワーク専用プログラムのグラフ構造に適用可能であり、ID4のノード間最短経路分析は、ネットワーク専用プログラムに限らず汎用的なグラフ構造に適用することができる。
FIG. 14 is a diagram showing a
図15は、画像描画層33の詳細な構成を示す図である。
FIG. 15 is a diagram showing a detailed configuration of the
画像描画層33は、(i)分析対象プログラムのグラフ構造を指定の描画アルゴリズム(本例では、有効グラフ、依存関係行列、ツリーのいずれかの描画アルゴリズム)で描画するグラフ図描画部331と、(ii)分析対象プログラムの構造分析アルゴリズム(図13の3221〜3226:分析手法)の名称を一覧表示して作成する分析手法表示作成部3321と、(iii)上記した描画アルゴリズム(3311〜3313:描画形式)の名称を一覧表示して作成する描画形式表示作成部3322と、(iv)ディスプレイ9の画面を通して分析手法や描画形式に関して利用者の選択(指定)を受け付けるユーザインタフェース部332と、を備える。
The
本実施例のグラフ図描画部331を構成する描画アルゴリズムは、ノードとリンクからなるグラフ構造をリンクに方向性を与えて表示する有向グラフ描画アルゴリズム(有向グラフ描画部)3311と、ノード間の依存関係を行列方式で表示する依存関係行列描画アルゴリズム(依存関係行列描画部)3312と、ノードの関係を、リンクを介してツリー状に描画するツリー描画部3313とを備えている。
The drawing algorithm constituting the graph
これらの各種描画部(描画アルゴリズム3311〜3313)は、図1に示すディスプレイ画面91の描画形式表示部924を通して選択的に指定可能である(ディスプレイ画面91の詳細は後述する)。
These various drawing units (
グラフ図描画部331を構成する複数の描画アルゴリズム(3311〜3313)は、それぞれ独立しており、またプログラム解析層31やグラフ構造分析層32とも独立している。したがって、描画アルゴリズムを変更(追加,削除を含む)する場合でも、プログラム解析層31、グラフ構造分析層(構造分析部)32ついては再利用することができ、プログラム可視化装置の開発効率を向上させることができる。
A plurality of drawing algorithms (3311-1313) constituting the graph
分析手法表示作成部3321は、グラフ構造を分析する構造分析アルゴリズム(分析手法)の一覧表示を作成するほかに、分析対象プログラムの特性から、各構造分析アルゴリズムが、解析されたグラフ構造に対して適用可能であるか否か判別する構造分析アルゴリズム適否判別機能(構造分析アルゴリズム適否判別手段)を有する。この判別は、図14の構造分析アルゴリズム属性記憶部3227のデータ構成32271に基づき行なわれ、その判別結果が構造分析アルゴリズムの一覧表示作成に反映される。
The analysis technique
図16は、分析手法表示作成部3321で実行される構造分析アルゴリズム適否判別機能の処理の流れを示す図である。
FIG. 16 is a diagram showing the flow of processing of the structural analysis algorithm suitability determination function executed by the analysis technique
分析手法表示作成部3321は、図1の分析手法表示部913に示すような構造分析アルゴリズム(分析手法)一覧表示を作成した後に、ステップS33211から構造分析アルゴリズム適否判別処理を開始する。
The analysis technique
ステップS33212では、構造分析アルゴリズムのIDに1をセットする。ID1,ID2,ID3…IDnは、例えば図14に示す一覧表示の分析アルゴリズム名に対応する。 In step S33212, 1 is set to the ID of the structure analysis algorithm. ID1, ID2, ID3... IDn correspond to the analysis algorithm names in the list display shown in FIG.
ステップS33213では、グラフ特性判定部320から現在の分析対象プログラムのネットワーク特性を取得する。
In step S33213, the network characteristic of the current analysis target program is acquired from the graph
ステップS33214では、構造分析アルゴリズム属性記憶部3227のデータに基づいて、現在のIDの構造分析アルゴリズムが分析対象プログラムのネットワーク特性に対して適用可能か否かを判定する。適用可能な場合はステップS33215に進み、適用不可の場合にはステップS33216に進む。
In step S33214, based on the data in the structure analysis algorithm
ステップS33215では、現在のIDの構造分析アルゴリズムが適用可能であるとして、その旨を、ディスプレイ9(図1の分析手法表示部923)を介して表示する。
In step S33215, the fact that the current ID structure analysis algorithm is applicable is displayed on the display 9 (analysis
ステップS33216では、現在のIDの構造分析アルゴリズムが適用不可であるとして、その旨を、ディスプレイ9(図1の分析手法表示部923)を介して表示する。
In step S33216, the fact that the structure analysis algorithm of the current ID is not applicable is displayed on the display 9 (analysis
ステップS33217では、構造分析アルゴリズムが最終IDであるか否かを判定する。最終IDであった場合にはステップS33219に進み処理を終了し、最終IDではない場合にはステップS33218に進む。 In step S33217, it is determined whether the structure analysis algorithm is the final ID. If it is the final ID, the process proceeds to step S33219, and the process is terminated. If it is not the final ID, the process proceeds to step S33218.
ステップS33218ではIDを1加算し、ステップS33214に進む。以上の構造分析アルゴリズムの適否の判別結果は、次に述べるプログラム可視化装置100のディスプレイの画面表示に反映される。
In step S33218, 1 is added to ID, and the flow advances to step S33214. The determination result of the suitability of the above structural analysis algorithm is reflected on the screen display of the display of the
描画形式表示作成部3322は、描画形式の名称の一覧表示を作成するほかに、各描画形式(図15の描画アルゴリズム3311〜3313)が構造分析層32で実行されたグラフ構造分析に対して適用可能であるか否か判別する描画形式適否判別機能(描画形式適否判別手段)を有する。この判別結果は、描画アルゴリズム(描画形式)の一覧表示作成に反映される。
The drawing format
図1は、本構成によるプログラム可視化装置100によってプログラムA21の分析結果をディスプレイ9に表示した画面91を示す図である。図示のように、1つの画面91に、グラフ構造表示部(第1のウィンドウ)911と、分析対象プログラム表示部912と、分析手法表示部(第2のウィンドウ)913と、描画形式(描画手法)表示部(第3のウィンドウ)914とが設定されている。
FIG. 1 is a diagram showing a
グラフ構造表示部(第1のウィンドウ)911は、図15に示すグラフ図描画部331により作成される。図1では、一例として、グラフ構造表示部911には、プログラムAの分析結果として、ノード影響範囲が有向グラフ形式で表示されている。マウスカーソルがノードdを指しているため、ノードdの変更に影響を受ける、リンクで接続された変数が黒く強調表示されている。すなわち、グラフ構造表示部(第1ウィンドウ)911には、プログラム解析結果のグラフ構造とそのグラフ構造に対して適用された構造分析アルゴリズムの分析結果とを、画像描画層33により実行される指定の描画形式を介して合成表示される。
The graph structure display unit (first window) 911 is created by the graph
分析対象表示部912には、一例として、分析対象プログラム名「プログラムA」と、グラフ構造の特性「非複雑ネットワーク」が表示されている。
As an example, the analysis
分析手法表示部(第2のウィンドウ)913には、構造分析に用いる分析手法(構造分析アルゴリズム)の名称が表示されている。さらに、分析手法表示部913には、一覧表示される複数の分析手法(構造分析アルゴリズム)の名称から画面を通して所望の分析手法を指定する機能、および分析手法表示作成部(構造分析アルゴリズム適否判別手段)3321による判別結果(図15、図16参照)を表示する機能を有する。
An analysis technique display unit (second window) 913 displays the name of an analysis technique (structural analysis algorithm) used for structural analysis. Further, the analysis
例えば、分析手法表示部(第2ウィンドウ)913における所望の分析手法を指定する機能としては、図1に示すように所望の分析手法の指定マーク入力部をマウスポインタによりクリックする方式(図1では、ノード影響範囲分析の指定マーク入力部をクリックしている)がある。指定の仕方は、上記指定マーク入力部に代えて、所望の分析手法の名称をダブルクリックしたり、或いは各分析手法の名称がボタン表示で示され、これをクリックするなどしてもよい。上記したグラフ構造表示部(第1ウィンドウ)911には、分析手法表示部(第2ウィンドウ)913で指定した分析手法の分析結果がグラフ構造と合わせて表示される。 For example, as a function of designating a desired analysis technique in the analysis technique display unit (second window) 913, as shown in FIG. 1, a method of clicking a designation mark input part of a desired analysis technique with a mouse pointer (in FIG. 1) , Click the designation mark input part of the node influence range analysis). The designation method may be performed by double-clicking the name of a desired analysis technique instead of the designation mark input unit, or by clicking the name of each analysis technique indicated by a button. In the graph structure display unit (first window) 911, the analysis result of the analysis method specified by the analysis method display unit (second window) 913 is displayed together with the graph structure.
本実施例では、分析手法表示作成部3321(図15)により実行される分析アルゴリズム適否判別結果は、その分析アルゴリズム(分析手法)の名称に重ね合わせて表示される。例えば、図1では、一例として、分析対象プログラムA(グラフ特性:非複雑ネットワーク)については、コミュニティ構造分析およびノード重要度分析が適用不可として、それらの名称の上に取り消し線が引かれる。適用可の分析アルゴリズムについては、取り消し線無しの状態でそのまま表示される。さらに、本実施例では、分析対象プログラムにおいて適用可能な分析アルゴリズムと適用できない分析アルゴリズムとを、表示順序を変更して表示する。図1では、表示順序変更後の画面を示しており、分析手法適用不可の分析手法を第2ウィンドウ913内の下位位置に移動させている。なお、本実施例は表示手法の一例であり、その表示手法を実施例のものに限定されるものではない。例えば、分析対象プログラムに適用可能な分析手法と適用不可の分析手法とを、少なくとも色相、明度、彩度のいずれかを用いて識別表示してもよい。
In this embodiment, the analysis algorithm suitability determination result executed by the analysis technique display creation unit 3321 (FIG. 15) is displayed superimposed on the name of the analysis algorithm (analysis technique). For example, in FIG. 1, as an example, the analysis target program A (graph characteristic: non-complex network) is not applicable to community structure analysis and node importance analysis, and a strikethrough is drawn on their names. Applicable analysis algorithms are displayed as they are without a strikethrough. Furthermore, in this embodiment, the analysis algorithms that can be applied to the analysis target program and the analysis algorithms that cannot be applied are displayed by changing the display order. In FIG. 1, the screen after the display order is changed is shown, and an analysis method that cannot be applied to the analysis method is moved to a lower position in the
描画形式表示部(第3のウィンドウ)914には、指定対象となる描画形式の一覧が示されている。ここでは、一例として、有効グラフ、ツリー、依存関係行列の3つの描画形式を一覧表示している。この描画形式表示部914は、描画形式の一覧表示のほかに、次のような機能も有する。一つは、一覧表示される複数の描画形式の名称から画面を通して所望の描画形式を指定する機能を有する。この指定の仕方は、上記した分析手法一覧の中から所望の分析手法を指定する方式と同様に行なえばよい。もう一つは、描画形式表示作成部3322(図15)で実行された描画形式適否判別の結果を、描画形式一覧表示に反映させて表示する機能を有する。この場合にも、既述した分析アルゴリズムの適否同様に、取消し線、網掛け、色相、明度、彩度のいずれかを用いて識別表示してもよい。さらに、適否判別結果に応じて表示優先順序を変えてもよい。
A drawing format display section (third window) 914 shows a list of drawing formats to be specified. Here, as an example, three drawing formats of an effective graph, a tree, and a dependency relationship matrix are displayed as a list. The drawing
本実施例で示すように、画面表示を通して、(i)分析対象プログラムに適用できる分析手法と適用できない分析手法との表示方法を切り替えることによって、さらに、(ii)グラフ構造に応じて描画が可能な描画形式と不可の描画形式の表示方法を切り替えることにより、グラフ理論や統計分析の専門知識を持たない利用者でも適切な分析手法、描画形式を選択することができる。 As shown in this example, through the screen display, (ii) by switching the display method between the analysis method that can be applied to the analysis target program and the analysis method that cannot be applied, (ii) it is possible to draw according to the graph structure By switching the display method between a simple drawing format and an impossible drawing format, a user who does not have expertise in graph theory or statistical analysis can select an appropriate analysis method and drawing format.
図17は、本構成によるプログラム可視化装置100によってプログラムB22の分析結果をディスプレイ9に表示した画面92を示す図である。画面92は、グラフ構造表示部921と、分析対象プログラム表示部922と、分析手法表示部923と、描画形式表示部924とで構成されている。
FIG. 17 is a diagram showing a
グラフ構造表示部921には、プログラムBの分析結果として、コミュニティ構造が有向グラフ形式で表示されている。
In the graph
分析対象表示部922には、分析対象プログラム名「プログラムB」と、グラフ構造の特性「複雑ネットワーク」が表示されている。
The analysis
分析手法表示部923には、構造分析に用いる分析手法が示されている。プログラムBは複雑ネットワークであり、本実施例では全ての分析手法が選択可能となっている。
The analysis
描画形式表示部924には、描画形式の一覧が示されている。
The drawing
これらの表示部921〜924の表示の形態及び機能は、図1の表示部911〜914と同様であるので、説明を省略する。
The display forms and functions of these
なお、図1の例では、分析手法としてノード影響範囲分析のグラフ構造を有向グラフで表示したものを例示し、図17の例では、分析手法としてコミュニティ構造分析を有向グラフで表示したものを例示し、その他の分析手法や描画形式によるグラフ構造分析の描画表示について図示省略している。その理由は、その他の分析手法や描画形式も、それ自体は周知な事項であり、描画作成自体は、本明細書に具体的例示を示さなくても、当業者であれば容易に実施可能なものであるので、図示省略したものである。ちなみに、依存関係行列の描画については、本明細書の従来技術で紹介した特許文献4に開示されている。
In the example of FIG. 1, the graph structure of the node influence range analysis is displayed as a directed graph as an analysis method, and in the example of FIG. 17, the community structure analysis is displayed as a directed graph as an analysis method. The drawing display of graph structure analysis by other analysis methods and drawing formats is not shown. The reason is that other analysis methods and drawing formats are well known per se, and drawing creation itself can be easily carried out by those skilled in the art without showing specific examples in this specification. Since it is a thing, illustration is abbreviate | omitted. Incidentally, the drawing of the dependency matrix is disclosed in
100:プログラム可視化装置、31:プログラム解析層(プログラム解析手段)、32:グラフ構造分析層(グラフ構造解析手段)、33:画像描画層(画像描画解析手段)、91:表示画面、911:グラフ構造表示部(第1のウィンドウ)、912:分析対象プログラム表示部、913:分析手法表示部(第2のウィンドウ)、914:描画形式表示部(第3のウィンドウ)。 100: Program visualization device, 31: Program analysis layer (program analysis means), 32: Graph structure analysis layer (graph structure analysis means), 33: Image drawing layer (image drawing analysis means), 91: Display screen, 911: Graph Structure display unit (first window), 912: analysis target program display unit, 913: analysis technique display unit (second window), 914: drawing format display unit (third window).
Claims (17)
前記プログラムを解析してノードとリンクからなるグラフ構造を出力するプログラム解析手段と、前記グラフ構造に分析処理を施して分析結果を出力する構造分析手段と、前記グラフ構造とその分析結果とを所定の描画形式により画像表示装置に表示する画像描画手段と、の3つの手段を備え、
これらの3つの手段は、コンピュータを介して実行されるソフトウェアであって、且つそれぞれ独立して部品化されて、各手段単位で変更可能に構成され、
前記構造分析手段は、前記グラフ構造に対してそれぞれ異なる分析手法を実行するため複数の構造分析アルゴリズムを有し、
前記プログラム可視化装置は、分析対象プログラムの特性から、前記構造分析アルゴリズムの各々が前記グラフ構造に対して適用可能であるか否か判別する構造分析アルゴリズム適否判別手段を備え、
前記画像表示装置は、一つの画面に、少なくとも、
(i)前記グラフ構造とそのグラフ構造に対して適用された構造分析アルゴリズムの分析結果とを前記画像描画手段の描画形式を介して合成表示する第1のウィンドウと、(ii)前記複数の構造分析アルゴリズムの名称を表示し、且つ表示される複数の構造分析アルゴリズムの名称から画面を通して所望の構造分析アルゴリズムを指定する機能、および前記構造分析アルゴリズム適否判別手段による判別結果を表示する機能を有する第2のウィンドウとが設定されているプログラム可視化装置。 A program visualization device that extracts information from a program, performs processing necessary for program analysis using the extracted information, and displays an analysis result,
Program analysis means for analyzing the program and outputting a graph structure composed of nodes and links, structure analysis means for performing analysis processing on the graph structure and outputting an analysis result, the graph structure and its analysis result Image rendering means for displaying on the image display device in accordance with the rendering format of
These three means are software executed via a computer, and are configured as components that can be changed in units of each means independently .
The structure analysis means has a plurality of structure analysis algorithms for executing different analysis methods on the graph structure,
The program visualization device includes structural analysis algorithm suitability determination means for determining whether each of the structural analysis algorithms is applicable to the graph structure from the characteristics of the analysis target program,
The image display device has at least one screen.
(I) a first window for synthesizing and displaying the graph structure and an analysis result of a structure analysis algorithm applied to the graph structure through a drawing format of the image drawing means; (ii) the plurality of structures A function of displaying a name of an analysis algorithm, a function of designating a desired structure analysis algorithm through a screen from a plurality of displayed names of the structure analysis algorithm, and a function of displaying a determination result by the structure analysis algorithm suitability determination unit A program visualization device in which two windows are set.
前記プログラム解析手段は、種類の異なる複数のプログラムをそれぞれ解析してグラフ構造を作成する複数のプログラム解析アルゴリズムを有し、これらのプログラム解析アルゴリズムがそれぞれ部品化されて、各プログラム解析アルゴリズム単位で変更可能に構成され、
前記構造分析手段は、前記グラフ構造に対してそれぞれ異なる分析手法を実行するための複数の構造分析アルゴリズムを有し、これらの構造分析アルゴリズムがそれぞれ部品化されて、各構造分析アルゴリズム単位で変更可能に構成され、
前記画像描画手段は、それぞれ異なる描画形式を実行するための複数の描画アルゴリズムを有し、これらの描画アルゴリズムがそれぞれ部品化されて、各描画アルゴリズム単位で変更可能に構成されているプログラム可視化装置。 In claim 1,
The program analysis means has a plurality of program analysis algorithms for analyzing each of a plurality of different types of programs and creating a graph structure, and each of these program analysis algorithms is divided into parts and changed for each program analysis algorithm unit. Configured and possible
The structure analysis means has a plurality of structure analysis algorithms for executing different analysis methods on the graph structure, and each of these structure analysis algorithms is made into a component and can be changed for each structure analysis algorithm. Composed of
The program visualizing device, wherein the image drawing means has a plurality of drawing algorithms for executing different drawing formats, and each drawing algorithm is made into a component and can be changed for each drawing algorithm.
前記画像描画手段は、それぞれ異なる描画形式を実行するための複数の描画アルゴリズムを有し、
前記プログラム可視化装置は、前記構造分析手段の分析手法の特性から、前記描画アルゴリズムの各々で実行される描画形式が適用可能であるか否か判別する描画形式適否判別手段を備え、
前記画像表示装置は、一つの画面に、前記第1、第2のウィンドウに加えて、
(iii)前記描画アルゴリズムで実行される描画形式の名称を表示し、且つ表示される複数の描画形式の名称から画面を通して所望の描画形式を指定する機能、および前記描画形式適否判別手段による判別結果を表示する機能を有する第3のウィンドウが設定されているプログラム可視化装置。 In claim 1,
The image drawing means has a plurality of drawing algorithms for executing different drawing formats,
The program visualization device includes a drawing format suitability determining unit that determines whether or not a drawing format executed by each of the drawing algorithms is applicable from the characteristics of the analysis method of the structure analyzing unit,
In addition to the first and second windows, the image display device has one screen,
(Iii) A function for displaying a name of a drawing format executed by the drawing algorithm and designating a desired drawing format through a screen from a plurality of displayed drawing format names, and a determination result by the drawing format suitability determining means A program visualization apparatus in which a third window having a function of displaying is set.
前記構造分析手段は、分析対象プログラムのグラフ構造の特性を分類するグラフ特性判定手段を備えるプログラム可視化装置。 In any one of Claims 1 thru | or 3,
The said structure analysis means is a program visualization apparatus provided with the graph characteristic determination means which classify | categorizes the characteristic of the graph structure of an analysis object program.
前記画像描画手段は、前記グラフ特性判定手段の判定結果に基づいて、画面上の前記構造分析手段の分析手法の名称表示の形態を変えるプログラム可視化装置。 In claim 4,
The program visualization device, wherein the image drawing means changes a name display form of an analysis technique of the structure analysis means on a screen based on a determination result of the graph characteristic determination means.
前記プログラム解析手段は、分析対象プログラムの種類に応じて、変数をノードとし、変数間の代入関係をリンクとして前記プログラムを解析するか、或いは関数をノードとし、関数間の呼び出し関係をリンクとして前記プログラムを解析するプログラム可視化装置。 In claim 5,
The program analysis means analyzes the program using a variable as a node and a substitution relationship between variables as a link, or a function as a node and a call relationship between functions as a link, depending on the type of analysis target program. A program visualization device that analyzes programs.
前記グラフ特性判定手段は、前記分析対象プログラムが複雑ネットワーク特性を有しているか否かを、前記グラフ構造に基づいて判定する複雑ネットワーク判定手段よりなるプログラム可視化装置。 In claim 5,
The program visualization apparatus comprising a complex network determination unit that determines whether the analysis target program has a complex network characteristic based on the graph structure.
前記構造分析手段は、少なくとも一つの構造分析アルゴリズムを備えるとともに、前記構造分析アルゴリズムが適用可能なネットワーク特性を記憶する構造分析アルゴリズム属性記憶手段を有するプログラム可視化装置。 In claim 1,
The structure analysis means comprises at least one structure analysis algorithm, and has a structure analysis algorithm attribute storage means for storing network characteristics to which the structure analysis algorithm can be applied.
前記プログラムを解析してノードとリンクからなるグラフ構造を出力するプログラム解析手段と、前記グラフ構造に分析処理を施して分析結果を出力する構造分析手段と、前記グラフ構造とその分析結果とを所定の描画形式により画像表示装置に表示する画像描画手段と、の3つの手段を備え、
前記構造分析手段は、前記グラフ構造に対してそれぞれ異なる分析手法を実行するため複数の構造分析アルゴリズムを有し、
前記プログラム可視化装置は、分析対象プログラムの特性から、前記構造分析アルゴリズムの各々が前記グラフ構造に対して適用可能であるか否か判別する構造分析アルゴリズム適否判別手段を備え、
前記画像表示装置は、一つの画面に、少なくとも、
(i)前記グラフ構造とそのグラフ構造に対して適用された構造分析アルゴリズムの分析結果とを前記画像描画手段の描画形式を介して合成表示する第1のウィンドウと、(ii)前記複数の構造分析アルゴリズムの名称を表示し、且つ表示される複数の構造分析アルゴリズムの名称から画面を通して所望の構造分析アルゴリズムを指定する機能、および前記構造分析アルゴリズム適否判別手段による判別結果を表示する機能を有する第2のウィンドウとが設定されていることを特徴とするプログラム可視化装置。 A program visualization device that extracts information from a program, performs processing necessary for program analysis using the extracted information, and displays an analysis result,
Program analysis means for analyzing the program and outputting a graph structure composed of nodes and links, structure analysis means for performing analysis processing on the graph structure and outputting an analysis result, the graph structure and its analysis result Image rendering means for displaying on the image display device in accordance with the rendering format of
The structure analysis means has a plurality of structure analysis algorithms for executing different analysis methods on the graph structure,
The program visualization device includes structural analysis algorithm suitability determination means for determining whether each of the structural analysis algorithms is applicable to the graph structure from the characteristics of the analysis target program,
The image display device has at least one screen.
(I) a first window for synthesizing and displaying the graph structure and an analysis result of a structure analysis algorithm applied to the graph structure through a drawing format of the image drawing means; (ii) the plurality of structures A function of displaying a name of an analysis algorithm, a function of designating a desired structure analysis algorithm through a screen from a plurality of displayed names of the structure analysis algorithm, and a function of displaying a determination result by the structure analysis algorithm suitability determination unit A program visualization device characterized in that two windows are set.
前記画像描画手段は、それぞれ異なる描画形式を実行するための複数の描画アルゴリズムを有し、
前記プログラム可視化装置は、前記構造分析手段の分析手法の特性から、前記描画アルゴリズムの各々で実行される描画形式が適用可能であるか否か判別する描画形式適否判別手段を備え、
前記画像表示装置は、一つの画面に、前記第1、第2のウィンドウに加えて、
(iii)前記描画アルゴリズムで実行される描画形式の名称を表示し、且つ表示される複数の描画形式の名称から画面を通して所望の描画形式を指定する機能、および前記描画形式適否判別手段による判別結果を表示する機能を有する第3のウィンドウが設定されているプログラム可視化装置。 In claim 9,
The image drawing means has a plurality of drawing algorithms for executing different drawing formats,
The program visualization device includes a drawing format suitability determining unit that determines whether or not a drawing format executed by each of the drawing algorithms is applicable from the characteristics of the analysis method of the structure analyzing unit,
In addition to the first and second windows, the image display device has one screen,
(Iii) A function for displaying a name of a drawing format executed by the drawing algorithm and designating a desired drawing format through a screen from a plurality of displayed drawing format names, and a determination result by the drawing format suitability determining means A program visualization apparatus in which a third window having a function of displaying is set.
前記画像表示装置は、前記第2のウィンドウにおいて、分析対象プログラムに適用できない構造分析アルゴリズムについては、その構造分析アルゴリズムの名称に、適用不可であることを識別させる情報を重ね合わせて表示するプログラム可視化装置。 In claim 9 or 10,
In the second window, for the structural analysis algorithm that cannot be applied to the analysis target program, the image display device visualizes a program that displays information for identifying that the structural analysis algorithm cannot be applied to the name of the structural analysis algorithm. apparatus.
前記画像表示装置は、前記第2のウィンドウにおいて、分析対象プログラムに適用可能な構造分析アルゴリズムと適用できない構造分析アルゴリズムとを、少なくとも色相、明度、彩度のいずれかを変更して表示するプログラム可視化装置。 In claim 9 or 10,
In the second window, the image display device displays a structural analysis algorithm that can be applied to an analysis target program and a structural analysis algorithm that cannot be applied to the analysis target program by changing at least one of hue, brightness, and saturation. apparatus.
前記画像表示装置は、前記第2のウィンドウにおいて、分析対象プログラムにおいて適用可能な構造分析アルゴリズムと適用できない構造分析アルゴリズムとを、表示順序を変更して表示するプログラム可視化装置。 In any one of claims 9 to 12,
The image display device is a program visualization device that displays a structural analysis algorithm that can be applied to an analysis target program and a structural analysis algorithm that cannot be applied to the analysis target program by changing a display order in the second window.
前記画像表示装置は、前記第2のウィンドウにおいて、分析対象プログラムに適用できない構造分析アルゴリズムを、画面を通して選択不可とする機能を設定したプログラム可視化装置。 In any one of claims 9 to 13,
In the second window, the image display apparatus is a program visualization apparatus in which a function for making it impossible to select a structural analysis algorithm that cannot be applied to an analysis target program through a screen is set.
前記画像表示装置は、前記第3のウィンドウにおいて、分析対象プログラムに適用できない描画形式については、その描画形式の名称に適用不可であることを識別させる情報を重ね合わせて表示するプログラム可視化装置。 In claim 10,
In the third window, the image display device superimposes and displays information for identifying that the drawing format that cannot be applied to the analysis target program is not applicable to the name of the drawing format in the third window.
前記画像表示装置は、前記第3のウィンドウにおいて、分析対象プログラムに適用可能な描画形式と適用できない描画形式とを、少なくとも色相、明度、彩度のいずれかを変更して表示するプログラム可視化装置。 In claim 10,
The image display device is a program visualization device that displays, in the third window, a drawing format applicable to the analysis target program and a drawing format that cannot be applied by changing at least one of hue, brightness, and saturation.
前記画像表示装置は、前記第1、第2のウィンドウ或いは前記第1、第2、第3のウィンドウと共に1画面に分析対象プログラムのネットワーク特性を表示するプログラム可視化装置。 In any one of Claims 9 thru | or 16,
The image display device is a program visualization device that displays network characteristics of an analysis target program on one screen together with the first, second window or the first, second, and third windows.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/063959 WO2012172687A1 (en) | 2011-06-17 | 2011-06-17 | Program visualization device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5658364B2 true JP5658364B2 (en) | 2015-01-21 |
JPWO2012172687A1 JPWO2012172687A1 (en) | 2015-02-23 |
Family
ID=47356713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013520391A Expired - Fee Related JP5658364B2 (en) | 2011-06-17 | 2011-06-17 | Program visualization device |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5658364B2 (en) |
WO (1) | WO2012172687A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101977099B1 (en) * | 2018-11-02 | 2019-05-10 | 버추얼모션(주) | Method of Durability Analysis for Danamic Load |
WO2020091141A1 (en) * | 2018-11-02 | 2020-05-07 | 버추얼모션(주) | Effective chain-type cvt dynamics analyzing method |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3155514A1 (en) * | 2014-06-13 | 2017-04-19 | The Charles Stark Draper Laboratory, Inc. | Systems and methods for a database of software artifacts |
JP6310527B1 (en) * | 2016-10-27 | 2018-04-11 | 株式会社Dtsインサイト | Object analysis apparatus, object analysis method, and program |
JP6829117B2 (en) * | 2017-03-15 | 2021-02-10 | 株式会社Screenホールディングス | Text mining support methods and equipment |
JP6890083B2 (en) * | 2017-11-22 | 2021-06-18 | 株式会社日立製作所 | Business value evaluation device and business value evaluation method |
CN114117416B (en) * | 2021-09-16 | 2024-04-12 | 山东大学 | SAT-based symmetric password automatic analysis platform visualization method and system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07248915A (en) * | 1994-03-09 | 1995-09-26 | Fujitsu Ltd | Program analysis device |
JP2003303099A (en) * | 2002-04-10 | 2003-10-24 | Nippon Telegr & Teleph Corp <Ntt> | Software constitution method and recording medium |
JP2010204877A (en) * | 2009-03-03 | 2010-09-16 | Hitachi Ltd | Software development support device and software development support method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3290778B2 (en) * | 1993-09-10 | 2002-06-10 | 株式会社東芝 | Trouble analysis support device |
JP4093033B2 (en) * | 2002-12-02 | 2008-05-28 | 株式会社日立製作所 | Service component selection support method |
JP2008287690A (en) * | 2007-04-20 | 2008-11-27 | Hitachi Ltd | Group visualization system and sensor-network system |
JP5463775B2 (en) * | 2009-07-22 | 2014-04-09 | Jfeスチール株式会社 | Scheduling apparatus and scheduling method |
-
2011
- 2011-06-17 JP JP2013520391A patent/JP5658364B2/en not_active Expired - Fee Related
- 2011-06-17 WO PCT/JP2011/063959 patent/WO2012172687A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07248915A (en) * | 1994-03-09 | 1995-09-26 | Fujitsu Ltd | Program analysis device |
JP2003303099A (en) * | 2002-04-10 | 2003-10-24 | Nippon Telegr & Teleph Corp <Ntt> | Software constitution method and recording medium |
JP2010204877A (en) * | 2009-03-03 | 2010-09-16 | Hitachi Ltd | Software development support device and software development support method |
Non-Patent Citations (2)
Title |
---|
CSNG200900408004; 池口 徹: '複雑ネットワーク理論とその応用' システム/制御/情報 第53巻,第8号, 20090815, p.343-351, システム制御情報学会 * |
JPN6011037314; 池口 徹: '複雑ネットワーク理論とその応用' システム/制御/情報 第53巻,第8号, 20090815, p.343-351, システム制御情報学会 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101977099B1 (en) * | 2018-11-02 | 2019-05-10 | 버추얼모션(주) | Method of Durability Analysis for Danamic Load |
WO2020091141A1 (en) * | 2018-11-02 | 2020-05-07 | 버추얼모션(주) | Effective chain-type cvt dynamics analyzing method |
Also Published As
Publication number | Publication date |
---|---|
WO2012172687A1 (en) | 2012-12-20 |
JPWO2012172687A1 (en) | 2015-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5658364B2 (en) | Program visualization device | |
JP7244176B2 (en) | System and method for simplified graphical display design workflow in process control plants | |
US7188091B2 (en) | Rule processing system | |
US6965887B2 (en) | Rule processing methods for automating a decision and assessing satisfiability of rule-based decision diagrams | |
US7206997B2 (en) | Functional visualization of spreadsheets | |
WO2012011145A1 (en) | Software maintenance supporting device and electronic control device verified by the same | |
US6792400B2 (en) | Visualization of complex system interactions | |
JP2011086290A (en) | Method for selecting shape in graphical display | |
CN112579050A (en) | Task-based configuration rendering context | |
AU2010201974A1 (en) | System and Method for Managing Information | |
CN107168705B (en) | Graphic interface semantic description system and establishing method and operation path generating method thereof | |
JP5545744B2 (en) | Operation screen design support program, operation screen design support device, and operation screen design support method | |
WO2020214282A1 (en) | Visualization of training dialogs for a conversational bot | |
JP4731335B2 (en) | ASSEMBLY EVALUATION METHOD, SYSTEM, AND PROGRAM | |
EP3958073A1 (en) | Line connector extraction from p&id | |
CN110489188A (en) | The computer implemented method and system of mobile applications is generated by desktop application | |
CN112579051B (en) | System for developing industrial applications and method for managing industrial development workspaces | |
US10884711B2 (en) | Code management system and code management method using a visual programming tool | |
JP4813639B2 (en) | Feature-type macro language for defining customized analysis and customized graphics functions | |
US9177277B2 (en) | Workflow modeling with worklets and transitions | |
CN115525321A (en) | Distributed task generation method, device, equipment and storage medium | |
JP5801682B2 (en) | Setting information generating program, setting information generating apparatus, and setting information generating method | |
US20170068893A1 (en) | System, Method and Software for Representing Decision Trees | |
JP5714472B2 (en) | Product information management apparatus, method, and program | |
US7975213B2 (en) | Automatic reconfiguration of system sub-models for independent analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20141111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5658364 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |