JP2001216139A - メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体 - Google Patents

メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体

Info

Publication number
JP2001216139A
JP2001216139A JP2000024508A JP2000024508A JP2001216139A JP 2001216139 A JP2001216139 A JP 2001216139A JP 2000024508 A JP2000024508 A JP 2000024508A JP 2000024508 A JP2000024508 A JP 2000024508A JP 2001216139 A JP2001216139 A JP 2001216139A
Authority
JP
Japan
Prior art keywords
file
make
project
analysis
contents
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
JP2000024508A
Other languages
English (en)
Other versions
JP3603718B2 (ja
Inventor
Hideyuki Nakajima
英之 中嶋
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000024508A priority Critical patent/JP3603718B2/ja
Publication of JP2001216139A publication Critical patent/JP2001216139A/ja
Application granted granted Critical
Publication of JP3603718B2 publication Critical patent/JP3603718B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 プロジェクト内容解析のためのメイクファイ
ルの解析及びこの解析結果をモジュールで利用するため
のファイルを出力して高度なプロジェクトの内容解析を
可能にする。 【解決手段】 メイクファイル仮想実行手段3が、メイ
クファイル2の記述内容を仮想実行した結果をメイク実
行解析作業ファイル4に格納する。メイクファイル実行
内容解析手段5を起動してメイク実行解析作業ファイル
4のデータを読み込み、メイクファイル2によって、実
際にコンピュータ処理のプログラム群が生成される場合
のコマンドラインオプションの動作状況を解析してプロ
ジェクトファイル6に格納する。次に、外部処理呼出手
段7が起動し、プロジェクトファイル6の内容を読み込
み、メイクファイル2で記述されているコンピュータ用
のプログラム内のソースファイルと、呼び出されるヘッ
ダファイルの関係を一例とするような情報解析を行うモ
ジュールを呼び出す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンパイルを行う
ためのメイク実行によってプロジェクトの内容を解析す
るメイク情報解析によるプロジェクト内容解析方法及び
そのシステム並びに情報記録媒体に関する。
【0002】
【従来の技術】この種のメイク実行では、C言語やPasc
al言語などの高級プログラミング言語で記述されたソー
スプログラムを、オブジェクトプログラムに翻訳するコ
ンパイルを実行するために必要な情報処理を行ってい
る。いわゆる、データ量が異なる多種のコンピュータ用
などのプログラム群を更新して管理している。
【0003】このメイクファイルを用いた従来例とし
て、例えば、特開平5−173771号「版管理可能な
自動プログラム生成システム」公報例がある。
【0004】このようなメイク実行によるコンピュータ
を用いたプロジェクト処理は、コンピュータシステムに
関する業務を計画し、その処理手順を規定して、計画を
遂行する上で必要となる定常業務を処理している。この
ようなプロジェクトの内容を解析するシステムでは、そ
の解析結果として極めて基本的な情報を得ているのが現
状である。
【0005】このように、従来のプロジェクト処理では
基本的な情報のみを得ているのでプロジェクト及びこの
プロジェクトを構成するファイルを直接解析するため解
析対象の言語を特定している。また、ディレクトリ名や
ファイル名などで解析対象を決定しているために、解析
とは無関係な情報が含まれることがある。さらに、情報
収集対象のファイルに関してエラーチェックができない
ため、実際はエラーで実行できない情報も無関係に収集
する。
【0006】
【発明が解決しようとする課題】このように、前記メイ
クファイルを用いた従来のプロジェクト処理では、プロ
ジェクトや、このプロジェクトを構成するファイルを直
接解析している。すなわち、解析対象とする言語を特定
しているため、対象となる記述言語が限定されてしまう
不都合がある。
【0007】また、従来のプロジェクト処理では、ディ
レクトリ名やファイル名などで解析対象を決定している
ために、解析とは無関係な情報まで含まれてしまい、解
析対象範囲を特定し難いという不都合がある。
【0008】さらに、従来のプロジェクト処理では、情
報収集対象のファイルに関してエラーチェックができな
いため、実際はエラーで実行できない情報も無関係に収
集してしまうという不都合がある。
【0009】このような不都合から、従来のメイクファ
イルを用いた従来のプロジェクト処理は、高度なプロジ
ェクト処理ができ難いという欠点がある。
【0010】本発明は、このような課題を解決するもの
であり、プロジェクト内容の解析のためのメイクファイ
ルの解析、及び、このメイクファイルの解析の結果を、
モジュールで利用するためのファイル形式で出力できる
ようになり、この結果、高度なプロジェクト内容解析が
可能になるメイク情報解析によるプロジェクト内容解析
方法及びそのシステム並びに情報記録媒体の提供を目的
とする。
【0011】
【課題を解決するための手段】上記課題を達成するため
に、本発明のメイク情報解析によるプロジェクト内容解
析方法は、コンパイルを行うためのメイク実行によって
プロジェクトの内容を解析するメイク情報解析によるプ
ロジェクト内容解析方法において、コマンドによって処
理を起動してコマンドオプションを判断し、次に、メイ
クファイル又はメイクファイルに類似するファイルを読
み込んで実動作情報をメイクチェックによって収集し、
この収集した実動作情報の内容を順次解析してメイク実
行時のデータを読み込み、この読み込んだデータからメ
イク実行時の内容を解析し、この解析した内容の解析情
報をもとにモジュールを呼び出して起動する。
【0012】また、本発明のメイク情報解析によるプロ
ジェクト内容解析方法は、コンパイルを行うためのメイ
ク実行によってプロジェクトの内容を解析するメイク情
報解析によるプロジェクト内容解析方法において、コマ
ンドによって処理を起動してコマンドオプションを判断
し、次に、メイクファイル又はメイクファイルに類似す
るファイルを読み込んで実動作情報をメイクチェックに
よって収集し、この収集した実動作情報の内容を順次解
析してメイク実行時のデータを読み込み、この読み込ん
だデータからメイク実行時の内容を解析し、次に、前記
保持しているコマンドオプションの内容のデータによっ
てプロジェクト内容解析を起動し、さらに、プロジェク
トファイル内容を読み込み、このプロジェクトに含まれ
る構成内容を解析し、このプロジェクト構成内容解析に
よる情報結果を構成情報ファイルに格納して出力する。
【0013】また、前記メイク実行時の内容解析として
は、メイクで指定するコンパイルオプション列の解析、
メイク実行のためのソースファイル名情報の解析、メイ
ク実行のためのライブラリ名情報の解析、生成されるモ
ジュール名情報の解析が含まれる。
【0014】また、前記プロジェクトに含まれる構成内
容の解析としては、少なくとも、プロジェクトに含まれ
るソースファイルとプロジェクトとの関連の解析、プロ
ジェクトに含まれるヘッダファイルとプロジェクトとの
関連の解析、プロジェクトに含まれるライブラリファイ
ルとプロジェクトとの関連の解析、プロジェクトに含ま
れる出力オブジェクトファイルとプロジェクトとの関連
の解析、ソースファイルとこのソースファイルから呼び
出されるヘッダファイルとの関連の解析、プロジェクト
に存在する関数とこの関数が所属するファイル又は呼び
出しファイルとの関連の解析、プロジェクトに存在する
変数及びこの変数が所属するファイル又は呼び出しファ
イルとの関連の解析があり、かつ、前記解析による情報
において重複するデータを削除することもできる。
【0015】本発明のメイク情報解析によるプロジェク
ト内容解析システムは、コンパイルを行うためのメイク
実行によってプロジェクトの内容を解析するプロジェク
ト内容解析システムにおいて、プログラム群の更新及び
生成情報を記述したメイクファイルと、メイクファイル
に記述された内容が実行される場合の動作を仮想実行す
るメイクファイル仮想実行手段と、メイクファイル仮想
実行手段での仮想実行によって得られた実動作状況を一
時的に記録するメイク実行解析作業ファイルと、メイク
実行解析作業ファイルに格納された結果に基づいてメイ
クファイルの実動作内容を解析するメイクファイル実行
内容解析手段と、メイクファイル実行内容解析手段にお
ける解析内容を情報管理ファイルとして格納するプロジ
ェクトファイルと、プロジェクトファイルの内容を読み
出してプロジェクト内のソースを含む情報解析を行う対
象となる外部処理手段を呼び出すための外部処理呼出手
段とを備える構成としてある。
【0016】また、本発明のメイク情報解析によるプロ
ジェクト内容解析システムは、コンパイルを行うための
メイク実行によってプロジェクトの内容を解析するプロ
ジェクト内容解析システムにおいて、プログラム群の更
新及び生成情報を記述したメイクファイルと、メイクフ
ァイルに記述された内容が実行される場合の動作を仮想
実行するメイクファイル仮想実行手段と、メイクファイ
ル仮想実行手段での仮想実行によって得られた実動作状
況を一時的に記録するメイク実行解析作業ファイルと、
メイク実行解析作業ファイルに格納された結果に基づい
てメイクファイルの実動作内容を解析するメイクファイ
ル実行内容解析手段と、メイクファイル実行内容解析手
段における解析内容を情報管理ファイルとして格納する
プロジェクトファイルと、プロジェクトファイルの内容
を読み出すプロジェクト内容読込手段と、プロジェクト
内容読込手段からのプロジェクト内のソースを含む情報
解析を行う構成情報解析手段と、構成情報解析手段で得
られた解析情報をファイル形式で出力する構成情報出力
手段とを備える構成としてある。
【0017】また、本発明の情報記録媒体は、コマンド
によって処理を起動してコマンドオプションを判断し、
次に、メイクファイル又はメイクファイルに類似するフ
ァイルを読み込んで実動作情報をメイクチェックによっ
て収集し、この収集した実動作情報の内容を順次解析し
てメイク実行時のデータを読み込み、この読み込んだデ
ータからメイク実行時の内容を解析し、この解析した内
容の解析情報をもとにモジュールを呼び出して起動する
制御をコンピュータが実行するためのプログラムを格納
している。
【0018】本発明の情報記録媒体は、コマンドによっ
て処理を起動してコマンドオプションを判断し、次に、
メイクファイル又はメイクファイルに類似するファイル
を読み込んで実動作情報をメイクチェックによって収集
し、この収集した実動作情報の内容を順次解析してメイ
ク実行時のデータを読み込み、この読み込んだデータか
らメイク実行時の内容を解析し、次に、保持しているコ
マンドオプションの内容のデータによってプロジェクト
内容解析を起動し、さらに、プロジェクトファイル内容
を読み込み、このプロジェクトに含まれる構成内容を解
析し、このプロジェクト構成内容解析による情報結果を
構成情報ファイルに格納して出力する制御をコンピュー
タが実行するためのプログラムを格納している。
【0019】このような本発明は、プロジェクトの内容
を解析するための情報を格納するメイクファイル(又
は、類似するターゲット生成ファイル)の内容を解析し
ており、このメイクファイルの解析の結果である生成フ
ァイルに関する情報を、モジュール(外部処理手段)で
利用するために、格納して保存し、かつ、出力できるよ
うになる。
【0020】また、本発明は、メイクファイルの実行内
容を収集管理することによって、収集管理されるターゲ
ットを構成するソースファイル、ヘッダファイル及びラ
イブラリファイルなどの構成内容の解析及び情報管理が
出来るようになる。
【0021】これらの結果、高度なプロジェクト内容解
析が可能になる。
【0022】
【発明の実施の形態】次に、本発明のメイク情報解析に
よるプロジェクト内容解析方法及びそのシステム並びに
情報記録媒体の実施の形態を図面を参照して詳細に説明
する。図1は本発明の実施形態における構成を示すブロ
ック図である。
【0023】図1において、この実施形態はプログラム
制御によって動作するデータ処理装置1を有している。
【0024】なお、このデータ処理装置1は、小型汎用
コンピュータと同様のハードウェア構成である。例え
ば、データ処理装置1はCPU、ワーキング用RAM、
プログラムを格納したROM,FD,CD−ROM,M
Oドライバ、キーボード/座標入力装置、及びキーボー
ド及び座標入力装置用入出力(I/O)回路、印刷装置
接続用インターフェース回路、クロックゼネレータ、フ
ラッシュメモリ、通信制御装置(モデムなど)等を備え
た汎用的な構成であり、次に説明する機能構成を有して
いる。
【0025】このデータ処理装置1は、その機能構成と
して、コンピュータ用などのプログラム群の更新、生成
情報を記述したメイクファイル2(又は、メイクファイ
ル2に類似するファイル)と、このメイクファイル2に
記述された内容が実行される場合の動作を実現(適宜、
仮想実行と記載する)するメイクファイル仮想実行手段
3と、このメイクファイル仮想実行手段3での仮想実行
によって得られた実動作状況を一時的に記録するメイク
実行解析作業ファイル4とを備えている。
【0026】さらに、図1に示す例は、メイク実行解析
作業ファイル4に格納された結果に基づいてメイクファ
イルの実動作内容を解析するメイクファイル実行内容解
析手段5と、このメイクファイル実行内容解析手段5に
おける解析内容を情報管理ファイルとして格納し、か
つ、出力するためのプロジェクトファイル6と、このプ
ロジェクトファイル6の内容を読み出し、プロジェクト
のソースその他の情報解析を行う外部の処理(適宜、外
部処理手段と記載する)を呼び出すための外部処理呼出
手段7とを備えている。
【0027】なお、以下に説明する動作に対応するプロ
グラムは、前記したFD,CD−ROM,MOなどの情
報記録媒体に格納して提供可能である。
【0028】次に、この実施形態の動作について説明す
る。まず、図1に示す構成における要部動作について説
明する。メイクファイル仮想実行手段3は、メイクファ
イル2の記述内容が実際にメイクコマンドなどで実行す
る際に処理する内容を実行(仮想実行)し、この仮想実
行による結果をメイク実行解析作業ファイル4に格納す
る処理を行う。また、メイクファイル仮想実行手段3が
メイクファイル実行内容解析手段5を起動する。
【0029】この起動でメイクファイル実行内容解析手
段5が、メイク実行解析作業ファイル4のデータを読み
込んで、メイクファイル2によって実際にコンピュータ
が処理するプログラム群が生成される場合のコマンドラ
インオプションの動作状況を解析する。このメイクファ
イル実行内容解析手段5での解析結果をプロジェクトフ
ァイル6に格納する。さらに、メイクファイル実行内容
解析手段5が外部処理呼出手段7を起動する。
【0030】この起動で外部処理呼出手段7が、プロジ
ェクトファイル6の内容を読み込み、メイクファイル2
で記述されているコンピュータが処理するプログラムの
ソースファイル及び呼び出されるヘッダファイルの内容
の関係を一例とする情報解析を行うモジュール(外部処
理手段)を呼び出す。
【0031】次に、図1に示す構成における全体の動作
について詳細に説明する。図2は実施形態の動作の処理
手順を示すフローチャートである。図1及び図2におい
て、まず、コマンドによって処理を起動する(図2のス
テップS1)。次に、コマンドオプションの判断を行
い、その内容(データD1)を図示しないメモリなどに
格納して保持する(ステップS2)。これは外部処理へ
引き渡すオプションなどで利用する。そして、メイクフ
ァイル2(データD2)の読込みを行い(ステップS
3)、メイクファイルの実動作情報を、一例としてUN
IXシステムコマンドのメイク実行中における−nオプ
ションなどを利用してメイクチェックしながら収集する
(ステップS4)。なお、−nオプションとは、コマン
ド行を出力するだけで実行しないものである。
【0032】ステップS4で収集に失敗したり収集でき
ない場合(収集失敗・不可)は、処理を終了する。ステ
ップS4で収集完了の場合は、収集した実動作情報をメ
イク実行解析作業ファイル4として出力し(ステップS
5)、この出力したメイク実行解析作業ファイル4の内
容(データD3)を順に解析するためのメイク実行解析
作業ファイル解析処理を起動する(ステップS6)。ス
テップS6で起動したメイク実行解析作業ファイル解析
処理によって、メイク実行解析作業ファイル4から実際
にメイク実行時のデータを読み込む(ステップS7)。
この後にメイク実行時の内容を解析する(ステップS
8)。
【0033】このステップS8の処理の実行時の内容解
析としては、図2に示すような例がある。 (i) メイクで指定するコンパイルオプション列の解
析(ステップS8a) (ii) メイク実行のためのソースファイル名情報の解
析(ステップS8b) (iii)メイク実行のためのライブラリ名情報の解析
(ステップS8c) (iv) 生成されるモジュール名情報の解析(ステップ
S8d) このステップS8で解析された前記内容(i)から(i
v)は、後処理である外部解析モジュールなどでの解析
のためにプロジェクトファイル6(データD4)に格納
して保持し、かつ、出力する。
【0034】そして、得られた実行内容解析情報からメ
イク対象のプロジェクトに関するデータ収集などを行う
呼出完了の場合には、そのための外部解析モジュールを
呼び出す(ステップS9)。次に、このステップS9で
呼び出された外部解析モジュールの起動を行って、処理
が終了する(ステップS10)。また、ステップS9で
呼び出しを行わない場合や、エラーなどで呼び出しが不
能の場合(呼出不可、エラー)でも処理が終了する。
【0035】次に、他の実施形態について図面を参照し
て詳細に説明する。図3は他の実施形態の構成を示すブ
ロック図である。この図3において、前記した図1と同
様の要素には同一の符号を付した。図3に示す他の実施
形態は、プログラム制御によって動作するデータ処理装
置1Aを有している。
【0036】この図3に示すデータ処理装置1Aは、図
1に示す構成と同様のメイクファイル2、メイクファイ
ル仮想実行手段3、メイク実行解析作業ファイル4及び
メイクファイル実行内容解析手段5を有している。
【0037】さらに、図3に示すデータ処理装置1A
は、他の実施形態の構成に対応する、解析内容を情報管
理ファイルの形で格納(保存)するためのプロジェクト
ファイル16と、このプロジェクトファイル16の内容
を読み出すプロジェクト内容読込手段17と、プロジェ
クト内のソース及び、その他の情報解析を行う構成情報
解析手段18とを有し、さらに、構成情報解析手段18
で得られた解析情報をファイル形式で出力する構成情報
出力手段19と、この構成情報出力手段19が前記した
解析情報を格納し、かつ、ファイル形式で出力する構成
情報ファイル20とを有している。
【0038】次に、他の実施形態の動作について説明す
る。まず、要部の動作について説明する。図3におい
て、データ処理装置1Aのメイクファイル2、メイクフ
ァイル仮想実行手段3、メイク実行解析作業ファイル4
及びメイクファイル実行内容解析手段5は、図3の構成
と同様に動作する。すなわち、メイクファイル仮想実行
手段3は、メイクファイル2に記述されている内容が実
際にメイクコマンドなどで実行する場合に処理される内
容を実行(仮想実行)し、この仮想実行による結果をメ
イク実行解析作業ファイル4に格納する処理を行う。そ
して、メイクファイル仮想実行手段3が、メイクファイ
ル実行内容解析手段5を起動する。
【0039】この起動によってメイクファイル実行内容
解析手段5は、メイク実行解析作業ファイル4を読み込
み、メイクファイル2によって実際にコンピュータ処理
するプログラム群が生成される場合のコマンドラインオ
プションの動作状況を解析し、この解析結果をプロジェ
クトファイル16に格納する。
【0040】次に、プロジェクト内容読込手段17がプ
ロジェクトファイル16のファイル内容を読込み、さら
に構成情報解析手段18を起動する。この起動によって
構成情報解析手段18は、メイクファイル2で記述され
たプロジェクトを構成するソースファイルやヘッダファ
イル群とともに、ソースファイルに含まれる関数及び呼
び出してファイルの内容の関係などについて解析し、さ
らに構成情報出力手段19を起動する。構成情報出力手
段19は、構成情報解析手段18で解析された情報を構
成情報ファイル20に格納する。
【0041】続いて、他の実施形態の全体の動作につい
て詳細に説明する。図4及び図5は図3に示す他の実施
形態の動作の処理手順を示すフローチャートである。図
4及び図5において、ステップS21からステップS2
8までは、図2中のステップS1からステップS8まで
と同様の処理である。すなわち、コマンドによって処理
を起動する(図4のステップS21)。次に、コマンド
オプション判断を行い内容(データD1)を図示しない
メモリに保持する(ステップS22)。これは外部処理
へ引き渡すオプションなどで利用する。そして、メイク
ファイル2(データD2)の読込みを行い(ステップS
23)、メイクファイル2の実動作情報を、一例として
メイク実行中における−nオプションなどを利用してメ
イクチェックしながら収集する(ステップS24)。
【0042】なお、この収集方法は、メイクファイル2
に記述された内容を字句によって解析する方法でも良
い。具体的には、メイクファイル2の内容を先頭から順
に一字一句解析してゆき、該当情報を収集する。さらに
別の収集方法として、実行せずに情報を収集するダミー
コンパイラをメイクファイル内のコンパイラ実行の行か
ら起動させて、実行内容を解析するものがある。
【0043】ステップS24で収集に失敗したり、収集
できない場合(収集失敗・不可)は処理を終了する。ス
テップS24で収集完了の場合は、収集した実動作情報
をメイク実行解析作業ファイル4(データD3)として
出力する(ステップS25)。次に、この出力したメイ
ク実行解析作業ファイル4(データD3)の内容を順に
解析するメイク実行解析作業ファイル解析処理を起動す
る(ステップS26)。ステップS26によって起動さ
れたメイク実行解析作業ファイル解析処理によって、デ
ータD3に格納したメイク実行解析作業ファイル4から
実際にメイク実行する場合のデータを読み込んで(ステ
ップS27)、メイク実行時の内容を解析する(ステッ
プS28)。
【0044】このステップS28の処理の実行時の内容
解析は、前記した(i)から(iv)と同様である。すな
わち、図4に示すメイクで指定するコンパイルオプショ
ン列の解析(ステップS28a)、メイク実行のための
ソースファイル名情報の解析(ステップS28b)、メ
イク実行のためのライブラリ名情報の解析(ステップS
28c)、生成されるモジュール名情報の解析(ステッ
プS28d)である。
【0045】このステップS28で解析された内容
(i)から(iv)は、後処理である外部解析モジュール
などでの解析のためにプロジェクトファイル6(データ
D4)として保持し、かつ、出力する。
【0046】そして、起動時に指定されたコマンドオプ
ションなどの内容のデータD1によるプロジェクト内容
解析処理を起動する(ステップS29)。コマンドオプ
ションの内容は、プロジェクト内容解析処理における条
件などを引き渡すために利用する。ここでステップS2
9で呼び出しに失敗した場合(呼出不可、エラー)、処
理を終了する。次にプロジェクトファイル内容を読み込
んで(ステップS30)、プロジェクトに含まれる構成
内容を解析する(ステップS31)。
【0047】このステップS31の処理のプロジェクト
に含まれる構成内容の解析としては、図5に示す(a)
から(i)の例のようなものがである。 (a)プロジェクトに含まれるソースファイルとプロジ
ェクトとの関連の解析(ステップS31a) (b)プロジェクトに含まれるヘッダファイルとプロジ
ェクトとの関連の解析(ステップS31b) (c)プロジェクトに含まれるライブラリファイルとプ
ロジェクトとの関連の解析(ステップS31c) (d)プロジェクトに含まれる出力オブジェクトファイ
ルとプロジェクトとの関連の解析(ステップS31d)
【0048】(e)ソースファイルとこのソースファイ
ルから呼び出されるヘッダファイルとの関連の解析(ス
テップS31e) (f)プロジェクトに存在する関数とこの関数が所属す
るファイル又は呼び出しファイルとの関連の解析(ステ
ップS31f) (g)プロジェクトに存在する変数とこの変数が所属す
るファイル又は呼び出しファイルとの関連の解析(ステ
ップS31g) (h)その他記述した以外に考えられる関連情報の解析
(ステップS31h) (i)ステップS31aからステップS31hで解析さ
れた情報において重複するデータの削除(ステップS3
1i)
【0049】これらのプロジェクト構成内容解析が終わ
ると、解析した情報結果を、構成情報ファイル20(デ
ータD5)に格納する(ステップS32)。この構成情
報ファイル20は、リポジトリなどのデータベースに登
録するなどして活用することが出来る。
【0050】以上の実施形態をまとめると次の(1)
(2)(3)ようになる。 (1)メイクファイル2(又は、メイクファイル2に類
似するファイル)で記述されているプロジェクト生成の
ための情報を解析して、プロジェクトを構成する各種情
報を蓄積したファイルを生成する。すなわち、ディレク
トリ名やファイル名などで解析対象を決めていないた
め、解析とは無関係な情報までが含まれなくなり、解析
対象範囲を特定し易くなる。この結果、メイクファイル
2で記述されているプロジェクトの内容(各種情報の関
係)をつかむことが出来る。
【0051】これを利用することにより、一例としてプ
ロジェクトに含まれるソースファイルとヘッダファイル
の相関関係や、ソースファイルに含まれる関数との相関
関係などが解析できる。
【0052】(2)メイクファイル2で記述されるプロ
ジェクトであれば、そのプロジェクトを構成するメイク
ファイル2を解析するためプロジェクト本体の記述内容
を問わない。すなわち、プロジェクトや、このプロジェ
クトを構成するファイルを直接解析するために、解析対
象とする言語を特定する必要がなくなり、対象となる記
述言語が限定されなくなる。
【0053】また、プロジェクトを構成するファイル内
までも踏み込む解析を行う場合にも、プロジェクト内の
構成ファイルにしか存在しない情報のみを取得する部分
を別途追加するだけで実現できる。
【0054】(3)メイクファイル2に含まれる実動作
情報をチェックしながら収集を行うため、実際にすべて
のモジュールをメイク実行のための必要がなくなり、実
際のメイク実行の処理と同様なエラーチェックが出来
る。このためエラーで実行できない情報も収集しなくな
る。したがって、プロジェクトメイクのテストが簡素化
される。
【0055】
【発明の効果】以上の説明から明らかなように、本発明
によれば、プロジェクトの内容を解析するための情報を
格納するメイクファイル(又は、類似するターゲット生
成ファイル)の内容を解析しており、このメイクファイ
ルの解析の結果である生成ファイルに関する情報を、モ
ジュール(外部処理手段)で利用するために格納(保
存)して出力できるという効果が得られる。
【0056】また、本発明は、メイクファイルの実行内
容を収集管理することによって、この収集管理されるタ
ーゲットを構成するソースファイル、ヘッダファイル及
びライブラリファイルなどの構成内容の解析及び情報管
理が出来るという効果が得られる。これらの結果、本発
明は高度なプロジェクト内容解析が可能になる。
【図面の簡単な説明】
【図1】本発明のメイク情報解析によるプロジェクト内
容解析方法及びそのシステム並びに情報記録媒体の実施
形態における構成を示すブロック図である。
【図2】実施形態の動作の処理手順を示すフローチャー
トである。
【図3】他の実施形態の構成を示すブロック図である。
【図4】他の実施形態の処理手順を示すフローチャート
である。
【図5】図4に続く他の実施形態の処理手順を示すフロ
ーチャートである。
【符号の説明】 1,1A データ処理装置 2 メイクファイル 3 メイクファイル仮想実行手段 4 メイク実行解析作業ファイル 5 メイクファイル実行内容解析手段 6,16 プロジェクトファイル 7 外部処理呼出手段 17 プロジェクト内容読込手段 18 構成情報解析手段 19 構成情報出力手段 20 構成情報ファイル

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 コンパイルを行うためのメイク実行によ
    ってプロジェクトの内容を解析するメイク情報解析によ
    るプロジェクト内容解析方法において、 コマンドによって処理を起動してコマンドオプションを
    判断し、 次に、メイクファイル又はメイクファイルに類似するフ
    ァイルを読み込んで実動作情報をメイクチェックによっ
    て収集し、 この収集した実動作情報の内容を順次解析してメイク実
    行時のデータを読み込み、 この読み込んだデータからメイク実行時の内容を解析
    し、 この解析した内容の解析情報をもとにモジュールを呼び
    出して起動することを特徴とするメイク情報解析による
    プロジェクト内容解析方法。
  2. 【請求項2】 コンパイルを行うためのメイク実行によ
    ってプロジェクトの内容を解析するメイク情報解析によ
    るプロジェクト内容解析方法において、 コマンドによって処理を起動してコマンドオプションを
    判断し、 次に、メイクファイル又はメイクファイルに類似するフ
    ァイルを読み込んで実動作情報をメイクチェックによっ
    て収集し、 この収集した実動作情報の内容を順次解析してメイク実
    行時のデータを読み込み、 この読み込んだデータからメイク実行時の内容を解析
    し、 次に、前記保持しているコマンドオプションの内容のデ
    ータによってプロジェクト内容解析を起動し、 さらに、プロジェクトファイル内容を読み込み、このプ
    ロジェクトに含まれる構成内容を解析し、 このプロジェクト構成内容解析による情報結果を構成情
    報ファイルに格納して出力することを特徴とするメイク
    情報解析によるプロジェクト内容解析方法。
  3. 【請求項3】 前記メイク実行時の内容解析が、 メイクで指定するコンパイルオプション列の解析、 メイク実行のためのソースファイル名情報の解析、 メイク実行のためのライブラリ名情報の解析、 生成されるモジュール名情報の解析、 であることを特徴とする請求項1又は2記載のメイク情
    報解析によるプロジェクト内容解析方法。
  4. 【請求項4】 前記プロジェクトに含まれる構成内容の
    解析が、少なくとも、 プロジェクトに含まれるソースファイルとプロジェクト
    との関連の解析、 プロジェクトに含まれるヘッダファイルとプロジェクト
    との関連の解析、 プロジェクトに含まれるライブラリファイルとプロジェ
    クトとの関連の解析、 プロジェクトに含まれる出力オブジェクトファイルとプ
    ロジェクトとの関連の解析、 ソースファイルとこのソースファイルから呼び出される
    ヘッダファイルとの関連の解析、 プロジェクトに存在する関数とこの関数が所属するファ
    イル又は呼び出しファイルとの関連の解析、 プロジェクトに存在する変数及びこの変数が所属するフ
    ァイル又は呼び出しファイルとの関連の解析であり、か
    つ、 前記解析による情報において重複するデータを削除する
    ことを特徴とする請求項2記載のメイク情報解析による
    プロジェクト内容解析方法。
  5. 【請求項5】 コンパイルを行うためのメイク実行によ
    ってプロジェクトの内容を解析するプロジェクト内容解
    析システムにおいて、 プログラム群の更新及び生成情報を記述したメイクファ
    イルと、 このメイクファイルに記述された内容が実行される場合
    の動作を仮想実行するメイクファイル仮想実行手段と、 このメイクファイル仮想実行手段での仮想実行によって
    得られた実動作状況を一時的に記録するメイク実行解析
    作業ファイルと、 このメイク実行解析作業ファイルに格納された結果に基
    づいてメイクファイルの実動作内容を解析するメイクフ
    ァイル実行内容解析手段と、 このメイクファイル実行内容解析手段における解析内容
    を情報管理ファイルとして格納するプロジェクトファイ
    ルと、 このプロジェクトファイルの内容を読み出してプロジェ
    クト内のソースを含む情報解析を行う対象となる外部処
    理手段を呼び出すための外部処理呼出手段と、 を備えることを特徴とするプロジェクト内容解析システ
    ム。
  6. 【請求項6】 コンパイルを行うためのメイク実行によ
    ってプロジェクトの内容を解析するプロジェクト内容解
    析システムにおいて、 プログラム群の更新及び生成情報を記述したメイクファ
    イルと、 このメイクファイルに記述された内容が実行される場合
    の動作を仮想実行するメイクファイル仮想実行手段と、 このメイクファイル仮想実行手段での仮想実行によって
    得られた実動作状況を一時的に記録するメイク実行解析
    作業ファイルと、 このメイク実行解析作業ファイルに格納された結果に基
    づいてメイクファイルの実動作内容を解析するメイクフ
    ァイル実行内容解析手段と、 このメイクファイル実行内容解析手段における解析内容
    を情報管理ファイルとして格納するプロジェクトファイ
    ルと、 このプロジェクトファイルの内容を読み出すプロジェク
    ト内容読込手段と、 このプロジェクト内容読込手段からのプロジェクト内の
    ソースを含む情報解析を行う構成情報解析手段と、 この構成情報解析手段で得られた解析情報をファイル形
    式で出力する構成情報出力手段と、 を備えることを特徴とするプロジェクト内容解析システ
    ム。
  7. 【請求項7】 コマンドによって処理を起動してコマン
    ドオプションを判断し、次に、メイクファイル又はメイ
    クファイルに類似するファイルを読み込んで実動作情報
    をメイクチェックによって収集し、この収集した実動作
    情報の内容を順次解析してメイク実行時のデータを読み
    込み、この読み込んだデータからメイク実行時の内容を
    解析し、この解析した内容の解析情報をもとにモジュー
    ルを呼び出して起動する制御をコンピュータが実行する
    ためのプログラムを格納したことを特徴とする情報記録
    媒体。
  8. 【請求項8】 コマンドによって処理を起動してコマン
    ドオプションを判断し、次に、メイクファイル又はメイ
    クファイルに類似するファイルを読み込んで実動作情報
    をメイクチェックによって収集し、この収集した実動作
    情報の内容を順次解析してメイク実行時のデータを読み
    込み、この読み込んだデータからメイク実行時の内容を
    解析し、次に、前記保持しているコマンドオプションの
    内容のデータによってプロジェクト内容解析を起動し、
    さらに、プロジェクトファイル内容を読み込み、このプ
    ロジェクトに含まれる構成内容を解析し、このプロジェ
    クト構成内容解析による情報結果を構成情報ファイルに
    格納する制御をコンピュータが実行するためのプログラ
    ムを格納したことを特徴とする情報記録媒体。
JP2000024508A 2000-02-01 2000-02-01 メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体 Expired - Fee Related JP3603718B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000024508A JP3603718B2 (ja) 2000-02-01 2000-02-01 メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000024508A JP3603718B2 (ja) 2000-02-01 2000-02-01 メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体

Publications (2)

Publication Number Publication Date
JP2001216139A true JP2001216139A (ja) 2001-08-10
JP3603718B2 JP3603718B2 (ja) 2004-12-22

Family

ID=18550483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000024508A Expired - Fee Related JP3603718B2 (ja) 2000-02-01 2000-02-01 メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体

Country Status (1)

Country Link
JP (1) JP3603718B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2372541A1 (en) * 2003-03-25 2011-10-05 Electric Cloud, Inc. A system and method for supplementing program builds with file usage information.
JP2012058990A (ja) * 2010-09-08 2012-03-22 Nec Corp オプション情報解析システム、オプション情報解析方法及びプログラム
US9069644B2 (en) 2009-04-10 2015-06-30 Electric Cloud, Inc. Architecture and method for versioning registry entries in a distributed program build
JP2017517821A (ja) * 2014-06-13 2017-06-29 ザ・チャールズ・スターク・ドレイパー・ラボラトリー・インコーポレイテッド ソフトウェアアーチファクトのデータベースのためのシステム及び方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2372541A1 (en) * 2003-03-25 2011-10-05 Electric Cloud, Inc. A system and method for supplementing program builds with file usage information.
US9069644B2 (en) 2009-04-10 2015-06-30 Electric Cloud, Inc. Architecture and method for versioning registry entries in a distributed program build
JP2012058990A (ja) * 2010-09-08 2012-03-22 Nec Corp オプション情報解析システム、オプション情報解析方法及びプログラム
JP2017517821A (ja) * 2014-06-13 2017-06-29 ザ・チャールズ・スターク・ドレイパー・ラボラトリー・インコーポレイテッド ソフトウェアアーチファクトのデータベースのためのシステム及び方法

Also Published As

Publication number Publication date
JP3603718B2 (ja) 2004-12-22

Similar Documents

Publication Publication Date Title
US6658416B1 (en) Apparatus and method for creating an indexed database of symbolic data for use with trace data of a computer program
US6988263B1 (en) Apparatus and method for cataloging symbolic data for use in performance analysis of computer programs
US6766511B1 (en) Apparatus and method for performing symbolic resolution of modules using static representations of a trace
US6678883B1 (en) Apparatus and method for creating a trace file for a trace of a computer program based on loaded module information
US7266810B2 (en) Runtime profiling of platform-independent software applications
US20050278318A1 (en) Iterative development with prioritized build
US6708169B1 (en) Apparatus and method for generating a merged symbol file for verifying symbolic data
CN106227654B (zh) 一种测试平台
Obbink et al. An extensible approach for taming the challenges of JavaScript dead code elimination
CN101866315B (zh) 软件开发工具的测试方法及系统
US10423397B2 (en) Systems and/or methods for type inference from machine code
US10083029B2 (en) Detect application defects by correlating contracts in application dependencies
US20100262956A1 (en) Software development support apparatus, function extension method and storage medium for storing function extension program
Gómez et al. CRUDyLeaf: a DSL for generating spring boot REST APIs from entity CRUD operations
US7730451B2 (en) Source server
US6289503B1 (en) System and method for trace verification
US7409677B1 (en) Method and system for creation and use of embedded trace description
JP4867864B2 (ja) 性能データ収集・表示システム、性能データ表示装置、そのプログラム
US20040003383A1 (en) Stripping of unnecessary information from source code
JP3603718B2 (ja) メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体
JPH03118635A (ja) ソースコード発展システム用増分コンパイラ
CN112612697A (zh) 一种基于字节码技术的软件缺陷测试定位方法及系统
US7073096B2 (en) File path resolving debugger
EP2587380B1 (en) Runtime environment and method for non-invasive monitoring of software applications
CN110321130B (zh) 基于系统调用日志的不可重复编译定位方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040920

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees