JPH10289102A - Data flow analyzer for program - Google Patents

Data flow analyzer for program

Info

Publication number
JPH10289102A
JPH10289102A JP10032612A JP3261298A JPH10289102A JP H10289102 A JPH10289102 A JP H10289102A JP 10032612 A JP10032612 A JP 10032612A JP 3261298 A JP3261298 A JP 3261298A JP H10289102 A JPH10289102 A JP H10289102A
Authority
JP
Japan
Prior art keywords
definition
procedure
data flow
information
variable
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.)
Granted
Application number
JP10032612A
Other languages
Japanese (ja)
Other versions
JP4055197B2 (en
Inventor
Yumiko Matsui
優美子 松井
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP03261298A priority Critical patent/JP4055197B2/en
Publication of JPH10289102A publication Critical patent/JPH10289102A/en
Application granted granted Critical
Publication of JP4055197B2 publication Critical patent/JP4055197B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten the time needed for analysis of a data flow by extracting the information on definition/reference of a variable. SOLUTION: The functions of a syntax analysis means 26, a procedure decision means 21, a definition/reference information extraction means 23 and a data flow analysis means 24 are stored in a storage medium 31 as programs. These programs can be read and executed by a computer 30. The information on definition/reference of a variable is previously stored in a definition/reference information store file 22 by a prescribed procedure. This procedure includes a compiled and executable program, for example. If the prescribed information is acquired while the information on definition/reference of a variable is extracted for every line of a read source program, the said information is extracted by making reference to the file 22. Such a job is executed for the entire read source program.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、一般的なプログラ
ム言語で記述されたソースプログラムについてデバッ
グ、テスト、保守などを行う際に利用されるプログラム
のデータフロー解析装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data flow analyzer for a program used when debugging, testing, maintaining, etc., a source program described in a general programming language.

【0002】[0002]

【従来の技術】プログラムのデータフロー解析は、ソー
スプログラムを作成した後のデバッグやテストにおいて
行われるだけでなく、既に作成されているプログラムを
必要に応じて修正し又は改造するといった保守作業を行
う際にも行われる。保守作業を行う場合にデータフロー
解析を行うことによって、特に大規模なプログラムの修
正等を行う際に、必要な情報を効率よく抽出することが
できる。かかるデータフロー解析を行う場合に、そのソ
ースプログラムに含まれる各変数の参照について、その
値の定義箇所を求め、また、変数の代入についてその値
の参照箇所を求める定義/参照解析を行うことが必要で
ある。
2. Description of the Related Art Data flow analysis of a program is performed not only in debugging and testing after creating a source program but also in performing maintenance work such as modifying or remodeling an already created program as necessary. It is sometimes done. By performing data flow analysis when performing maintenance work, it is possible to efficiently extract necessary information, particularly when modifying a large-scale program. When performing such a data flow analysis, it is possible to perform a definition / reference analysis for determining a value definition location for each variable reference included in the source program and for determining a value reference location for variable substitution. is necessary.

【0003】[0003]

【発明が解決しようとする課題】ところで、例えばC言
語を始めとする多くの高級言語では、種々の手続きが標
準ライブラリ内に用意され、プログラムの中からこの手
続きを指定することによって、その手続きを呼び出すこ
とができる。また、ある手続きの中で、また別の手続き
を呼び出すことも可能である。しかし、手続きの中でま
た別の手続きを呼び出すと、そこでもデータの受渡しが
行われるので、データ依存関係を正確に調べようとする
と、手続きとして呼び出された手続きの内部についても
データ依存関係をすべて調べなければならない。このよ
うな作業は、特に規模の大きいプログラムの場合におい
ては、実行に長時間を要する。
By the way, in many high-level languages such as the C language, various procedures are prepared in a standard library, and by specifying this procedure from a program, the procedure is executed. Can be called. It is also possible to call another procedure within one procedure. However, if another procedure is called in the procedure, data is passed there as well, so if you try to find out exactly the data dependencies, all the data dependencies inside the procedure called as the procedure will be changed. I have to find out. Such a task takes a long time to execute, especially in the case of a large-scale program.

【0004】また、標準ライブラリに含まれる手続き
が、コンパイルされたあとの実行可能プログラムとして
提供されている場合には、そのソースプログラムの内容
が存在せず、このような手続きを利用して作成したプロ
グラムについてはデータ依存関係を調べることができな
かった。したがって、従来のデータフロー解析装置で
は、このようなプログラムについてはデータフロー解析
を行うことができなかった。
When a procedure included in the standard library is provided as an executable program after being compiled, the contents of the source program do not exist and the procedure is created by using such a procedure. Data dependencies could not be determined for the program. Therefore, the conventional data flow analysis device cannot perform data flow analysis on such a program.

【0005】本発明は上記事情に基づいてなされたもの
であり、ソースプログラムの内容を見ることができない
手続きを含むプログラムについてもデータフロー解析を
可能とし、また、ソースプログラムを見ることができる
手続きを含むプログラムであってもそのデータフロー解
析に要する時間を短縮することができるプログラムのデ
ータフロー解析装置を提供することを目的とする。
The present invention has been made based on the above circumstances, and enables data flow analysis even for a program including a procedure in which the contents of a source program cannot be viewed. It is an object of the present invention to provide a data flow analyzer for a program which can reduce the time required for data flow analysis even for a program including the program.

【0006】[0006]

【課題を解決するための手段】上記の課題を解決するた
めに、本発明は、特定のプログラミング言語で記述され
た所定の手続きにおいて規定された変数の定義/参照に
関する情報を格納した定義/参照情報格納手段と、前記
特定のプログラミング言語で記述されたソースプログラ
ムを読み込んで、前記所定の手続きがどこに含まれてい
るかを判断する手続き判断手段と、前記手続き判断手段
の判断結果に基づいて、前記所定の手続きについては前
記定義/参照情報格納手段から変数の定義/参照に関す
る情報を読み出し、前記所定の手続き以外の手続きにつ
いては前記ソースプログラムの内容から変数の定義/参
照に関する情報を抽出する定義/参照情報抽出手段と、
前記変数の定義/参照に関する情報に基づいてデータフ
ロー解析を行うデータフロー解析手段と、を有すること
を特徴とする。
In order to solve the above-mentioned problems, the present invention provides a definition / reference storing information on the definition / reference of a variable defined in a predetermined procedure described in a specific programming language. Information storage means, a procedure determining means for reading a source program written in the specific programming language, and determining where the predetermined procedure is included; and For a predetermined procedure, information relating to the definition / reference of a variable is read from the definition / reference information storage means, and for a procedure other than the predetermined procedure, information relating to the definition / reference of the variable is extracted from the contents of the source program. Reference information extracting means;
Data flow analysis means for performing a data flow analysis based on information relating to the definition / reference of the variable.

【0007】本発明は、上記より、定義/参照情報格納
手段に、予め所定の手続きについて変数の定義/参照に
関する情報を格納する。この場合、所定の手続きには、
例えばコンパイルされた後の実行可能なプログラムも含
まれる。そして、読み込まれたソースプログラムについ
て一行ずつ変数の定義/参照に関する情報の抽出を行っ
ている際に、この所定の手続きに至ったら、定義/参照
情報格納手段を参照して変数の定義/参照に関する情報
を抽出する。このような作業を読み込んだソースプログ
ラム全体について行う。従来は、ソースプログラムがな
くて変数の定義/参照に関する情報を抽出することがで
きなかった手続きについても、かかる情報の抽出が可能
となり、その後のデータフロー解析を行うことが可能と
なる。尚、本明細書では、「手続き」といった場合に、
C言語における関数なども含むものとする。
According to the present invention, as described above, information relating to the definition / reference of variables for a predetermined procedure is stored in the definition / reference information storage means in advance. In this case, the prescribed procedures include:
For example, an executable program after being compiled is also included. Then, when the information regarding the definition / reference of the variable is extracted line by line in the read source program, when the predetermined procedure is reached, the definition / reference information storage means is referred to for the definition / reference of the variable. Extract information. This operation is performed for the entire source program. Conventionally, even for a procedure that could not extract information on definition / reference of a variable without a source program, such information can be extracted, and subsequent data flow analysis can be performed. In this specification, in the case of "procedure",
It also includes functions in the C language.

【0008】[0008]

【発明の実施の形態】以下に図面を参照して、本発明の
一実施形態について説明する。図1は、C言語で記述さ
れたあるソースプログラムの一例を示している。同図に
おいて、4行目に「read」という手続きが記述され
ている。この手続きは、これとは別の手続きである「s
canf」を7行目において呼び出している。ここで、
「scanf」はC言語の標準ライブラリに含まれる手
続きであり、”%d”は、定義する変数iを10進数の
整数型とする旨の指定である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows an example of a certain source program described in the C language. In the figure, the procedure “read” is described on the fourth line. This procedure is a separate procedure, "s
"canf" is called in the seventh line. here,
“Scanf” is a procedure included in the standard library of the C language, and “% d” specifies that the variable i to be defined is a decimal integer type.

【0009】従来のデータフロー解析装置は、単一手続
き内のデータフロー解析を行っているので、図1のプロ
グラムのように、一つの手続きの中に別の手続きを呼び
出す呼び出し文が含まれているソースプログラムについ
て、従来の装置でデータフロー解析を行わせようとして
も、できない場合があった。このように単一手続きの内
部に手続きの呼び出しがある場合には、「手続き間解
析」を行うことが一般的であり、これを行うと、単一手
続き内の解析に比べて実行速度が大幅に遅くなる。ここ
で、データフロー解析とは、どの定義がどこで参照され
るかを解析することをいう。
Since the conventional data flow analyzer performs data flow analysis in a single procedure, one procedure contains a call statement for calling another procedure as shown in the program of FIG. In some cases, it is not possible to perform data flow analysis on a source program using a conventional device. When a procedure is called within a single procedure, it is common to perform “interprocedural analysis”, which results in a much faster execution speed than analysis within a single procedure. Slow down. Here, data flow analysis refers to analyzing which definition is referred to where.

【0010】通常の単一手続き内のデータフロー解析で
は、4行目の手続き「read」にはデータ依存関係が
存在しないことになるが、実際には8行目の「i」が、
7行目に記述された手続き「scanf」を介してiに
データ依存している。これは、C言語の標準ライブラリ
に含まれる「scanf」の仕様によって、第2引数i
が定義されるからである。尚、「データ依存」とは、次
のことをいう。文S1、文S2、変数vがあった場合
に、 文S1において変数vが定義されること 文S2において変数vが参照されること 文S1から文S2への実行可能なパスであって、変数
vを再定義しないパスが存在すること という3つの条件を満足している場合に、文S2は、変
数vに関して文S1にデータ依存するという。
In a normal data flow analysis within a single procedure, there is no data dependency in the procedure “read” on the fourth line, but “i” on the eighth line is actually
Data is dependent on i through the procedure “scanf” described in the seventh line. This is based on the specification of “scanf” included in the C language standard library, and the second argument i
Is defined. The “data dependence” means the following. When there is a statement S1, a statement S2, and a variable v, the variable v is defined in the statement S1. The variable v is referred to in the statement S2. An executable path from the statement S1 to the statement S2. The statement S2 is said to be data-dependent on the statement S1 with respect to the variable v if the three conditions that there is a path that does not redefine v exist.

【0011】本実施形態にかかるデータフロー解析装置
では、通常の単一手続き内のデータフロー解析と、特定
の手続きに関する手続き情報を利用することにより、単
一手続き内のデータフロー解析よりも適用可能な条件を
広げ、しかも手続き間解析よりも実行速度が早く、かつ
正確な解析を行うことを可能とする。上述のように、図
1に示すソースプログラムにおいて7行目の「scan
f」は、標準ライブラリに含まれる手続きであるため、
その仕様は予め明らかになっている。すなわち、図1の
例では、iという変数が定義されていることが予め分か
っている。そこで、この「scanf」のように、仕様
が明らかになっている標準ライブラリに含まれる各手続
きについて、その仕様から、データ依存関係を予め調べ
ておいて、その結果だけを記述した定義/参照情報格納
ファイルを用意する。例えば「scanf」の場合であ
れば、引数であるiは、ここで定義される旨の情報を定
義/参照情報格納ファイル内に格納しておく。
The data flow analysis apparatus according to this embodiment is more applicable than the data flow analysis in a single procedure by utilizing the data flow analysis in a normal single procedure and the procedure information on a specific procedure. Conditions can be expanded, and the execution speed is faster than the interprocedural analysis, and accurate analysis can be performed. As described above, in the source program shown in FIG.
Since "f" is a procedure included in the standard library,
Its specifications are already known. That is, in the example of FIG. 1, it is known in advance that the variable i is defined. Therefore, for each procedure included in the standard library whose specification is clarified, such as “scanf”, the data dependency is checked in advance from the specification, and the definition / reference information describing only the result is described. Prepare a storage file. For example, in the case of “scanf”, the argument “i” stores information to be defined here in the definition / reference information storage file.

【0012】また、これとは異なる手続き、例えば後に
続く引数を画面に表示する旨の手続きである「prin
tf」という手続きであれば、この引数がこの手続きに
よって「参照」される。したがって、「printf」
という手続きについては、引数がここで参照される旨の
情報を定義/参照情報格納ファイル内に格納しておく。
このように、定義/参照情報格納ファイルには、多くの
手続きについて、予めそれぞれの手続きと、それらが変
数の「定義」なのか「参照」なのかを結び付けたテーブ
ルを用意しておく。このなかで、ある手続きの呼び出し
があったならば、このテーブルにその手続きが含まれて
いるかどうかを判断する。呼び出された手続きがこのテ
ーブルにあり、かつ、それが変数の「定義」であるの
か、「参照」であるのかという情報を抽出する。
A procedure different from this, for example, "prin", which is a procedure for displaying the following argument on the screen, is described.
If the procedure is “tf”, this argument is “referenced” by this procedure. Therefore, "printf"
Is stored in the definition / reference information storage file.
As described above, in the definition / reference information storage file, for many procedures, a table is prepared in advance in which each procedure is associated with whether the variable is “definition” or “reference”. In this case, if a certain procedure is called, it is determined whether or not the procedure is included in this table. Extracts information on whether the called procedure is in this table and is a "definition" or a "reference" of a variable.

【0013】定義/参照情報格納ファイルに格納する手
続きは、C言語の標準ライブラリに含まれるものには限
られない。例えば、ある工場で、よく利用される特殊な
手続きを作り、その工場で一般的に使われているような
ものとなっている場合でも、上記の標準ライブラリに含
まれる手続きの場合と同じような定義/参照情報格納フ
ァイルを作成しておけば、同じように正確で効率的な解
析を行うことができる。
The procedures stored in the definition / reference information storage file are not limited to those included in the C language standard library. For example, if a particular factory creates a special procedure that is often used, and the procedure is generally used in the factory, the same procedure as the procedure included in the above standard library is used. If a definition / reference information storage file is created, an accurate and efficient analysis can be performed in the same manner.

【0014】次に、図2及び図3を参照して、本実施形
態のプログラムのデータフロー解析装置の動作について
説明する。図2は、本実施形態のプログラムのデータフ
ロー解析装置のブロック図、図3は、その動作を示すフ
ローチャートである。尚、図2に示した構文解析手段2
6、手続き判断手段21、定義/参照情報抽出手段2
3、データフロー解析手段24は、これらの機能をプロ
グラムとして記憶媒体31に記録したものをコンピュー
タ30が読み取ることによって、コンピュータ30上で
実現することができる。したがって、この記憶媒体31
を例えばフレキシブルディスクやCD−ROMといった
取り外し可能なものとすれば、この記憶媒体31を配付
することによって、この記憶媒体31を読み取って実行
できる任意のコンピュータ上で本実施形態のプログラム
のデータフロー解析装置を実現することができる。この
とき、定義/参照情報格納ファイル22の内容も、これ
らのプログラムと共に記憶媒体31に記憶させておいて
もよい。
Next, the operation of the program data flow analyzer of this embodiment will be described with reference to FIGS. FIG. 2 is a block diagram of the program data flow analyzer of the present embodiment, and FIG. 3 is a flowchart showing the operation. Note that the parsing means 2 shown in FIG.
6. Procedure determination means 21, definition / reference information extraction means 2
3. The data flow analysis means 24 can be realized on the computer 30 by reading the functions recorded in the storage medium 31 as programs on the storage medium 31. Therefore, this storage medium 31
Is assumed to be removable such as a flexible disk or a CD-ROM, by distributing the storage medium 31, the data flow analysis of the program of the present embodiment can be performed on any computer capable of reading and executing the storage medium 31. The device can be realized. At this time, the contents of the definition / reference information storage file 22 may be stored in the storage medium 31 together with these programs.

【0015】図3のフローチャートにおいて、まずS1
0で、構文解析手段26が、入力されるソースプログラ
ム20を元に構文解析木を生成し、生成された構文解析
木上から一文を読み込む。S11で、手続き判断手段2
1はこの文の中に定義/参照情報格納ファイル22に格
納された特定の手続きが含まれているか否かを判断し、
含まれていれば、S12において、定義/参照情報抽出
手段23が定義/参照情報格納ファイル22を参照し、
S13において変数が「定義」であるか、「参照」であ
るかという情報を引き出す。一方、S11において、こ
の文に定義/参照情報格納ファイル22に格納された手
続きが含まれていないと判断したときは、S14におい
て、定義/参照情報抽出手段23は変数が「定義」され
ているか「参照」されているか、あるいはどちらでもな
いかを判断する。S15において、手続き判断手段21
は更にプログラムの文が続いているかどうかを判断し、
更に続いていれば、S10に戻り、次の文の情報を読み
込んで上記と同様の動作を実行する。また、S15にお
いて、最後の文に至ったと判断されると、S16におい
て、データフロー解析手段24がデータフローの解析を
実行する。その結果は解析結果25として出力される。
In the flowchart of FIG. 3, first, S1
At 0, the parsing means 26 generates a parse tree based on the input source program 20, and reads one sentence from the generated parse tree. At S11, the procedure determining means 2
1 judges whether or not this statement includes a specific procedure stored in the definition / reference information storage file 22;
If it is included, the definition / reference information extraction means 23 refers to the definition / reference information storage file 22 in S12,
In step S13, information as to whether the variable is “definition” or “reference” is extracted. On the other hand, when it is determined in S11 that the sentence does not include the procedure stored in the definition / reference information storage file 22, in S14, the definition / reference information extraction unit 23 determines whether the variable is “defined”. Determine if it is "referenced" or neither. In S15, the procedure determining means 21
Determines whether the statement of the program continues,
If it continues, the process returns to S10, where the information of the next sentence is read and the same operation as described above is executed. Further, when it is determined in S15 that the last sentence has been reached, in S16, the data flow analysis means 24 executes data flow analysis. The result is output as the analysis result 25.

【0016】上記のように、ソースプログラム内に、従
来のデータフロー解析装置ではデータ依存を調べること
ができなかった手続きが含まれていても、予め定義/参
照情報格納ファイル22に必要な情報を記述しておき、
必要に応じてこれを参照することによって、従来は調べ
ることができなかった手続きや、実際に調べようとする
と実行に長時間を要するような手続きについてもデータ
依存関係を短時間で調べることが可能となる。
As described above, even if the source program includes a procedure whose data dependency cannot be checked by the conventional data flow analyzer, necessary information is stored in the definition / reference information storage file 22 in advance. Write it down,
By referring to this as needed, it is possible to quickly examine data dependencies even for procedures that could not be examined before, or procedures that take a long time to execute when actually trying to examine them. Becomes

【0017】尚、本発明は上記実施形態には限定され
ず、その要旨の範囲内で種々の変更が可能である。例え
ば上記では、C言語の標準ライブラリに含まれる「sc
anf」や「printf」といった典型的な手続きに
ついて説明したが、本発明は、C言語におけるこれ以外
の手続きもしくは、ユーザーが作成したライブラリに含
まれる手続きについても適用することができ、更に、C
言語以外の多くの高級言語についても、同様に適用する
ことができる。
The present invention is not limited to the above embodiment, and various changes can be made within the scope of the invention. For example, in the above, “sc” included in the standard library of C language
Although typical procedures such as "anf" and "printf" have been described, the present invention can be applied to other procedures in the C language or procedures included in a library created by a user.
The same applies to many high-level languages other than languages.

【0018】[0018]

【発明の効果】以上説明したように、本発明によれば、
ソースプログラムの内容を見ることができない手続きを
含むプログラムについてもデータフロー解析を可能と
し、また、ソースプログラムを見ることができる手続き
を含むプログラムであってもそのデータフロー解析に要
する時間を短縮することができるプログラムのデータフ
ロー解析装置を提供することができる。
As described above, according to the present invention,
To enable data flow analysis for programs that include procedures that cannot see the contents of the source program, and to reduce the time required for data flow analysis even for programs that include procedures that allow you to view the source program. A data flow analysis device for a program capable of performing the above can be provided.

【図面の簡単な説明】[Brief description of the drawings]

【図1】C言語で記述されたあるソースプログラムの一
例を示す図である。
FIG. 1 is a diagram showing an example of a certain source program described in C language.

【図2】本発明の一実施形態のプログラムのデータフロ
ー解析装置のブロック図である。
FIG. 2 is a block diagram of a program data flow analyzer according to an embodiment of the present invention.

【図3】本発明の一実施形態のプログラムのデータフロ
ー解析装置の動作を示すフローチャートである。
FIG. 3 is a flowchart showing the operation of the program data flow analysis device of one embodiment of the present invention.

【符号の説明】[Explanation of symbols]

20 ソースプログラム 21 手続き判断手段 22 定義/参照情報格納ファイル 23 定義/参照情報抽出手段 24 データフロー解析手段 25 解析結果 26 構文解析手段 30 コンピュータ 31 記憶媒体 Reference Signs List 20 source program 21 procedure determination means 22 definition / reference information storage file 23 definition / reference information extraction means 24 data flow analysis means 25 analysis result 26 syntax analysis means 30 computer 31 storage medium

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 特定のプログラミング言語で記述された
所定の手続きにおいて規定された変数の定義/参照に関
する情報を格納した定義/参照情報格納手段と、 前記特定のプログラミング言語で記述されたソースプロ
グラムを読み込んで、前記所定の手続きが含まれている
かを判断する手続き判断手段と、 前記手続き判断手段の判断結果に基づいて、前記所定の
手続きについては前記定義/参照情報格納手段から変数
の定義/参照に関する情報を読み出し、前記所定の手続
き以外の手続きについては前記ソースプログラムの内容
から変数の定義/参照に関する情報を抽出する定義/参
照情報抽出手段と、 前記変数の定義/参照に関する情報に基づいてデータフ
ロー解析を行うデータフロー解析手段と、 を有することを特徴とするプログラムのデータフロー解
析装置。
1. A definition / reference information storing means for storing information relating to definition / reference of a variable defined in a predetermined procedure described in a specific programming language, and a source program described in the specific programming language. A procedure judging means for reading and judging whether the predetermined procedure is included, and defining / referencing a variable from the definition / reference information storage means for the predetermined procedure based on a judgment result of the procedure judging means. Definition / reference information extracting means for reading information on the definition / reference of a variable from the contents of the source program for procedures other than the predetermined procedure, and data based on the information on the definition / reference of the variable. Data flow analysis means for performing flow analysis; and a program comprising: Data flow analysis apparatus.
【請求項2】 前記所定の手続きは、実行可能なプログ
ラムを含むものである請求項1記載のデータフロー解析
装置。
2. The data flow analysis device according to claim 1, wherein the predetermined procedure includes an executable program.
【請求項3】 コンピュータを、 特定のプログラミング言語で記述された所定の手続きに
おいて規定された変数の定義/参照に関する情報を格納
した定義/参照情報格納手段と、 前記特定のプログラミング言語で記述されたソースプロ
グラムを読み込んで、前記所定の手続きが含まれている
かを判断する手続き判断手段と、 前記手続き判断手段の判断結果に基づいて、前記所定の
手続きについては前記定義/参照情報格納手段から変数
の定義/参照に関する情報を読み出し、前記所定の手続
き以外の手続きについては前記ソースプログラムの内容
から変数の定義/参照に関する情報を抽出する定義/参
照情報抽出手段と、 前記変数の定義/参照に関する情報に基づいてデータフ
ロー解析を行うデータフロー解析手段として、 機能させるためのプログラムを記録した機械読み取り可
能な記憶媒体。
3. A computer, comprising: a definition / reference information storage means for storing information relating to definition / reference of variables defined in a predetermined procedure described in a specific programming language; A procedure determining means for reading a source program and determining whether the predetermined procedure is included; and, based on a determination result of the procedure determining means, the variable of the predetermined procedure from the definition / reference information storage means. Definition / reference information extracting means for reading information relating to definition / reference and extracting information relating to definition / reference of variables from the contents of the source program for procedures other than the predetermined procedure; To function as a data flow analysis means that performs data flow analysis based on Recorded machine-readable storage medium a program.
JP03261298A 1997-02-17 1998-02-16 Device for analyzing procedures included in the program Expired - Fee Related JP4055197B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03261298A JP4055197B2 (en) 1997-02-17 1998-02-16 Device for analyzing procedures included in the program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-32452 1997-02-17
JP3245297 1997-02-17
JP03261298A JP4055197B2 (en) 1997-02-17 1998-02-16 Device for analyzing procedures included in the program

Publications (2)

Publication Number Publication Date
JPH10289102A true JPH10289102A (en) 1998-10-27
JP4055197B2 JP4055197B2 (en) 2008-03-05

Family

ID=26371029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03261298A Expired - Fee Related JP4055197B2 (en) 1997-02-17 1998-02-16 Device for analyzing procedures included in the program

Country Status (1)

Country Link
JP (1) JP4055197B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1195996A (en) * 1997-09-24 1999-04-09 Nippon Steel Corp Redundant code checking device
JP2004513448A (en) * 2000-11-02 2004-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Visual anti-virus in a network control environment
US6996516B1 (en) 1998-02-05 2006-02-07 Ns Solutions Corporation Apparatus for analyzing software and method of the same
WO2010134325A1 (en) * 2009-05-20 2010-11-25 日本電気株式会社 Dynamic data flow tracking method, dynamic data flow tracking program, dynamic data flow tracking device
WO2020184129A1 (en) * 2019-03-13 2020-09-17 オムロン株式会社 Analysis device, analysis method, and analysis program

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1195996A (en) * 1997-09-24 1999-04-09 Nippon Steel Corp Redundant code checking device
US6996516B1 (en) 1998-02-05 2006-02-07 Ns Solutions Corporation Apparatus for analyzing software and method of the same
JP2004513448A (en) * 2000-11-02 2004-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Visual anti-virus in a network control environment
WO2010134325A1 (en) * 2009-05-20 2010-11-25 日本電気株式会社 Dynamic data flow tracking method, dynamic data flow tracking program, dynamic data flow tracking device
JP5459313B2 (en) * 2009-05-20 2014-04-02 日本電気株式会社 Dynamic data flow tracking method, dynamic data flow tracking program, dynamic data flow tracking device
WO2020184129A1 (en) * 2019-03-13 2020-09-17 オムロン株式会社 Analysis device, analysis method, and analysis program
JP2020149302A (en) * 2019-03-13 2020-09-17 オムロン株式会社 Analysis device, analysis method, and analysis program
EP3940482A4 (en) * 2019-03-13 2022-11-23 OMRON Corporation Analysis device, analysis method, and analysis program
US11656592B2 (en) 2019-03-13 2023-05-23 Omron Corporation Analysis device, analysis method, and recording medium

Also Published As

Publication number Publication date
JP4055197B2 (en) 2008-03-05

Similar Documents

Publication Publication Date Title
US5987250A (en) Transparent instrumentation for computer program behavior analysis
KR101247062B1 (en) Method of instrumenting code having restrictive calling conventions
US7120898B2 (en) Intermediate representation for multiple exception handling models
US6658649B1 (en) Method, apparatus and article of manufacture for debugging a user defined region of code
EP0664027B1 (en) Program modeling system
JP2000066902A (en) Multi branch correction processing system in dynamic translator
US7356813B2 (en) System and method for optimizing a program
US20040006760A1 (en) Generating and using profile information automatically in an integrated development environment
US20080229290A1 (en) Automatic Formatting of Computer Program Source Code
US20120110560A1 (en) Data type provider for a web semantic store
US20030217354A1 (en) Scope-based breakpoint selection and operation
JP2004164554A (en) Device and method for executing and monitoring program
KR20100106409A (en) Multi language software code analysis
US8776010B2 (en) Data type provider for a data store
US8302084B2 (en) Using compiler commentary for configuring an integrated development environment
US7032219B2 (en) System and method for implementing a project facility
JP2018156133A (en) Compiler program, information processing apparatus and compilation method
US8151253B2 (en) Efficient generation of executable file from program files when some of the program files expressly incorporate other program files
US6209126B1 (en) Stall detecting apparatus, stall detecting method, and medium containing stall detecting program
JPH10289102A (en) Data flow analyzer for program
US6611924B1 (en) Reducing code size of debug output statements
US20060101418A1 (en) Apparatus and method for automatic generation of event profiles in an integrated development environment
US9032372B2 (en) Runtime environment and method for non-invasive monitoring of software applications
JPH0766342B2 (en) Program test equipment
JP2000207246A (en) Debugging support device, method therefor and recording medium recorded with softwater for supporting debugging

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071023

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071202

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131221

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees