JP5658364B2 - Program visualization device - Google Patents

Program visualization device Download PDF

Info

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
Application number
JP2013520391A
Other languages
Japanese (ja)
Other versions
JPWO2012172687A1 (en
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of JP5658364B2 publication Critical patent/JP5658364B2/en
Publication of JPWO2012172687A1 publication Critical patent/JPWO2012172687A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural 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を付して独立して記録すると共に、それらの情報を関係付けて任意の局面の表示情報を作成する表示ソフトウェアシステム分析支援装置が提案されている。   Patent Document 1 discloses definition information that defines a component for clarifying the nature of a component of software to be developed when program development is performed, and entity information that represents an entity that exists based on the definition. In addition, the display information for easily recognizing the interrelationship (analysis result) between each component is recorded independently with the ID, and the display information of any aspect is created by relating the information. A display software system analysis support apparatus has been proposed.

特許文献2には、オブジェクト指向プログラミング言語で既述されたソースプログラムを解析して、ソースプログラムの構造を表示するプログラム構造表示装置が開示されている。このプログラム構造表示装置は、オブジェクト指向プログラム構造におけるクラス間の関係だけでなく、属性やメソッドの依存関係も含め、ノードとラインの図形を用いて、色や形を変化させて表示するよう構成されている。   Patent Document 2 discloses a program structure display device that analyzes a source program described in an object-oriented programming language and displays the structure of the source program. This program structure display device is configured to display not only the relationship between classes in the object-oriented program structure, but also the dependency of attributes and methods, using the shapes of nodes and lines, changing the colors and shapes. ing.

特許文献3には、オブジェクト指向言語で記述されたソースコード(プログラム)の可視化の例が示されている。すなわち、テスト実行で得られたログからオブジェクト一覧及びオブジェクト間の関係を収集し、オブジェクト構造抽出部によりオブジェクト間関係を抽出してオブジェクト図を作成し、表示部を介して表示している。この表示において、オブジェクト間の関係である呼び出しの方向や所有関係に応じて線種や色、太さ等を使い分けて図示する。   Patent Document 3 shows an example of visualization of source code (program) described in an object-oriented language. That is, an object list and relationships between objects are collected from a log obtained by test execution, an object structure extraction unit extracts object relationships, creates an object diagram, and displays it through a display unit. In this display, the line type, color, thickness, and the like are shown separately depending on the calling direction and the ownership relationship, which are relationships between objects.

特許文献4には、プログラム構成要素間の依存関係を分析して可視化する例が示されている。本技術では、依存関係の分析結果を行列形式で図示するものであり、分析結果に応じて行列要素の強調表示を行う。   Patent Document 4 shows an example of analyzing and visualizing dependency relationships between program components. In the present technology, the analysis result of the dependency relationship is illustrated in a matrix format, and the matrix element is highlighted according to the analysis result.

特開平7−175642号公報JP 7-175642 A 特開平11−95990号公報Japanese Patent Laid-Open No. 11-95990 WO2008/096632WO2008 / 096632 US 7,512,929 B2US 7,512,929 B2

(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 Patent Document 1 to Patent Document 4 has been proposed so far to satisfy the above-described requirements regarding (I) and (II). That is, in the conventional program visualization apparatus, software from program analysis to display is composed of a series of flows, and if a part of the software is changed, the entire software must be recreated. Further, in the conventional technique, consideration is not given to the user so that the applicable structural analysis algorithm can be understood according to the network characteristics of the analysis target program.

本発明は、上記のような課題を解決するためになされたものであり、例えば、組み込みソフトウェアなどを検証のため分析(解析)する場合に、上記(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 suitability determination unit 2 windows are set .

上記(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 suitability determination unit 2 windows are set.

本発明に係る前者のプログラム可視化装置によれば、プログラムを解析してグラフ構造を作成するプログラム解析アルゴリズム、そのグラフ構造を分析する構造分析アルゴリズム、その分析結果を表示する描画アルゴリズムに関するソフトウェアのいずれかを変更した場合でも、他のソフトウェアは、その変更の影響を受けずに再利用することができる。   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.

本発明の一実施例に係るプログラム可視化装置の表示画面を示す図である。It is a figure which shows the display screen of the program visualization apparatus which concerns on one Example of this invention. 上記実施例のプログラム可視化装置の構成を示す図である。It is a figure which shows the structure of the program visualization apparatus of the said Example. 上記実施例のプログラム可視化装置の処理の流れを示す図である。It is a figure which shows the flow of a process of the program visualization apparatus of the said Example. 上記実施例におけるプログラム解析層31の構成を示す図である。It is a figure which shows the structure of the program analysis layer 31 in the said Example. 分析対象プログラムA211の構成例を示す図である。It is a figure which shows the structural example of analysis object program A211. 図4におけるプログラムA解析部311の出力の一例を示す図である。It is a figure which shows an example of the output of the program A analysis part 311 in FIG. 分析対象プログラムB221の構成例を示す図である。It is a figure which shows the structural example of analysis object program B221. 図4におけるプログラムB解析部312の出力を示す図である。It is a figure which shows the output of the program B analysis part 312 in FIG. 上記実施例における構造分析層32の構成を示す図である。It is a figure which shows the structure of the structural analysis layer 32 in the said Example. 上記実施例における複雑ネットワーク判定部321の構成を示す図である。It is a figure which shows the structure of the complex network determination part 321 in the said Example. 上記複雑ネットワーク判定部321の処理の流れを示す図である。It is a figure which shows the flow of a process of the said complicated network determination part. 図11に用いられるスケールフリー性判定部3211の処理の流れを示す図である。It is a figure which shows the flow of a process of the scale free property determination part 3211 used for FIG. 上記実施例におけるプログラム構造分析部322の構成を示す図である。It is a figure which shows the structure of the program structure analysis part 322 in the said Example. 上記実施例における構造分析アルゴリズム属性記憶部3227のデータ構成32271を示す図である。It is a figure which shows the data structure 32271 of the structural analysis algorithm attribute memory | storage part 3227 in the said Example. 上記実施例における画像描画層33の構成を示す図である。It is a figure which shows the structure of the image drawing layer 33 in the said Example. 図15において用いられる分析手法表示作成部3321の処理の流れを示す図である。It is a figure which shows the flow of a process of the analysis technique display preparation part 3321 used in FIG. 上記実施例に係るプログラム可視化装置の表示画面の他の例を示す図である。It is a figure which shows the other example of the display screen of the program visualization apparatus which concerns on the said Example.

本発明の実施の形態を、以下の実施例に基づき説明する。
(実施例)
図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 program visualization device 100 is, for example, for analyzing and visualizing programs incorporated in various control devices, and displays a computer 1 that is a program analysis / visualization execution main body and a visualization result executed by the computer 1. A display 9 to be operated, and a mouse 7 and a keyboard 8 for receiving an operation from a user.

コンピュータ1は、分析対象となるプログラムを記憶するデータベース2と、プログラム可視化装置の処理手順(アルゴリズム)を記憶するメモリ3と、ソフトウェア可視化装置の処理手順を実行するプロセッサ4と、ネットワークインタフェース5とを備えている。コンピュータ1は、ネットワークインタフェース5を用いてネットワーク10を経由して他のコンピュータやデータベースと接続する。   The computer 1 includes a database 2 that stores a program to be analyzed, a memory 3 that stores a processing procedure (algorithm) of the program visualization device, a processor 4 that executes the processing procedure of the software visualization device, and a network interface 5. I have. The computer 1 is connected to other computers and databases via the network 10 using the network interface 5.

図3は、ソフトウェア可視化装置100の処理の流れを示すブロック図である。データベース2は分析対象となるプログラムA21と、プログラムB22とを備える。本実施例では、一例として、2つの分析対象プログラムをデータベース2に備えるが、その数は任意である。   FIG. 3 is a block diagram illustrating a processing flow of the software visualization apparatus 100. The database 2 includes a program A21 to be analyzed and a program B22. In this embodiment, as an example, two analysis target programs are provided in the database 2, but the number thereof is arbitrary.

メモリ3は、プログラム可視化装置のアルゴリズムとして、分析対象プログラムを情報(図5、図7参照)を抽出して、その情報を解析してノードとリンクの集合からなるグラフ構造を出力するプログラム解析層(プログラム解析手段)31と、グラフ構造に基づいて分析処理を行って分析結果を出力する構造分析層(構造分析手段)32と、グラフ構造とその分析結果とを所定の描画形式により画像表示装置に表示する画像描画層(画像描画手段)33とを備える。画像描画層33は、マウス7により利用者が望む分析手法や画像表示方式の選択操作を受け付けるとともに、その選択操作に基づくプログラム分析結果をディスプレイ9に出力する。   As an algorithm of the program visualization device, the memory 3 extracts a program to be analyzed (see FIGS. 5 and 7), analyzes the information, and outputs a graph structure including a set of nodes and links. (Program analysis means) 31, a structure analysis layer (structure analysis means) 32 that performs analysis processing based on the graph structure and outputs an analysis result, and an image display device that displays the graph structure and the analysis result in a predetermined drawing format And an image drawing layer (image drawing means) 33 to be displayed. The image drawing layer 33 accepts a selection operation of an analysis method and an image display method desired by the user with the mouse 7 and outputs a program analysis result based on the selection operation to the display 9.

プログラム解析層31と構造分析層32と画像描画層33は、それぞれ独立して部品化されたソフトウェア(アルゴリズム)により構成され、各部品単位で変更可能に構成されている。ここで、変更とは、ソフトウェアの内容変更のほかに、追加、削除も含むものである。   The program analysis layer 31, the structure analysis layer 32, and the image drawing layer 33 are configured by software (algorithm) that is independently made into parts, and can be changed in units of parts. Here, the change includes addition and deletion in addition to the software content change.

図4は、プログラム解析層31の詳細な構成を示す図である。プログラム解析層31は、プログラムA21用のプログラム解析手段であるプログラムA解析部311と、プログラムB用のプログラム解析手段であるプログラムB解析部312とを備える。   FIG. 4 is a diagram showing a detailed configuration of the program analysis layer 31. The program analysis layer 31 includes a program A analysis unit 311 that is a program analysis unit for the program A21 and a program B analysis unit 312 that is a program analysis unit for the program B.

ここで、プログラムA解析部311で行われるプログラム解析の一例を図5及び図6を参照して説明する。   Here, an example of program analysis performed by the program A analysis unit 311 will be described with reference to FIGS.

図5は、プログラムA21の一例に係る具体的構成を示す図である。プログラムA21のソースコード211は複数の関数を備えており、関数間の呼び出しによってプログラムを構成している。   FIG. 5 is a diagram showing a specific configuration according to an example of the program A21. The source code 211 of the program A21 includes a plurality of functions, and the program is configured by calling between functions.

図6は、プログラムA解析部311の出力結果であるプログラムAグラフ構造3111を示す図である。   FIG. 6 is a diagram showing a program A graph structure 3111 that is an output result of the program A analysis unit 311.

プログラムA解析部311のアルゴリズムは、ソースコード211(図5)における関数をノード、関数間の呼び出し関係をリンクとしてプログラム解析を行い、解析結果をプログラムAのグラフ構造3111(図6)として出力することを内容とする。   The algorithm of the program A analysis unit 311 performs program analysis using the function in the source code 211 (FIG. 5) as a node and the call relationship between functions as a link, and outputs the analysis result as a graph structure 3111 of the program A (FIG. 6). The content.

一例をあげれば、図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 source code 211 in FIG. 5 indicate that “function a calls function e”. In this case, the former (function a) is the start node and the latter (function e) is the end node. Similar analysis is performed for the subsequent lines, and a link ID (link identification number) is assigned to each inter-function call. There are various ways of attaching the link ID. Here, the order of youngest variable (alphabet) of the end node is given first priority, and then the order of youngest variable (alphabet) of the start node is given second priority (see FIG. 6). As a result, the above-mentioned “function a calls function e” (source code 211) indicates the calling relationship between functions as link ID 4 in the program A graph structure 3111 of FIG.

次に、プログラムB解析部312で行われるプログラム解析の一例を図7及び図8を参照して説明する。   Next, an example of program analysis performed by the program B analysis unit 312 will be described with reference to FIGS.

図7は、プログラムB22の一例に係る具体的構成を示す図である。プログラムB22のソースコード221は複数の関数を備えている。ただし、関数間の呼び出し関係ではなく、変数の代入関係によってプログラムを構成している。   FIG. 7 is a diagram showing a specific configuration according to an example of the program B22. The source code 221 of the program B22 has a plurality of functions. However, the program is configured not by calling relationships between functions but by variable substitution relationships.

図8は、プログラムB解析部312の出力結果であるプログラムBグラフ構造3121を示す図である。   FIG. 8 is a diagram showing a program B graph structure 3121 that is an output result of the program B analysis unit 312.

プログラムB解析部312のアルゴリズムは、ソースコード221(図7)における変数をノード、変数間の代入関係をリンクとしてプログラム解析を行い、解析結果をプログラムBグラフ構造3121(図8)として出力することを内容とする。   The algorithm of the program B analysis unit 312 performs program analysis using the variables in the source code 221 (FIG. 7) as nodes and the substitution relation between the variables as links, and outputs the analysis results as a program B graph structure 3121 (FIG. 8). Is the content.

一例をあげれば、ソースコード221の2行目は、「変数aに基づいて変数bが演算されている」ことを示している。この場合には、前者(変数a)を始点ノード、後者(変数b)を終点ノードとする。それ以降の行についても同様の解析が行われ、それぞれの変数間の代入関係についてリンクID(リンク識別番号)が付される。リンクIDの付け方は、既述した関数間呼び出し同様に行われる。その結果、上記した「変数aに基づいて変数bが演算されている」は、図8のプログラムBグラフ構造3121において、リンクID1としての内容を示している。   As an example, the second line of the source code 221 indicates that “the variable b is calculated based on the variable a”. In this case, the former (variable a) is the start point node and the latter (variable b) is the end point node. The same analysis is performed for the subsequent lines, and a link ID (link identification number) is assigned to the substitution relationship between the variables. The link ID is assigned in the same manner as the inter-function call described above. As a result, “the variable b is calculated based on the variable a” described above indicates the content as the link ID 1 in the program B graph structure 3121 of FIG.

以上のように、プログラム可視化装置100に複数のプログラム解析層31として、異なる複数のプログラム解析部、例えばプログラムA解析部311およびプログラムB解析部312を設け、プログラム解析層31を構造分析層32と画像描画層33に対してそれぞれ独立して部品化することによって、異なる構造を持つプログラムに対してはプログラム解析部を変更するのみで対応可能である。したがって、プログラムの種類に応じてプログラム解析部を変更(追加、削除を含む)する場合には、プログラム解析層31にて、各
プログラム解析部単位で変更すれば良く、その変更が他の構造分析層32や画像描画層33には影響を与えないので、プログラム可視化装置の再利用性および開発効率が向上する。なお、構造分析層32や画像描画層33に関しても独立して部品化されているので、それぞれの層単位で変更可能である(この点については後述される)。
As described above, the program visualization apparatus 100 is provided with a plurality of different program analysis units, for example, the program A analysis unit 311 and the program B analysis unit 312 as the plurality of program analysis layers 31, and the program analysis layer 31 and the structural analysis layer 32 are provided. By making the image drawing layer 33 into parts independently, it is possible to deal with a program having a different structure only by changing the program analysis unit. Therefore, when the program analysis unit is changed (including addition and deletion) according to the type of program, the program analysis layer 31 may be changed in units of each program analysis unit, and the change is another structural analysis. Since the layer 32 and the image drawing layer 33 are not affected, the reusability and development efficiency of the program visualization device are improved. Note that the structural analysis layer 32 and the image drawing layer 33 are also separately formed, and can be changed in units of each layer (this will be described later).

図9は、構造分析層32の詳細な構成を示す図である。構造分析層32は、グラフ特性判定部(グラフ特性判定手段)320とプログラム構造分析部322とを備えている。グラフ特性判定部は、複雑ネットワーク判定部321を備えている。   FIG. 9 is a diagram showing a detailed configuration of the structural analysis layer 32. The structural analysis layer 32 includes a graph characteristic determination unit (graph characteristic determination unit) 320 and a program structure analysis unit 322. The graph characteristic determination unit includes a complex network determination unit 321.

図10は、複雑ネットワーク判定部321の詳細な構成を示す図である。複雑ネットワークは、現実世界に存在する多様なネットワーク(ネットワークは、ノードとリンクの集合よりなるグラフ構造で示される)において、一定の共通する性質として「スケールフリー性」(次数分布のべき乗則)、「スモールワールド性」、および「クラスター性」を有するものであり、近年、現実世界の様々な現象を説明するのに使用され周知な学問であるので、詳細な説明は省略する。   FIG. 10 is a diagram illustrating a detailed configuration of the complex network determination unit 321. A complex network is a scale-free property (power law of degree distribution) as a certain common property in various networks that exist in the real world (the network is represented by a graph structure consisting of a set of nodes and links), Since it has “small world” and “cluster”, and is a well-known study used to explain various phenomena in the real world in recent years, detailed description thereof will be omitted.

複雑ネットワーク判定部321は、プログラム解析層31で解析されたグラフ構造の次数分布がべき乗則にしたがっているか否かを判定するスケールフリー性判定部3211と、任意に選択した2つのノードが最短で幾つの仲介ノードおよびリンクを介して繋がりを持つのか求め(ノード間距離)、これをノードの組み合わせを変えて全ノードに実行してその平均最短距離を求め、その平均最短距離がノード数の大きさに比べて小さい値を取っているか否かを判定するスモールワールド性判定部3212と、グラフ構造のクラスター係数の値を評価するクラスター性判定部3213を備える。   The complex network determination unit 321 includes a scale-freeness determination unit 3211 that determines whether or not the degree distribution of the graph structure analyzed by the program analysis layer 31 is in accordance with a power law, and the arbitrarily selected two nodes. To determine whether there is a connection through intermediary nodes and links (distance between nodes), change this combination to all nodes and calculate the average shortest distance, and the average shortest distance is the size of the number of nodes A small world property determination unit 3212 that determines whether or not the value is smaller than that of the graph, and a cluster property determination unit 3213 that evaluates the value of the cluster coefficient of the graph structure.

図11は、複雑ネットワーク判定部321の処理の流れを示す図である。ステップS32101において処理が開始される。   FIG. 11 is a diagram illustrating a processing flow of the complex network determination unit 321. Processing starts in step S32101.

ステップS32102においてスケールフリー性判定部3211が実行され、スケールフリー性の有無が判定される。スケールフリー性有りと判定された場合には、ステップS32103へ進み、無しと判定された場合には、ステップS32106へ進み処理が終了する。   In step S32102, the scale freeness determination unit 3211 is executed to determine whether or not there is scale freeness. If it is determined that there is a scale-free property, the process proceeds to step S32103. If it is determined that there is no scale-free property, the process proceeds to step S32106, and the process ends.

ステップS32103においてスモールワールド性判定部3212が実行され、スモールワールド性の有無が判定される。スモールワールド性有りと判定された場合には、ステップS32104へ進み、無しと判定された場合には、ステップS32106へ進み処理が終了する。   In step S32103, the small world property determination unit 3212 is executed to determine whether there is a small world property. If it is determined that there is a small world property, the process proceeds to step S32104. If it is determined that there is no small world, the process proceeds to step S32106 and the process ends.

ステップS32104においてクラスター性判定部3213が実行され、クラスター性の有無が判定される。クラスター性有りと判定された場合にはステップS32105へ進み、無しと判定された場合にはステップS32106へ進み処理が終了する。   In step S32104, the clusterity determination unit 3213 is executed to determine the presence or absence of clusteriness. If it is determined that there is a cluster property, the process proceeds to step S32105. If it is determined that there is no cluster, the process proceeds to step S32106, and the process ends.

ステップ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-freeness determination unit 3211. The scale-free property is expressed when the probability distribution of the probability p (k) having a degree k of a node becomes a power law of p (k) ∝k− γ , and the following processing is performed for the determination. Done.

ステップ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 world determination unit 3212 is not shown in the flowchart, but is performed roughly as follows. That is, a step of obtaining the number of nodes, a step of obtaining an average shortest distance between any two nodes, and determining whether or not the average shortest distance between the nodes is smaller than the number of nodes. However, in the case of taking a small value, there is a step of determining that it has a small world property.

クラスター性判定部3212により行われる判定処理についても、そのフローチャートによる図示を省略するが、概略次のように行なわれる。すなわち、グラフ構造のノードおよびリンクの集合からクラスター係数Cを算出するステップと、クラスター係数が閾値より大きいか否か判定し、大きい場合には、クラスター性を有するものと評価するステップを有する。   The determination process performed by the clusterity determination unit 3212 is also performed as follows, although not shown in the flowchart. In other words, the method includes a step of calculating a cluster coefficient C from a set of nodes and links in a graph structure, a step of determining whether or not the cluster coefficient is larger than a threshold value, and a step of evaluating the cluster coefficient if it is larger.

図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 structure analysis unit 322 in the structure analysis layer 32. The program configuration analysis unit 322 is composed of a plurality of types of analysis units that are independently made into parts. Each of these analysis units is configured by an analysis algorithm, and includes the following. For example, (i) a community structure analysis unit 3221 that analyzes a community (organization) made up of a specific common node and link in a graph structure made up of a network of nodes and links, and (ii) nodes that make up the network Among them, a node importance analysis unit 3222 for analyzing a node having a high importance level, and (iii) a node influence range analysis unit 3223 for analyzing an influence range of the node on other nodes by paying attention to a specific node; (Iv) an inter-node shortest path analysis unit 3224 that analyzes the shortest path when passing through several intermediary nodes and links that are linked from a specific node to another specific node; v) A structural similarity analysis unit 322 that analyzes the graph structure of a plurality of programs and analyzes the similarity of the graph structures. If, (vi) mediated centrality, i.e., mediated central analysis unit 3226 that analyzes the degree that can not reach other nodes when not passing through the node are prepared. Furthermore, the program structure analysis unit 322 includes a structure analysis algorithm attribute storage unit 3227 that stores attributes of the various analysis units (structure analysis algorithms) listed above.

これらの各種分析部(構造分析アルゴリズム3221〜3226)は、図1に示すディスプレイ画面91の分析手法表示部913を通して選択的に指定可能である(ディスプレイ画面91の詳細は後述する)。   These various analysis units (structure analysis algorithms 3221 to 3226) can be selectively designated through the analysis technique display unit 913 of the display screen 91 shown in FIG. 1 (details of the display screen 91 will be described later).

プログラム構造分析部322となる複数の構造分析アルゴリズム(3221〜3226)は、それぞれ独立しており、またプログラム解析層31や画像描画層33とも独立している。したがって、構造分析アルゴリズムを変更(追加,削除を含む)する場合でも、プログラム解析層31および画像描画層33については再利用することができ、プログラム可視化装置の開発効率を向上させることができる。   A plurality of structure analysis algorithms (3221 to 226) serving as the program structure analysis unit 322 are independent of each other, and are independent of the program analysis layer 31 and the image drawing layer 33. Therefore, even when the structure analysis algorithm is changed (including addition and deletion), the program analysis layer 31 and the image drawing layer 33 can be reused, and the development efficiency of the program visualization device can be improved.

図14は、構造分析アルゴリズム属性記憶部3227の詳細なデータ構成32271を示す図である。構造分析アルゴリズム属性記憶部3227のデータ構成32271は、分析アルゴリズムのIDと、そのアルゴリズムの名称と、適用可能なグラフ構造とで構成されている。例えば、ID1のコミュニティ構造解析アルゴリズムは、複雑ネットワーク専用プログラムのグラフ構造に適用可能であり、ID4のノード間最短経路分析は、ネットワーク専用プログラムに限らず汎用的なグラフ構造に適用することができる。   FIG. 14 is a diagram showing a detailed data configuration 32271 of the structure analysis algorithm attribute storage unit 3227. The data structure 32271 of the structure analysis algorithm attribute storage unit 3227 includes an analysis algorithm ID, the name of the algorithm, and an applicable graph structure. For example, the ID1 community structure analysis algorithm can be applied to the graph structure of a complex network dedicated program, and the ID4 internode shortest path analysis can be applied not only to the network dedicated program but also to a general-purpose graph structure.

図15は、画像描画層33の詳細な構成を示す図である。   FIG. 15 is a diagram showing a detailed configuration of the image drawing layer 33.

画像描画層33は、(i)分析対象プログラムのグラフ構造を指定の描画アルゴリズム(本例では、有効グラフ、依存関係行列、ツリーのいずれかの描画アルゴリズム)で描画するグラフ図描画部331と、(ii)分析対象プログラムの構造分析アルゴリズム(図13の3221〜3226:分析手法)の名称を一覧表示して作成する分析手法表示作成部3321と、(iii)上記した描画アルゴリズム(3311〜3313:描画形式)の名称を一覧表示して作成する描画形式表示作成部3322と、(iv)ディスプレイ9の画面を通して分析手法や描画形式に関して利用者の選択(指定)を受け付けるユーザインタフェース部332と、を備える。   The image drawing layer 33 includes (i) a graph diagram drawing unit 331 for drawing the graph structure of the analysis target program with a specified drawing algorithm (in this example, any drawing algorithm of an effective graph, a dependency matrix, or a tree); (Ii) an analysis technique display creation unit 3321 for creating a list of names of the structure analysis algorithms (3221 to 3226 in FIG. 13: analysis technique) of the analysis target program, and (iii) the above drawing algorithm (3311 to 3313: A drawing format display creation unit 3322 for creating a list of names of (drawing formats), and (iv) a user interface unit 332 for accepting a user's selection (designation) regarding the analysis method and the drawing format through the screen of the display 9. Prepare.

本実施例のグラフ図描画部331を構成する描画アルゴリズムは、ノードとリンクからなるグラフ構造をリンクに方向性を与えて表示する有向グラフ描画アルゴリズム(有向グラフ描画部)3311と、ノード間の依存関係を行列方式で表示する依存関係行列描画アルゴリズム(依存関係行列描画部)3312と、ノードの関係を、リンクを介してツリー状に描画するツリー描画部3313とを備えている。   The drawing algorithm constituting the graph diagram drawing unit 331 of this embodiment includes a directed graph drawing algorithm (directed graph drawing unit) 3311 for displaying a graph structure composed of nodes and links by giving directions to the links, and a dependency relationship between the nodes. A dependency matrix drawing algorithm (dependency matrix drawing unit) 3312 that displays in a matrix manner and a tree drawing unit 3313 that draws node relationships in a tree shape via links are provided.

これらの各種描画部(描画アルゴリズム3311〜3313)は、図1に示すディスプレイ画面91の描画形式表示部924を通して選択的に指定可能である(ディスプレイ画面91の詳細は後述する)。   These various drawing units (drawing algorithms 3311 to 3313) can be selectively designated through the drawing format display unit 924 of the display screen 91 shown in FIG. 1 (details of the display screen 91 will be described later).

グラフ図描画部331を構成する複数の描画アルゴリズム(3311〜3313)は、それぞれ独立しており、またプログラム解析層31やグラフ構造分析層32とも独立している。したがって、描画アルゴリズムを変更(追加,削除を含む)する場合でも、プログラム解析層31、グラフ構造分析層(構造分析部)32ついては再利用することができ、プログラム可視化装置の開発効率を向上させることができる。   A plurality of drawing algorithms (3311-1313) constituting the graph diagram drawing unit 331 are independent of each other, and are independent of the program analysis layer 31 and the graph structure analysis layer 32. Therefore, even when the drawing algorithm is changed (including addition and deletion), the program analysis layer 31 and the graph structure analysis layer (structure analysis unit) 32 can be reused to improve the development efficiency of the program visualization device. Can do.

分析手法表示作成部3321は、グラフ構造を分析する構造分析アルゴリズム(分析手法)の一覧表示を作成するほかに、分析対象プログラムの特性から、各構造分析アルゴリズムが、解析されたグラフ構造に対して適用可能であるか否か判別する構造分析アルゴリズム適否判別機能(構造分析アルゴリズム適否判別手段)を有する。この判別は、図14の構造分析アルゴリズム属性記憶部3227のデータ構成32271に基づき行なわれ、その判別結果が構造分析アルゴリズムの一覧表示作成に反映される。   The analysis technique display creation unit 3321 creates a list display of the structure analysis algorithms (analysis techniques) for analyzing the graph structure, and each structure analysis algorithm is analyzed with respect to the analyzed graph structure from the characteristics of the analysis target program. It has a structure analysis algorithm suitability judging function (structure analysis algorithm suitability judging means) for judging whether or not it is applicable. This determination is performed based on the data structure 32271 of the structure analysis algorithm attribute storage unit 3227 in FIG. 14, and the determination result is reflected in the creation of a list display of the structure analysis algorithm.

図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 display creation unit 3321.

分析手法表示作成部3321は、図1の分析手法表示部913に示すような構造分析アルゴリズム(分析手法)一覧表示を作成した後に、ステップS33211から構造分析アルゴリズム適否判別処理を開始する。   The analysis technique display creation unit 3321 starts structural analysis algorithm suitability determination processing from step S33211 after creating a structure analysis algorithm (analysis technique) list display as shown in the analysis technique display unit 913 of FIG.

ステップ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 characteristic determination unit 320.

ステップS33214では、構造分析アルゴリズム属性記憶部3227のデータに基づいて、現在のIDの構造分析アルゴリズムが分析対象プログラムのネットワーク特性に対して適用可能か否かを判定する。適用可能な場合はステップS33215に進み、適用不可の場合にはステップS33216に進む。   In step S33214, based on the data in the structure analysis algorithm attribute storage unit 3227, it is determined whether or not the structure analysis algorithm of the current ID is applicable to the network characteristics of the analysis target program. If applicable, the process proceeds to step S33215, and if not applicable, the process proceeds to step S33216.

ステップ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 technique display unit 923 in FIG. 1).

ステップ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 technique display unit 923 in FIG. 1).

ステップ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 program visualization device 100 described below.

描画形式表示作成部3322は、描画形式の名称の一覧表示を作成するほかに、各描画形式(図15の描画アルゴリズム3311〜3313)が構造分析層32で実行されたグラフ構造分析に対して適用可能であるか否か判別する描画形式適否判別機能(描画形式適否判別手段)を有する。この判別結果は、描画アルゴリズム(描画形式)の一覧表示作成に反映される。   The drawing format display creation unit 3322 creates a list display of drawing format names and applies each drawing format (drawing algorithms 3311 to 313 in FIG. 15) to the graph structure analysis executed in the structural analysis layer 32. A drawing format suitability judging function (drawing format suitability judging means) for judging whether or not it is possible is provided. This discrimination result is reflected in creating a list display of a drawing algorithm (drawing format).

図1は、本構成によるプログラム可視化装置100によってプログラムA21の分析結果をディスプレイ9に表示した画面91を示す図である。図示のように、1つの画面91に、グラフ構造表示部(第1のウィンドウ)911と、分析対象プログラム表示部912と、分析手法表示部(第2のウィンドウ)913と、描画形式(描画手法)表示部(第3のウィンドウ)914とが設定されている。   FIG. 1 is a diagram showing a screen 91 in which the analysis result of the program A21 is displayed on the display 9 by the program visualization apparatus 100 according to the present configuration. As shown in the figure, a graph structure display unit (first window) 911, an analysis target program display unit 912, an analysis method display unit (second window) 913, and a drawing format (drawing method) are displayed on one screen 91. ) Display section (third window) 914 is set.

グラフ構造表示部(第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 diagram drawing unit 331 shown in FIG. In FIG. 1, as an example, the node influence range is displayed in the directed graph format as the analysis result of the program A in the graph structure display unit 911. Since the mouse cursor points to the node d, the variable connected by the link that is affected by the change of the node d is highlighted in black. That is, in the graph structure display unit (first window) 911, the graph structure of the program analysis result and the analysis result of the structure analysis algorithm applied to the graph structure are designated by the image drawing layer 33. It is synthesized and displayed via a drawing format.

分析対象表示部912には、一例として、分析対象プログラム名「プログラムA」と、グラフ構造の特性「非複雑ネットワーク」が表示されている。   As an example, the analysis target display unit 912 displays an analysis target program name “program A” and a graph structure characteristic “non-complex network”.

分析手法表示部(第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 method display unit 913 includes a function for designating a desired analysis method through a screen from the names of a plurality of analysis methods (structure analysis algorithms) displayed in a list, and an analysis method display creation unit (structure analysis algorithm suitability determination unit) ) 3321 is displayed (see FIGS. 15 and 16).

例えば、分析手法表示部(第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 second window 913 . In addition, a present Example is an example of the display method, The display method is not limited to the thing of an Example. For example, the analysis method applicable to the analysis target program and the analysis method that cannot be applied may be identified and displayed using at least one of hue, lightness, and saturation.

描画形式表示部(第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 format display unit 914 has the following functions in addition to displaying a list of drawing formats. One has a function of designating a desired drawing format through a screen from names of a plurality of drawing formats displayed in a list. This designation method may be performed in the same manner as the method of designating a desired analysis technique from the above-described analysis technique list. The other has a function of reflecting the result of the drawing format suitability determination executed by the drawing format display creating unit 3322 (FIG. 15) in the drawing format list display. Also in this case, as in the case of the suitability of the analysis algorithm described above, identification display may be performed using any one of a cancellation line, shading, hue, brightness, and saturation. Furthermore, the display priority order may be changed according to the suitability determination result.

本実施例で示すように、画面表示を通して、(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 screen 92 in which the analysis result of the program B22 is displayed on the display 9 by the program visualization device 100 according to the present configuration. The screen 92 includes a graph structure display unit 921, an analysis target program display unit 922, an analysis technique display unit 923, and a drawing format display unit 924.

グラフ構造表示部921には、プログラムBの分析結果として、コミュニティ構造が有向グラフ形式で表示されている。   In the graph structure display unit 921, the community structure is displayed in the directed graph format as the analysis result of the program B.

分析対象表示部922には、分析対象プログラム名「プログラムB」と、グラフ構造の特性「複雑ネットワーク」が表示されている。   The analysis target display unit 922 displays the analysis target program name “program B” and the graph structure characteristic “complex network”.

分析手法表示部923には、構造分析に用いる分析手法が示されている。プログラムBは複雑ネットワークであり、本実施例では全ての分析手法が選択可能となっている。   The analysis technique display unit 923 shows an analysis technique used for the structural analysis. Program B is a complex network, and all analysis methods can be selected in this embodiment.

描画形式表示部924には、描画形式の一覧が示されている。   The drawing format display unit 924 shows a list of drawing formats.

これらの表示部921〜924の表示の形態及び機能は、図1の表示部911〜914と同様であるので、説明を省略する。   The display forms and functions of these display units 921 to 924 are the same as those of the display units 911 to 914 in FIG.

なお、図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 Patent Document 4 introduced in the prior art of this specification.

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.
請求項1において、
前記プログラム解析手段は、種類の異なる複数のプログラムをそれぞれ解析してグラフ構造を作成する複数のプログラム解析アルゴリズムを有し、これらのプログラム解析アルゴリズムがそれぞれ部品化されて、各プログラム解析アルゴリズム単位で変更可能に構成され、
前記構造分析手段は、前記グラフ構造に対してそれぞれ異なる分析手法を実行するための複数の構造分析アルゴリズムを有し、これらの構造分析アルゴリズムがそれぞれ部品化されて、各構造分析アルゴリズム単位で変更可能に構成され、
前記画像描画手段は、それぞれ異なる描画形式を実行するための複数の描画アルゴリズムを有し、これらの描画アルゴリズムがそれぞれ部品化されて、各描画アルゴリズム単位で変更可能に構成されているプログラム可視化装置。
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において、
前記画像描画手段は、それぞれ異なる描画形式を実行するための複数の描画アルゴリズムを有し、
前記プログラム可視化装置は、前記構造分析手段の分析手法の特性から、前記描画アルゴリズムの各々で実行される描画形式が適用可能であるか否か判別する描画形式適否判別手段を備え、
前記画像表示装置は、一つの画面に、前記第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.
請求項1ないし3のいずれか1項において、
前記構造分析手段は、分析対象プログラムのグラフ構造の特性を分類するグラフ特性判定手段を備えるプログラム可視化装置。
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.
請求項4において、
前記画像描画手段は、前記グラフ特性判定手段の判定結果に基づいて、画面上の前記構造分析手段の分析手法の名称表示の形態を変えるプログラム可視化装置。
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.
請求項5において、
前記プログラム解析手段は、分析対象プログラムの種類に応じて、変数をノードとし、変数間の代入関係をリンクとして前記プログラムを解析するか、或いは関数をノードとし、関数間の呼び出し関係をリンクとして前記プログラムを解析するプログラム可視化装置。
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.
請求項5において、
前記グラフ特性判定手段は、前記分析対象プログラムが複雑ネットワーク特性を有しているか否かを、前記グラフ構造に基づいて判定する複雑ネットワーク判定手段よりなるプログラム可視化装置。
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.
請求項1において、
前記構造分析手段は、少なくとも一つの構造分析アルゴリズムを備えるとともに、前記構造分析アルゴリズムが適用可能なネットワーク特性を記憶する構造分析アルゴリズム属性記憶手段を有するプログラム可視化装置。
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.
請求項9において、
前記画像描画手段は、それぞれ異なる描画形式を実行するための複数の描画アルゴリズムを有し、
前記プログラム可視化装置は、前記構造分析手段の分析手法の特性から、前記描画アルゴリズムの各々で実行される描画形式が適用可能であるか否か判別する描画形式適否判別手段を備え、
前記画像表示装置は、一つの画面に、前記第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.
請求項9又は10において、
前記画像表示装置は、前記第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.
請求項9又は10において、
前記画像表示装置は、前記第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.
請求項9ないし12のいずれか1項において、
前記画像表示装置は、前記第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.
請求項9ないし13のいずれか1項において、
前記画像表示装置は、前記第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.
請求項10において、
前記画像表示装置は、前記第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.
請求項10において、
前記画像表示装置は、前記第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.
請求項9ないし16のいずれか1項において、
前記画像表示装置は、前記第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.
JP2013520391A 2011-06-17 2011-06-17 Program visualization device Expired - Fee Related JP5658364B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
CSNG200900408004; 池口 徹: '複雑ネットワーク理論とその応用' システム/制御/情報 第53巻,第8号, 20090815, p.343-351, システム制御情報学会 *
JPN6011037314; 池口 徹: '複雑ネットワーク理論とその応用' システム/制御/情報 第53巻,第8号, 20090815, p.343-351, システム制御情報学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
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&amp;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