JP6506108B2 - PROGRAM DISPLAY DEVICE, PROGRAM DISPLAY SYSTEM, PROGRAM DISPLAY METHOD, AND PROGRAM DISPLAY PROGRAM - Google Patents
PROGRAM DISPLAY DEVICE, PROGRAM DISPLAY SYSTEM, PROGRAM DISPLAY METHOD, AND PROGRAM DISPLAY PROGRAM Download PDFInfo
- Publication number
- JP6506108B2 JP6506108B2 JP2015118015A JP2015118015A JP6506108B2 JP 6506108 B2 JP6506108 B2 JP 6506108B2 JP 2015118015 A JP2015118015 A JP 2015118015A JP 2015118015 A JP2015118015 A JP 2015118015A JP 6506108 B2 JP6506108 B2 JP 6506108B2
- Authority
- JP
- Japan
- Prior art keywords
- influence
- dependency
- code
- program
- node
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、プログラム表示装置、プログラム表示システム、プログラム表示方法、及びプログラム表示プログラムに関する。 The present invention relates to a program display device, a program display system, a program display method, and a program display program.
ソフトウェア開発において、プログラムのコードの変更は頻繁に行われる。コードの変更が行われる際には、コードの変更による影響が及ぶ範囲が、静的解析ツールにより出力されたコードの構造図等を用いて、人手により確認されることが多い。 In software development, program code changes occur frequently. When a code change is made, the range affected by the code change is often manually confirmed using a structure diagram of the code output by the static analysis tool.
近年、コードの特定の箇所を変更した際の、変更の他の箇所への影響の伝播の仕方を調べるプログラム分析技術が開発されてきた。 In recent years, program analysis techniques have been developed to find out how to propagate the impact of changes to other parts of the code as it is changed.
コード変更の影響伝播を分析するプログラム分析技術の一例が、特許文献1に開示されている。特許文献1のプログラム解析装置は、以下のように動作する。特許文献1のプログラム解析装置は、ソースプログラムに記述されている代入式の、代入先の変数及び代入元の変数を矩形で表示する。また、特許文献1のプログラム解析装置は、代入元の変数と代入先の変数との依存関係を、代入元を示す矩形から代入先を示す矩形に向かう矢印で表示する。上記の動作の結果、特許文献1のプログラム解析装置は、ソースプログラムにおける変数間の依存関係を、図形で表示する。
また、コード変更の影響伝播を分析するプログラム分析技術の別の一例が、特許文献2に開示されている。特許文献2の影響範囲設定装置は、以下のように動作する。まず、特許文献2の影響範囲設定装置は、プログラムのソースコードの構文解析により命令文を検索し、検索された命令文間の依存関係に従って命令文の繋がりを形成する。次に、特許文献2の影響範囲設定装置は、特定の命令文を影響の基点とする、命令文間の繋がりによる依存関係グラフを形成し、依存関係にある影響波及範囲を設定する。上記の動作の結果、特許文献2の影響範囲設定装置は、特定の命令文を影響の基点とする、ソースコードにおける影響波及範囲を、図形で表示する。
Further, another example of a program analysis technique for analyzing the influence propagation of code change is disclosed in
しかしながら、特許文献1や特許文献2のプログラム分析技術では、図形で表示された各箇所と、ソースコードの特定箇所との間の対応関係が表示されない。したがって、特許文献1や特許文献2のプログラム分析技術では、ユーザはソースコードの特定箇所と図形の各箇所との間の対応関係を別途確認しなければならないという問題点がある。
(発明の目的)
本発明の主たる目的は、プログラムのコードの特定の箇所を変更した際の、変更の他の箇所への影響の伝播の仕方を、コードにおける影響が及ぶ箇所に対応付けて表示することができるプログラム表示装置、プログラム表示システム、プログラム表示方法、及びプログラム表示プログラムを提供することにある。
However, in the program analysis techniques of
(Object of the Invention)
The main object of the present invention is to provide a program capable of displaying the manner of propagation of the effect of the change to another portion of the code of the program in association with the affected portion of the code. A display device, a program display system, a program display method, and a program display program.
本発明のプログラム表示装置は、プログラムのコードにおいて変更がなされた際に変更による影響を受ける変数である影響箇所の間の、依存関係の情報を含む影響情報に基づいて、影響箇所を示すノード、及び依存関係の依存先に対応するノードから依存関係の依存元に対応するノードへの有向辺である影響線を含む、グラフを、コードに重ね合わせた描画データを出力するグラフ生成手段を備えることを特徴とする。 The program display device of the present invention is a node indicating an influence point based on influence information including dependency information between influence points which are variables influenced by the change when a change is made in a code of the program, And a graph generation unit for outputting drawing data obtained by superimposing a graph on a code, including an influence line which is a directed side from a node corresponding to a dependency dependency destination to a node corresponding to a dependency dependency dependency source It is characterized by
本発明のプログラム表示システムは、プログラムのコードにおいて変更がなされた際に変更による影響を受ける変数である影響箇所の間の、依存関係の情報を含む影響情報を生成するプログラム分析装置と、影響情報に基づいて、影響箇所を示すノード、及び依存関係の依存先に対応するノードから依存関係の依存元に対応するノードへの有向辺である影響線を含む、グラフを、コードに重ね合わせた描画データ出力するグラフ生成手段を含むプログラム表示装置と、描画データを描画する描画装置と、を備えることを特徴とする。 The program display system according to the present invention is a program analysis apparatus that generates influence information including dependency information between influence points that are variables that are affected by a change when a change is made in a program code, and an influence information Based on the graph, including a node that indicates the point of influence and an influence line that is a directed edge from the node corresponding to the dependency dependency destination to the node corresponding to the dependency dependency source, superimposed on the code A program display apparatus including graph generation means for outputting drawing data and a drawing apparatus for drawing drawing data are provided.
本発明のプログラム表示方法は、プログラムのコードにおいて変更がなされた際に変更による影響を受ける変数である影響箇所の間の、依存関係の情報を含む影響情報に基づいて、影響箇所を示すノード、及び依存関係の依存先に対応するノードから依存関係の依存元に対応するノードへの有向辺である影響線を含む、グラフを、コードに重ね合わせた描画データを出力することを特徴とする。 The program display method of the present invention is a node indicating an influence point based on influence information including dependency information between influence points which are variables influenced by the change when a change is made in a code of the program, And a graph including an influence line which is a directed side from a node corresponding to the dependency dependency destination to a node corresponding to the dependency dependency source, and outputting drawing data superimposed on the code. .
本発明のプログラム表示プログラムは、プログラムのコードにおいて変更がなされた際に変更による影響を受ける変数である影響箇所の間の、依存関係の情報を含む影響情報に基づいて、影響箇所を示すノード、及び依存関係の依存先に対応するノードから依存関係の依存元に対応するノードへの有向辺である影響線を含む、グラフを、コードに重ね合わせた描画データを出力するグラフ生成処理をコンピュータに実行させることを特徴とする。 The program display program of the present invention is a node indicating an influence point based on influence information including dependency information between influence points which are variables influenced by the change when a change is made in a code of the program, And a graph generation process for outputting drawing data obtained by superimposing a graph on a code, including an influence line which is a directed edge from a node corresponding to a dependency dependency destination to a node corresponding to a dependency dependency dependency source It is characterized in that
本発明によれば、プログラムのコードの特定の箇所を変更した際の、変更の他の箇所への影響の伝播の仕方を、コードにおける影響が及ぶ箇所に対応付けて表示することができるという効果がある。 According to the present invention, the method of propagating the influence of the change to another part of the code when changing the specific part of the program code can be displayed in association with the part where the influence is exerted in the code. There is.
以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In all the drawings, the same components are denoted by the same reference numerals, and the description thereof will be appropriately omitted.
まず、以下の説明で用いられる用語について説明する。 First, terms used in the following description will be described.
プログラムのコードの「変更」とは、変数や値を新たにコードに追加したり、コードに記述されていた変数や値を削除したり、またはコードに記述されていた変数や値を別の変数や値に変更することである。なお、変数には、関数名(関数の戻り値を示す)や、関数の引数が含まれてもよい。 "Changing" a program's code means adding variables or values to the code, deleting variables or values described in the code, or changing variables or values described in the code into another variable Or to change the value. The variable may include a function name (indicating the return value of the function) or an argument of the function.
変更の「影響」とは、コードの変更により、コード中の変数や関数の値や関数の動作が変化することである。 The "effect" of a change is that the code change changes the value of a variable or function in the code or the operation of the function.
「影響箇所」とは、コードにおける特定の変更による影響が及ぶ、コード中の変数や関数名の記述箇所のことである。 An "influenced area" is a description of a variable or function name in code that is affected by a specific change in the code.
「影響情報」とは、影響箇所の座標、影響箇所間の依存関係の情報を含む情報である。影響情報は、関数間の依存関係の情報や、コードを更に含んでもよい。 The “influence information” is information including coordinates of the affected point and information on the dependency between the affected points. The influence information may further include information on dependencies between functions and code.
影響箇所の「座標」とは、影響箇所のコード上の位置を特定することができる任意の情報である。影響箇所の座標は、例えば、影響箇所のコード上の開始行及び開始桁を含み、影響箇所のコード上の終了行及び終了桁を更に含んでもよい。 The "coordinates" of the influential part is any information that can specify the position of the influential part on the code. The coordinates of the influential point may include, for example, a start line and a start digit on the influential point code, and may further include an end line and an end digit on the influential point code.
影響箇所間の「依存関係」とは、コードの特定の変更の直接の影響が及ぶ影響箇所(以下、「影響の基点」という)から、特定の変更の影響が及ぶ末端の影響箇所までの一連の影響箇所に含まれる、直接の影響を及ぼす影響箇所の対の全体である。すなわち、依存関係は、影響の基点をルートとするデータフローグラフと等価である。なお、データフローグラフについては、広く知られているので、ここでは詳述しない。 The “dependency” between affected points is a series from the affected point where the direct influence of a specific change of code (hereinafter referred to as “base point of influence”) to the end affected point where the specific change affects. The whole of the direct influence influence point pairs included in the influence points of the That is, the dependency is equivalent to a data flow graph rooted at the origin of the influence. The data flow graph is widely known and will not be described in detail here.
「影響伝播グラフ」(以下、単に「グラフ」という)とは、プログラムのコードに重ね合わされて表示される、変更の影響の伝わり方を示す図形である。グラフは、「ノード」と「影響線」とを含む。 The “effect propagation graph” (hereinafter simply referred to as “graph”) is a graphic which is superimposed on the program code and displayed to show how the change is transmitted. The graph includes "nodes" and "impact lines".
「ノード」とは、各影響箇所を示す図形である。なお、「関数ノード」とは、1つの関数定義に含まれる影響箇所が縮約された(複数の要素が1つの要素にまとめられた)図形である。また、関数ノードを含むグラフを「縮約グラフ」という。 A "node" is a figure which shows each influence location. The “function node” is a figure in which an influence location included in one function definition is contracted (a plurality of elements are combined into one element). Also, a graph including function nodes is called a "reduction graph".
「影響線」とは、依存関係の依存先に対応するノードから依存関係の依存元に対応するノードへの有向辺である。なお、縮約グラフでは、依存先に対応するノードと依存関係の依存元に対応するノードとを共有する複数の影響線は、縮約されてもよい。 “Influence line” is a directed edge from a node corresponding to a dependency dependency destination to a node corresponding to a dependency dependency source. In the reduction graph, a plurality of influence lines sharing the node corresponding to the dependency destination and the node corresponding to the dependency source of the dependency may be contracted.
以上が、用語についての説明である。 The above is the explanation of the terms.
本実施形態における構成について説明する。 The configuration in the present embodiment will be described.
図1は、本発明の本実施形態のプログラム表示装置100の構成の一例を示すブロック図である。
FIG. 1 is a block diagram showing an example of the configuration of a
まず、プログラム表示装置100を含むプログラム表示システム500の構成について説明する。プログラム表示システム500は、プログラム分析装置200と、プログラム表示装置100と、描画装置300とを含む。
First, the configuration of a
プログラム分析装置200は、プログラムのコードを分析して、コードにおいて特定の変更がなされた際の影響情報を出力する。
The
プログラム表示装置100は、プログラム分析装置200により出力された影響情報に基づいて、特定の変更がなされた際の、コードにおける影響の伝わり方を示す描画データを生成し、生成した描画データとコードの描画データとを重ね合わせた描画データを出力する。
The
描画装置300は、プログラム表示装置100により出力された描画データを画面、用紙等に描画する。描画装置300は、例えば、ディスプレイ、プリンタである。
The
プログラム表示装置100は、グラフ生成手段110を含む。
The
グラフ生成手段110は、入力した影響情報に基づいて、グラフの描画データを生成して、グラフの描画データとコードの描画データとを重ね合わせた描画データを出力する。なお、グラフ生成手段110は、縮約グラフの描画データを生成してもよい。縮約グラフでは、関数ノードの部分は、コードに重ね合わされない。
The
次に、本実施形態における動作について説明する。 Next, the operation in the present embodiment will be described.
図2は、本発明の本実施形態のプログラム表示装置100の動作を示すフローチャートである。具体的には、図2には、グラフ生成手段110の動作が示される。なお、図2に示されるフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
FIG. 2 is a flow chart showing the operation of the
まず、グラフ生成手段110は、プログラムのコードと、コードにおける特定の変更による影響情報とを入力する(ステップS101)。
First, the
次に、グラフ生成手段110は、影響情報から影響箇所の座標を抽出する(ステップS102)。
Next, the
次に、グラフ生成手段110は、影響情報から影響箇所間の依存関係を抽出する(ステップS103)。
Next, the
次に、グラフ生成手段110は、抽出した影響箇所の座標と影響箇所間の依存関係から、影響線の描画データを生成する(ステップS104)。
Next, the
次に、グラフ生成手段110は、抽出した影響箇所の座標から、ノードの描画データを生成する(ステップS105)。
Next, the
次に、グラフ生成手段110は、生成した影響線とノードの描画データとをコードの描画データに重ね合わせた描画データを生成する(ステップS106)。
Next, the
次に、グラフ生成手段110は、重ね合わせられた描画データをディスプレイやプリンタ等へ出力する(ステップS107)。
Next, the
次に、本実施形態における処理の具体例について説明する。 Next, a specific example of the process in the present embodiment will be described.
図3は、本発明の本実施形態のプログラム表示装置100の処理対象のプログラムのコードの具体例を説明するための図である。具体的には、図3には、C言語による関数“main”の定義が示される。なお、図3には、左端にコード上の行番号が、上端にコード上の桁番号が示される。
FIG. 3 is a diagram for describing a specific example of a code of a program to be processed of the
図3では、2行目において、変数“data1”が定義され、初期値として“5”が代入されている。4行目において、変数“data2”(11〜15桁目)が定義され、初期値として変数“data1”(19〜23桁目)の値(参照)が代入されている。6行目において、変数“data3”(11〜15桁目)が定義され、初期値として変数“data2”(19〜23桁目)の値(参照)の演算結果が代入されている。8行目において、変数“data3”(14〜18桁目)の値が参照されている。
In FIG. 3, in the second line, the variable “data1” is defined, and “5” is substituted as an initial value. On the fourth line, a variable "
図4は、本発明の本実施形態のプログラム表示装置100の影響情報に含まれる影響箇所の座標の具体例を説明するための図である。具体的には、図4には、図3に示されたコードにおいて、変数“data1”の変更がなされた際の影響箇所の座標の具体例が示される。なお、図4には、“ID”列には影響箇所の識別番号が、“変数名”列には影響箇所に対応する変数名が示される。影響箇所の変数名は、説明の都合上記載されているが、以下の処理において必要な要素ではない。また、図4では、影響箇所の座標は、表形式で示されているが、表に記載の内容を記述可能な任意の形式(XML(Extensible Markup Language)形式、CSV(Comma-separated Values)形式等)で表現されてよい。
FIG. 4 is a diagram for describing a specific example of the coordinates of the affected point included in the influence information of the
図4では、“開始行”列、“終了行”列、“開始桁”列、“終了桁”列にはそれぞれ、影響箇所の座標の、開始位置の行成分、終了位置の行成分、開始位置の桁成分、終了位置の桁成分が示される。1行目において、識別番号“1”、変数名“data1”、座標(“4”,“4”,“19”,“23”)である影響箇所が記述されている。同様に、2〜5行目のそれぞれに、各々1つの影響箇所が記述されている。 In FIG. 4, in the "start line" column, the "end line" column, the "start column" column, and the "end column" column, the row component of the start position, the row component of the end position, the start of the coordinates of the affected location The digit component of the position and the digit component of the end position are shown. In the first line, influence points having an identification number “1”, a variable name “data1”, and coordinates (“4”, “4”, “19”, “23”) are described. Similarly, one influence point is described in each of the second to fifth lines.
図5は、本発明の本実施形態のプログラム表示装置100の影響情報に含まれる影響箇所間の依存関係の具体例を説明するための図である。具体的には、図5には、図3に示されたコードにおいて、変数“data1”の変更がなされた際の影響箇所間の依存関係の具体例が示される。なお、図5において、四角形の枠は1つの影響箇所を、四角形の枠間の矢印は影響箇所間の依存関係を示す。矢印の向きは影響が伝播する向きである。また、四角形の枠内の上側には影響箇所の識別番号が、四角形の枠内の下側には影響箇所に対応する変数名が示される。影響箇所の変数名は、説明の都合上記載されているが、以下の処理において必要な要素ではない。また、図5では、影響箇所の依存関係は、グラフ形式で示されているが、グラフに記載の内容を記述可能な任意の形式(XML形式等)で表現されてよい。
FIG. 5 is a diagram for describing a specific example of the dependency relationship between the influential parts included in the influential information of the
図5では、識別番号“2”、変数名“data2”である影響箇所が、ID“1”、変数名“data1”である影響箇所に依存することが記述されている。同様に、更に3つの依存関係が記述されており、変更の影響は、ID“1”、変数“data1”である影響箇所から、ID“2”、変数“data2”である影響箇所、ID“3”、変数“data2”である影響箇所、ID“4”、変数“data3”である影響箇所、ID“5”、変数“data3”である影響箇所の順で直列に伝播することが記述されている。
In FIG. 5, it is described that the influential part having the identification number "2" and the variable name "
なお、依存関係は、例えば、コードにおける、代入式の代入元の影響箇所を依存先とし、代入式の代入先の影響箇所を依存元とする関係を含む。また、依存関係は、例えば、コードにおける、影響箇所の参照を依存元とし、影響箇所の定義における影響箇所、若しくは代入先が影響箇所である代入式の代入先のうち、影響箇所の参照の直前の1つを依存先とする関係を含む。 Note that the dependency relation includes, for example, a relationship in which the influence location of the assignment source of the assignment expression in the code is the dependency destination, and the influence location of the assignment destination of the assignment expression is the dependency source. Further, the dependency relation is, for example, the reference of the influence location in the code as the dependency source, and immediately before the reference of the influence location among the assignment destinations in the definition of the impact location or the assignment location where the assignment destination is the impact location. Contains a relationship that depends on one of.
図6は、本発明の本実施形態のプログラム表示装置100の影響の伝わり方を示す描画データの具体例を説明するための図である。具体的には、図6には、図3に示されたコードにおいて、4行目の変数“data1”の変更がなされた際の影響の伝わり方を示す描画データの具体例が示される。なお、図6において、四角形の枠はノードを示し、矢印は影響線を示している。
FIG. 6 is a diagram for describing a specific example of drawing data indicating how to receive the influence of the
図6では、ノードA3がノードA1に依存することが、ノードA1、ノードA3、及びノードA1からノードA3への影響線A2を含む、グラフにより示される。また、ノードA1が変数“data1”に対応し、ノードA3が変数“data2”に対応することが、グラフとコードとが重ね合わせられて表示されることにより示される。同様に、更に3つの依存関係が示されており、変更の影響は、ノードA1(変数“data1”)から、ノードA3(変数“data2”)、ノードA5(変数“data2”)、ノードA7(変数“data3”)、ノードA9(変数“data3”)の順で直列に伝播することが示されている。
In FIG. 6, it is shown graphically that node A3 depends on node A1, including node A1, node A3, and influence line A2 from node A1 to node A3. The node A1 corresponds to the variable “data1”, and the node A3 corresponds to the variable “data2”, as indicated by superimposing and displaying the graph and the code. Similarly, three more dependency relationships are shown, and the influence of the change is obtained from node A1 (variable “data1”), node A3 (variable “data2”), node A5 (variable “data2”), node A7 (variable It is shown that the variable “
図2から図6を用いて、グラフ生成手段110の処理の具体例について説明する。
A specific example of the process of the
まず、グラフ生成手段110は、図3のコードの4行目の変数“data1”が変更された場合の影響情報を入力する(ステップS101)。影響情報には、図3のコード、図5の影響箇所間の依存関係、図4の影響箇所の座標が含まれる。
First, the
次に、グラフ生成手段110は、影響情報から影響箇所の座標を抽出する(ステップS102)。本具体例では、座標は、図4に示された、各変数の開始行、終了行、開始桁、終了桁を含む。
Next, the
次に、グラフ生成手段110は、影響情報から影響箇所間の依存関係を抽出する(ステップS103)。図5に示された影響箇所の依存関係から、変数“data1”(ID:1)は、変数“data2”(ID:2)に影響を及ぼすことが分かるため、グラフ生成手段110は、変数“data1”(ID:1)から変数“data2”(ID:2)への依存関係を抽出する。同様に、グラフ生成手段110は、変数“data2”(ID:2)から変数“data2”(ID:3)、変数“data2”(ID:3)から変数“data3”(ID:4)、変数“data3”(ID:4)から変数“data3”(ID:5)への依存関係を抽出する。
Next, the
次に、グラフ生成手段110は、ステップS102で抽出した各変数の座標と、ステップS103で抽出した影響箇所間の依存関係から、影響線の描画データを生成する(ステップS104)。グラフ生成手段110は、例えば、変数“data1”(ID:1)と変数“data2”(ID:2)との間の依存関係から、ノードA1からノードA3への影響線A2の描画データを生成する。同様に、グラフ生成手段110は、変数“data2”(ID:2)と変数“data2”(ID:3)との間の依存関係から影響線A4を、変数“data2”(ID:3)と変数“data3”(ID:4)との間の依存関係から影響線A6を、変数“data3”(ID:4)と変数“data3”(ID:5)との間の依存関係から影響線A8の描画データを生成する。なお、グラフ生成手段110は、ステップS102で抽出した変数“data1”(ID:1)と変数“data2”(ID:2)の座標から、影響線の始点をコードの4行目の19〜23桁目に、影響線の終点を4行目の11〜15桁目に設定する。同様に、グラフ生成手段110は、影響線A4、影響線A6、影響線A8の始点及び終点を設定する。
Next, the
次に、グラフ生成手段110は、抽出した影響箇所の座標から、ノードの描画データを生成する(ステップS105)。例えば、変数“data1”(ID:1)について、グラフ生成手段110は、ノードA1の描画データを生成する。なお、グラフ生成手段110は、ノードA1の四角形の枠がコードの4行目の19〜23桁目を囲むような大きさに設定する。同様に、グラフ生成手段110は、影響箇所である変数“data2”(ID:2)についてノードA3の、影響箇所である変数“data2”(ID:3)についてノードA5の、影響箇所である変数“data3”(ID:4)についてノードA7の、影響箇所である変数“data3”(ID:5)についてノードA9の描画データを生成する。また、グラフ生成手段110は、ノードA1の描画位置に変数“data1”(ID:1)の座標を設定する。同様に、グラフ生成手段110は、ノードA3の描画位置に変数“data2”(ID:2)の座標を、ノードA5の描画位置に変数“data2”(ID:3)の座標を、ノードA7の描画位置に変数“data3”(ID:4)の座標を、ノードA9の描画位置に変数“data3”(ID:5)の座標を設定する。
Next, the
次に、グラフ生成手段110は、ステップS104で生成した影響線の描画データと、ステップS105で生成したノードの描画データとを、ステップS101で入力した影響情報に含まれるコードの描画データと重ね合わせた描画データを生成する(ステップS106)。なお、コードが複数の部分に分割され、コードの各部分の描画位置が描画の基点に対するオフセットを有する場合には、グラフ生成手段110は、オフセットに合わせてノードの描画位置を移動し、移動したノードの描画位置に合わせて、影響線の起点及び終点を決定することにより、グラフとコードとを重ね合わせる。
Next, the
次に、グラフ生成手段110は、ステップS106で生成した、重ね合わせられた描画データをディスプレイやプリンタ等へ出力する(ステップS107)。なお、グラフ生成手段110により出力される描画データによる画像イメージは、図6に示される。
Next, the
次に、影響箇所が複数の関数間にまたがる場合の本実施形態における処理の具体例について説明する。 Next, a specific example of the processing in the present embodiment in the case where the affected part extends between a plurality of functions will be described.
図7は、本発明の本実施形態のプログラム表示装置100の処理対象のプログラムのコードの別の具体例を説明するための図である。具体的には、図7には、C言語による6つの関数の定義が、3つのファイルに分かれて示される。図7(a)は、関数“main”及び関数“functionA”が定義されたファイル“Sample1.c”を示す。図7(b)は、関数“functionB”及び関数“functionD”が定義されたファイル“Sample2.c”を示す。図7(c)は、関数“functionC”及び関数“functionE”が定義されたファイル“Sample3.c”を示す。なお、図7には、左端にコード上の行番号が示される。
FIG. 7 is a view for explaining another specific example of the code of the program to be processed of the
図8は、本発明の本実施形態のプログラム表示装置100の影響の伝わり方を示す描画データの具体例を説明するための図である。具体的には、図8には、図7に示されたコードにおいて、ファイル“Sample1.c”の6行目の変数“alpha”の変更がなされた際の影響の伝わり方を示す描画データの具体例が示される。
FIG. 8 is a diagram for describing a specific example of drawing data indicating how to convey the influence of the
図8において、プログラム表示装置100は、コードを、1つの関数定義に含まれる部分と関数定義に含まれない部分とに分割した描画データを出力している。また、図8において、プログラム表示装置100は、分割したコードの各部分に、コードを含むファイル名を表示した描画データを出力している。なお、プログラム表示装置100は、コードがファイル毎に分割された描画データを出力してもよい。また、プログラム表示装置100は、分割したコードの各部分を、移動したり、拡大したり、縮小したり、他の部分の上に重ねて表示したり、他の部分の下に一部を隠して表示したりした描画データを出力してもよい。また、プログラム表示装置100は、影響箇所を含まないコードの部分の表示を省略してもよい。また、影響の伝播順序を分かり易くするために、プログラム表示装置100は、各影響線に、影響が伝播される順序を示す数字を重ね合わせて表示してもよい。また、プログラム表示装置100は、特定のコードの部分に含まれるコードの代わりに、関数名又は関数外である旨を表示し、特定のコードの部分に閉じた部分グラフの代わりに、1つのノード(関数ノード)を表示した描画データを出力してもよい。
In FIG. 8, the
なお、依存関係は、例えば、コードにおける、代入式の代入元の影響箇所を依存先とし、代入式の代入先の影響箇所を依存元とする関係を含む。また、依存関係は、例えば、コードにおける、影響箇所の参照を依存元とし、影響箇所の定義における影響箇所、若しくは代入先が影響箇所である代入式の代入先のうち、影響箇所の参照の直前の1つを依存先とする関係を含む。また、依存関係は、例えば、コードにおける、関数名の参照における引数である影響箇所を依存先とし、引数の定義における引数を依存元とする関係を含む。また、依存関係は、例えば、前記コードにおける、関数の戻り値の設定における影響箇所の参照を依存先とし、関数の定義における関数の関数名を依存元とする関係を含む。また、依存関係は、例えば、コードにおける、影響箇所である関数名の参照を依存先とし、関数名の参照における戻り値の設定先を依存元とする関係を含む。また、依存関係は、例えば、前記コードにおける、関数の定義における、影響箇所である関数名を依存先とし、関数名の参照を依存元とする関係を含む。ただし、関数名は変数に含まれるものとする。 Note that the dependency relation includes, for example, a relationship in which the influence location of the assignment source of the assignment expression in the code is the dependency destination, and the influence location of the assignment destination of the assignment expression is the dependency source. Further, the dependency relation is, for example, the reference of the influence location in the code as the dependency source, and immediately before the reference of the influence location among the assignment destinations in the definition of the impact location or the assignment location where the assignment destination is the impact location. Contains a relationship that depends on one of. Further, the dependency relation includes, for example, a relation in which the influence location which is an argument in the reference of the function name in the code is a dependency destination, and the argument in an argument definition is a dependency source. Further, the dependency relation includes, for example, a relation having a reference of an influence point in setting of a return value of the function in the code as a dependency destination and a dependency of a function name in the definition of the function as a dependency source. Further, the dependency relation includes, for example, a relation in which the reference of the function name which is the influence point in the code is a dependency destination, and the setting destination of the return value in the reference of the function name is a dependency source. Further, the dependency relation includes, for example, a relation in which the function name which is an influence point in the definition of the function in the code is a dependency destination and the reference of the function name is a dependency source. However, the function name is included in the variable.
図9は、本発明の本実施形態のプログラム表示装置100の、グラフが関数ノードを含む場合の影響の伝わり方を示す描画データの具体例を説明するための図である。具体的には、図9には、図8に示された影響の伝わり方を示す描画データにおいて、ノードがすべて関数ノードに縮約された場合の影響の伝わり方を示す描画データの具体例が示される。
FIG. 9 is a diagram for explaining a specific example of drawing data indicating how to transmit the influence when the graph includes a function node, in the
図9において、関数ノードB1には、ファイル名“Sample1.c”と関数名“main”が示される。関数ノードB2には、ファイル名“Sample1.c”と関数名“functionA”が示される。関数ノードB3には、ファイル名“Sample2.c”と関数名“functionB”が示される。関数ノードB4には、ファイル名“Sample3.c”と関数名“functionC”が示される。関数ノードB5には、ファイル名“Sample2.c”と関数名“functionD”が示される。
In FIG. 9, the file name "
また、図9において、影響線B6は、呼出し元である関数ノードB1から呼出し先である関数ノードB2へ影響が及ぶことを示す。影響線B7は、呼出し元である関数ノードB2から呼出し先である関数ノードB3へ影響が及ぶことを示す。影響線B8は、呼出し元である関数ノードB3から呼出し先である関数ノードB4へ影響が及ぶことを示す。影響線B9は、呼出し先である関数ノードB4から呼出し元である関数ノードB3へ影響が及ぶことを示す。影響線B10は、呼出し先である関数ノードB3から呼出し元である関数ノードB2へ影響が及ぶことを示す。影響線B11は、呼出し元である関数ノードB2から呼出し先である関数ノードB5へ影響が及ぶことを示す。 Further, in FIG. 9, an influence line B6 indicates that the function node B1 that is the caller is affected to the function node B2 that is the call destination. An influence line B7 indicates that the function node B2 that is the caller is affected to the function node B3 that is the call destination. An influence line B8 indicates that the function node B3 that is the caller is affected to the function node B4 that is the call destination. An influence line B9 indicates that the function node B4 which is the call destination is affected to the function node B3 which is the call source. An influence line B10 indicates that the function node B3 that is the call destination influences the function node B2 that is the call source. An influence line B11 indicates that the function node B2 that is the caller is affected to the function node B5 that is the call destination.
具体的には、プログラム表示装置100は、以下のように関数ノードを表示する描画データを出力してもよい。
Specifically, the
図10は、本発明の本実施形態のプログラム表示装置100の、グラフが関数ノードを含む場合の動作を示すフローチャートである。具体的には、図10には、グラフ生成手段110の関数ノードのみを表示する描画データを出力する際の動作が示される。なお、図10に示されるフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
FIG. 10 is a flowchart showing the operation of the
まず、グラフ生成手段110は、プログラムのコードにおける特定の変更による影響情報を入力する(ステップS201)。
First, the
次に、グラフ生成手段110は、影響情報から影響箇所間の依存関係を抽出する(ステップS202)。
Next, the
次に、グラフ生成手段110は、依存関係に基づいて、特定の変更の影響が関数呼出しの引数へ及ぶ場合に、呼び出し元の関数ノード、呼び出し先の関数ノード、及び呼出元の関数ノードから呼び出し先の関数ノードへ向かう影響線の描画データを生成する(ステップS203)。
Next, based on the dependency, the
次に、グラフ生成手段110は、影響情報から影響先である関数における影響箇所間の依存関係を抽出する(ステップS204)。
Next, the
次に、グラフ生成手段110は、関数の戻り値に影響が及ぶならば、呼出し先の関数ノードから呼出し元の関数ノードへ向かう影響線の描画データを生成する(ステップS205)。 Next, if influence is exerted on the return value of the function, the graph generation means 110 generates drawing data of an influence line from the function node of the call destination to the function node of the call source (step S205).
次に、グラフ生成手段110は、関数ノードと影響線の描画データをディスプレイやプリンタ等へ出力する(ステップS206)。
Next, the
次に、図7のコードを用いて、グラフが関数ノードを含む場合のグラフ生成手段110の処理の具体例について説明する。
Next, a specific example of processing of the
まず、グラフ生成手段110は、図7の“Sample1.c”の5行目の定数“100”が変更された際の影響情報を入力する(ステップS201)。
First, the
次に、グラフ生成手段110は、影響情報から影響箇所間の依存関係を抽出する(ステップS202)。
Next, the
次に、グラフ生成手段110は、依存関係に基づいて、変更の影響が、ファイル“Sample1.c”の6行目の関数呼出し“functionA”の引数“alpha”へ及ぶため、呼び出し元の関数ノードB1、呼び出し先の関数ノードB2、及び関数ノードB1から関数ノードB2へ向かう影響線B6の描画データを生成する(ステップS203)。 Next, the graph generation means 110 determines that the influence of the change extends to the argument “alpha” of the function call “functionA” of the sixth line of the file “Sample1.c” based on the dependency, so that the function node of the calling source The rendering data of B1, the function node B2 of the call destination, and the influence line B6 directed from the function node B1 to the function node B2 are generated (step S203).
次に、グラフ生成手段110は、影響情報から影響先である関数“functionA”の定義における影響箇所間の依存関係を抽出する(ステップS204)。具体的には、影響先である関数“functionA”の定義における引数“a”からのデータフローが繋がっている他の影響箇所への依存関係が抽出される。
Next, the
次に、関数“functionA”の定義における引数“a”を起点とし、同様にして、影響が及ぶ先の座標と影響箇所の依存関係に基づいて、関数ノードB3、関数ノードB4、影響線B7、及び影響線B8を生成する(ステップS202〜S204)。 Next, starting from the argument “a” in the definition of the function “function A”, similarly, based on the dependency relationship between the affected coordinates and the affected point, function node B3, function node B4, influence line B7, And an influence line B8 is generated (steps S202 to S204).
更に、ファイル“Sample3.c”の2行目“return (g * 100)”において変数“g”へ影響が及ぶため、グラフ生成手段110は、呼出し先関数のノードB4から呼出し元関数のノードB3へ向かう影響線B9を生成する。同様に、グラフ生成手段110は、影響線B10を生成する(ステップS205)。
Furthermore, since the variable “g” is affected in the second line “return (g * 100)” of the file “Sample3.c”, the
更に、データフローをたどることにより、グラフ生成手段110は、関数ノードB5と影響線B11を生成する(ステップS202〜S204)。
Further, by tracing the data flow, the
次に、グラフ生成手段110は、生成した関数ノードB1〜B5と影響線B6〜B11の描画データをディスプレイやプリンタ等へ通知出力する(ステップS206)。
Next, the
上記の動作の結果、グラフ生成手段110は、図9に示される、グラフが関数ノードを含む描画データを出力する。
As a result of the above operation, the
以上説明したように、本実施形態のプログラム表示装置100は、コードの特定の変更の影響の伝わり方を示すグラフを、コード上に重ね合わせて表示する描画データを出力する。従って、本実施形態のプログラム表示装置100では、プログラムのコードの特定の箇所を変更した際の、変更の他の箇所への影響の伝播の仕方を、コードにおける影響が及ぶ箇所に対応付けて表示することができるという効果がある。
As described above, the
すなわち、本実施形態のプログラム表示装置100によれば、コードにおける変更の影響の伝わり方が一つの画像で確認できるので、ユーザはコードの変更の影響を把握すること容易である。
That is, according to the
また、本実施形態のプログラム表示装置100によれば、コードと変更の影響の伝わり方を示す図形との対応関係を調べる手間不要であるため、ユーザはコードの変更の影響を把握する時間を短縮することができる。
Further, according to the
また、グラフが関数ノードを含む場合には、本実施形態のプログラム表示装置100は、特定の関数における、コードや、コードの変更の影響の詳細を隠ぺいした描画データを生成する。従って、本実施形態のプログラム表示装置100によれば、ユーザは、特定の関数に注目することにより、コードの変更の影響の詳細を容易に把握できる。
Further, when the graph includes a function node, the
なお、上述した本発明の各実施形態のプログラム表示装置は、専用の装置によって実現してもよいが、コンピュータ(情報処理装置)によっても実現可能である。この場合、係るコンピュータは、メモリ(不図示)に格納されたソフトウェア・プログラムをCPU(Central_Processing_Unit、不図示)に読み出し、読み出したソフトウェア・プログラムをCPUにおいて実行することにより、実行結果を、例えば、ユーザ・インタフェースに出力する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図1に示したプログラム表示装置100の各手段の機能を実現可能な記述がなされていればよい。ただし、プログラム表示装置100の各手段には、適宜ハードウェアを含むことも想定される。そして、このような場合、係るソフトウェア・プログラム(コンピュータ・プログラム)は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。
The program display device of each of the embodiments of the present invention described above may be realized by a dedicated device, but can also be realized by a computer (information processing device). In this case, the computer reads out the software program stored in the memory (not shown) to a CPU (Central_Processing_Unit, not shown), and executes the read software program on the CPU, thereby, for example, the user・ Output to interface. In the case of each of the embodiments described above, the software program may be described so as to realize the functions of the respective units of the
以上、本発明を、上述した各実施形態およびその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態およびその変形例に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。 The present invention has been described above exemplarily by the above-described embodiments and the modifications thereof. However, the technical scope of the present invention is not limited to the scope described in each of the above-described embodiments and the modifications thereof. It will be apparent to those skilled in the art that various changes or modifications can be made to such embodiments. In such a case, new embodiments added with such changes or improvements can also be included in the technical scope of the present invention. And this is clear from the matter described in the claim.
本発明は、ソフトウェア開発の用途において、利用できる。 The invention can be used in software development applications.
100 プログラム表示装置
110 グラフ生成手段
200 プログラム分析装置
300 描画装置
500 プログラム表示システム
A1、A3、A5、A7、A9 ノード
A2、A4、A6、A8 影響線
B1、B2、B3、B4、B5 ノード
B6、B7、B8、B9、B10、B11 影響線
100
Claims (9)
を備えたことを特徴とするプログラム表示装置。 A node indicating the influence point, based on influence information including dependency information between influence points which are variables influenced by the change when a change is made in a program code, and a dependency of the dependence relation A graph generation unit for outputting drawing data in which a graph including an influence line which is a directed side from the node corresponding to the node to the node corresponding to the dependency source of the dependency relation is output. A program display device characterized by
ことを特徴とする請求項1に記載のプログラム表示装置。 The program display device according to claim 1, wherein the influence information includes coordinates indicating a position of the influence point in the code.
ことを特徴とする請求項1又は請求項2に記載のプログラム表示装置。 The graph generation means outputs the graph associated with a file name and a function name in which each of the nodes includes the affected part corresponding to each of the nodes. The program display device according to 2.
ことを特徴とする請求項1乃至3のいずれか1項に記載のプログラム表示装置。 The graph generation means is characterized in that the node corresponding to the affected part included in a specific file and a specific function outputs the graph contracted to one of the nodes. The program display device according to any one of the above.
代入式の代入元の前記影響箇所を前記依存先とし、当該代入式の代入先の前記影響箇所を前記依存元とする関係、又は
前記影響箇所の参照を前記依存元とし、当該影響箇所の定義における当該影響箇所、若しくは代入先が当該影響箇所である代入式の代入先のうち、当該影響箇所の参照の直前の1つを前記依存先とする関係を含む
ことを特徴とする請求項1乃至4のいずれか1項に記載のプログラム表示装置。 The dependency is in the code:
The relationship which makes the said influence location of substitution source of substitution expression the above to be the dependence destination, and makes the said influence location of the substitution destination of the substitution expression the above to be the dependence source, or makes the reference of the above influence location the above-mentioned dependence source Among the assignees of the assignment expression where the affected point in the case or the assignment destination is the affected point, the relationship including the one immediately before the reference of the affected point among the assignees of the assignment expression is the dependency destination. The program display device according to any one of 4.
関数名の参照における引数である前記影響箇所を前記依存先とし、当該引数の定義における当該引数を前記依存元とする関係、
関数の戻り値の設定における前記影響箇所の参照を前記依存先とし、当該関数の定義における当該関数の関数名を前記依存元とする関係、
前記影響箇所である関数名の参照を前記依存先とし、当該関数名の参照における戻り値の設定先を前記依存元とする関係、又は
関数の定義における、前記影響箇所である関数名を前記依存先とし、当該関数名の参照を前記依存元とする関係を含む
ことを特徴とする請求項5に記載のプログラム表示装置。 The function name is included in the variable, and the dependency is in the code:
A relationship in which the influence location which is an argument in the reference of a function name is the dependency destination, and the argument in the definition of the argument is the dependency source;
The relationship where the reference of the influence point in setting the return value of the function is the dependency destination, and the function name of the function in the definition of the function is the dependency source
The relationship which makes the reference of the function name which is the influence location the above-mentioned dependency destination and makes the setting destination of the return value in the reference of the function name the above-mentioned dependency source, or the function name which is the above-mentioned impact location in the function definition 6. The program display apparatus according to claim 5, further comprising a relationship in which a reference to the function name is the dependency source.
前記影響情報に基づいて、前記影響箇所を示すノード、及び前記依存関係の依存先に対応する前記ノードから前記依存関係の依存元に対応する前記ノードへの有向辺である影響線を含む、グラフを、前記コードに重ね合わせた描画データ出力するグラフ生成手段を含むプログラム表示装置と、
前記描画データを描画する描画装置と、
を備えたことを特徴とするプログラム表示システム。 A program analysis apparatus that generates influence information including dependency information between influence points that are variables affected by the change when a change is made in a program code;
Based on the influence information, it includes: a node indicating the influence point; and an influence line which is a directed edge from the node corresponding to the dependence destination of the dependence relation to the node corresponding to the dependence source of the dependence relation A program display device including graph generation means for outputting drawing data in which a graph is superimposed on the code;
A drawing device for drawing the drawing data;
The program display system characterized by having.
ことを特徴とするプログラム表示方法。 A node indicating the influence point, based on influence information including dependency information between influence points which are variables influenced by the change when a change is made in a program code, and a dependency of the dependence relation A program comprising: outputting drawing data in which a graph is superimposed on the code, the graph including an influence line being a directed side from the node corresponding to the node to the node corresponding to the dependency source of the dependency relation. Display method.
をコンピュータに実行させることを特徴とするプログラム表示プログラム。 A node indicating the influence point, based on influence information including dependency information between influence points which are variables influenced by the change when a change is made in a program code, and a dependency of the dependence relation A computer generates a graph generating process for outputting drawing data in which a graph including an influence line which is a directed side from the node corresponding to the node to the node corresponding to the dependency source of the dependency relation is output to a computer The program display program characterized by making it run.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015118015A JP6506108B2 (en) | 2015-06-11 | 2015-06-11 | PROGRAM DISPLAY DEVICE, PROGRAM DISPLAY SYSTEM, PROGRAM DISPLAY METHOD, AND PROGRAM DISPLAY PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015118015A JP6506108B2 (en) | 2015-06-11 | 2015-06-11 | PROGRAM DISPLAY DEVICE, PROGRAM DISPLAY SYSTEM, PROGRAM DISPLAY METHOD, AND PROGRAM DISPLAY PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017004282A JP2017004282A (en) | 2017-01-05 |
JP6506108B2 true JP6506108B2 (en) | 2019-04-24 |
Family
ID=57754693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015118015A Active JP6506108B2 (en) | 2015-06-11 | 2015-06-11 | PROGRAM DISPLAY DEVICE, PROGRAM DISPLAY SYSTEM, PROGRAM DISPLAY METHOD, AND PROGRAM DISPLAY PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6506108B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657025B2 (en) * | 2018-10-18 | 2020-05-19 | Denso International America, Inc. | Systems and methods for dynamically identifying data arguments and instrumenting source code |
JP7183877B2 (en) * | 2019-03-13 | 2022-12-06 | オムロン株式会社 | Graph display device, graph display method, and graph display program |
JP7295599B1 (en) * | 2023-05-02 | 2023-06-21 | 敏夫 関 | A program, system, and method for comprehensively visualizing aspects of data processing executed by a computer according to source code |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08292881A (en) * | 1995-04-24 | 1996-11-05 | Nec Corp | Program influence range display device |
JP2001325100A (en) * | 2000-05-15 | 2001-11-22 | Mitsubishi Electric Corp | Program-analyzing device |
JP3966518B2 (en) * | 2004-03-12 | 2007-08-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Program analysis apparatus, analysis method thereof, and program |
JP2008282174A (en) * | 2007-05-09 | 2008-11-20 | Matsushita Electric Ind Co Ltd | Information processor, information processing method, and information processing program |
JP2009042951A (en) * | 2007-08-08 | 2009-02-26 | Hitachi Consulting Co Ltd | Data extraction method and device from program |
JP5775829B2 (en) * | 2012-01-30 | 2015-09-09 | 日立オートモティブシステムズ株式会社 | Software structure visualization program and system |
-
2015
- 2015-06-11 JP JP2015118015A patent/JP6506108B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017004282A (en) | 2017-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Izquierdo et al. | JSONDiscoverer: Visualizing the schema lurking behind JSON documents | |
JP6149165B2 (en) | Chart conversion system and method using metadata | |
US20170286068A1 (en) | Development support system | |
He et al. | A metamodel for the notation of graphical modeling languages | |
US9141596B2 (en) | System and method for processing markup language templates from partial input data | |
US10572129B2 (en) | Declarative user interface representation conversion via hierarchical templates | |
JP5665128B2 (en) | Static analysis support device, static analysis support method, and program | |
JP6506108B2 (en) | PROGRAM DISPLAY DEVICE, PROGRAM DISPLAY SYSTEM, PROGRAM DISPLAY METHOD, AND PROGRAM DISPLAY PROGRAM | |
WO2009098739A1 (en) | Program optimization device and program optimization method | |
US20150220236A1 (en) | Post-designing method and apparatus based on variant configuration in development of graphic user interface | |
JP5176478B2 (en) | Data flow analysis device, data flow analysis method, and data flow analysis program | |
CN111078217A (en) | Brain graph generation method, apparatus and computer-readable storage medium | |
JP2020060919A (en) | System migration support device, system migration support method and program | |
JP2019074966A (en) | Sql sentence extraction device, sql sentence extraction method, and program | |
CN111949312A (en) | Data module packaging method and device, computer equipment and storage medium | |
JP2009163662A (en) | Information processor, control method of information processor, and control program of information processor | |
JP7260150B2 (en) | WEBSITE DESIGN SUPPORT DEVICE, WEBSITE DESIGN SUPPORT METHOD, AND PROGRAM | |
Goto et al. | Generation of UML package diagrams based on an attribute graph grammar | |
KR20150006612A (en) | Web page making system and method for maintaining compatibility of web browser and font | |
JP6111150B2 (en) | Source code analysis apparatus, source code analysis method, and program | |
CN109656556B (en) | Method and device for generating self-adaptive page | |
KR101585048B1 (en) | Algorithm simulation system based on diagram | |
US9792197B2 (en) | Apparatus and program | |
CN113094044B (en) | Method and terminal for writing PPT UI plug-in code | |
JP4553153B2 (en) | Circuit graphic generation apparatus and generation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180515 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190123 |
|
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: 20190305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6506108 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |