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

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

Info

Publication number
JP3603718B2
JP3603718B2 JP2000024508A JP2000024508A JP3603718B2 JP 3603718 B2 JP3603718 B2 JP 3603718B2 JP 2000024508 A JP2000024508 A JP 2000024508A JP 2000024508 A JP2000024508 A JP 2000024508A JP 3603718 B2 JP3603718 B2 JP 3603718B2
Authority
JP
Japan
Prior art keywords
analysis
project
file
information
make
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000024508A
Other languages
English (en)
Other versions
JP2001216139A (ja
Inventor
英之 中嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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

Images

Landscapes

  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するメイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体に関する。
【0002】
【従来の技術】
この種のメイク実行では、C言語やPascal言語などの高級プログラミング言語で記述されたソースプログラムを、オブジェクトプログラムに翻訳するコンパイルを実行するために必要な情報処理を行っている。いわゆる、データ量が異なる多種のコンピュータ用などのプログラム群を更新して管理している。
【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,MOドライバ、キーボード/座標入力装置、及びキーボード及び座標入力装置用入出力(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)の読込みを行い(ステップS3)、メイクファイルの実動作情報を、一例としてUNIXシステムコマンドのメイク実行中における−nオプションなどを利用してメイクチェックしながら収集する(ステップS4)。なお、−nオプションとは、コマンド行を出力するだけで実行しないものである。
【0032】
ステップS4で収集に失敗したり収集できない場合(収集失敗・不可)は、処理を終了する。ステップS4で収集完了の場合は、収集した実動作情報をメイク実行解析作業ファイル4として出力し(ステップS5)、この出力したメイク実行解析作業ファイル4の内容(データD3)を順に解析するためのメイク実行解析作業ファイル解析処理を起動する(ステップS6)。ステップS6で起動したメイク実行解析作業ファイル解析処理によって、メイク実行解析作業ファイル4から実際にメイク実行時のデータを読み込む(ステップS7)。この後にメイク実行時の内容を解析する(ステップS8)。
【0033】
このステップS8の処理の実行時の内容解析としては、図2に示すような例がある。
(i) メイクで指定するコンパイルオプション列の解析(ステップS8a)
(ii) メイク実行のためのソースファイル名情報の解析(ステップS8b)
(iii)メイク実行のためのライブラリ名情報の解析(ステップS8c)
(iv) 生成されるモジュール名情報の解析(ステップS8d)
このステップS8で解析された前記内容(i)から(iv)は、後処理である外部解析モジュールなどでの解析のためにプロジェクトファイル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からステップS28までは、図2中のステップS1からステップS8までと同様の処理である。すなわち、コマンドによって処理を起動する(図4のステップS21)。次に、コマンドオプション判断を行い内容(データD1)を図示しないメモリに保持する(ステップS22)。これは外部処理へ引き渡すオプションなどで利用する。そして、メイクファイル2(データD2)の読込みを行い(ステップS23)、メイクファイル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)、メイク実行のためのライブラリ名情報の解析(ステップS28c)、生成されるモジュール名情報の解析(ステップS28d)である。
【0045】
このステップS28で解析された内容(i)から(iv)は、後処理である外部解析モジュールなどでの解析のためにプロジェクトファイル6(データD4)として保持し、かつ、出力する。
【0046】
そして、起動時に指定されたコマンドオプションなどの内容のデータD1によるプロジェクト内容解析処理を起動する(ステップS29)。コマンドオプションの内容は、プロジェクト内容解析処理における条件などを引き渡すために利用する。ここでステップS29で呼び出しに失敗した場合(呼出不可、エラー)、処理を終了する。次にプロジェクトファイル内容を読み込んで(ステップ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で解析された情報において重複するデータの削除(ステップS31i)
【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. コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するメイク情報解析によるプロジェクト内容解析方法において、
    コンピュータが、
    コマンドによって処理を起動してコマンドオプションを判断し、
    次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、
    この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、
    この読み込んだデータからメイク実行時の内容を解析し、
    この解析した内容の解析情報をもとにモジュールを呼び出して起動することを特徴とするメイク情報解析によるプロジェクト内容解析方法。
  2. コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するメイク情報解析によるプロジェクト内容解析方法において、
    コンピュータが、
    コマンドによって処理を起動してコマンドオプションを判断し、
    次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、
    この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、
    この読み込んだデータからメイク実行時の内容を解析し、
    次に、前記保持しているコマンドオプションの内容のデータによってプロジェクト内容解析を起動し、
    さらに、プロジェクトファイル内容を読み込み、このプロジェクトに含まれる構成内容を解析し、
    このプロジェクト構成内容解析による情報結果を構成情報ファイルに格納して出力することを特徴とするメイク情報解析によるプロジェクト内容解析方法。
  3. 前記メイク実行時の内容解析が、
    メイクで指定するコンパイルオプション列の解析、
    メイク実行のためのソースファイル名情報の解析、
    メイク実行のためのライブラリ名情報の解析、
    生成されるモジュール名情報の解析、
    であることを特徴とする請求項1又は2記載のメイク情報解析によるプロジェクト内容解析方法。
  4. 前記プロジェクトに含まれる構成内容の解析が、少なくとも、
    プロジェクトに含まれるソースファイルとプロジェクトとの関連の解析、
    プロジェクトに含まれるヘッダファイルとプロジェクトとの関連の解析、
    プロジェクトに含まれるライブラリファイルとプロジェクトとの関連の解析、
    プロジェクトに含まれる出力オブジェクトファイルとプロジェクトとの関連の解析、
    ソースファイルとこのソースファイルから呼び出されるヘッダファイルとの関連の解析、
    プロジェクトに存在する関数とこの関数が所属するファイル又は呼び出しファイルとの関連の解析、
    プロジェクトに存在する変数及びこの変数が所属するファイル又は呼び出しファイルとの関連の解析であり、かつ、
    前記解析による情報において重複するデータを削除することを特徴とする請求項2記載のメイク情報解析によるプロジェクト内容解析方法。
  5. コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するプロジェクト内容解析システムにおいて、
    プログラム群の更新及び生成情報を記述したメイクファイルと、
    このメイクファイルに記述された内容が実行される場合の動作を仮想実行するメイクファイル仮想実行手段と、
    このメイクファイル仮想実行手段での仮想実行によって得られた実動作状況を一時的に記録するメイク実行解析作業ファイルと、
    このメイク実行解析作業ファイルに格納された結果に基づいてメイクファイルの実動作内容を解析するメイクファイル実行内容解析手段と、
    このメイクファイル実行内容解析手段における解析内容を情報管理ファイルとして格納するプロジェクトファイルと、
    このプロジェクトファイルの内容を読み出してプロジェクト内のソースを含む情報解析を行う対象となる外部処理手段を呼び出すための外部処理呼出手段と、
    を備えることを特徴とするプロジェクト内容解析システム。
  6. コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するプロジェクト内容解析システムにおいて、
    プログラム群の更新及び生成情報を記述したメイクファイルと、
    このメイクファイルに記述された内容が実行される場合の動作を仮想実行するメイクファイル仮想実行手段と、
    このメイクファイル仮想実行手段での仮想実行によって得られた実動作状況を一時的に記録するメイク実行解析作業ファイルと、
    このメイク実行解析作業ファイルに格納された結果に基づいてメイクファイルの実動作内容を解析するメイクファイル実行内容解析手段と、
    このメイクファイル実行内容解析手段における解析内容を情報管理ファイルとして格納するプロジェクトファイルと、
    このプロジェクトファイルの内容を読み出すプロジェクト内容読込手段と、
    このプロジェクト内容読込手段からのプロジェクト内のソースを含む情報解析を行う構成情報解析手段と、
    この構成情報解析手段で得られた解析情報をファイル形式で出力する構成情報出力手段と、
    を備えることを特徴とするプロジェクト内容解析システム。
  7. コマンドによって処理を起動してコマンドオプションを判断し、次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、この読み込んだデータからメイク実行時の内容を解析し、この解析した内容の解析情報をもとにモジュールを呼び出して起動する制御をコンピュータが実行するためのプログラムを格納したことを特徴とする情報記録媒体。
  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 JP2001216139A (ja) 2001-08-10
JP3603718B2 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7168064B2 (en) * 2003-03-25 2007-01-23 Electric Cloud, Inc. 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
JP5621426B2 (ja) * 2010-09-08 2014-11-12 日本電気株式会社 オプション情報解析システム、オプション情報解析方法及びプログラム
US20150363196A1 (en) * 2014-06-13 2015-12-17 The Charles Stark Draper Laboratory Inc. Systems And Methods For Software Corpora

Also Published As

Publication number Publication date
JP2001216139A (ja) 2001-08-10

Similar Documents

Publication Publication Date Title
US5678044A (en) System and method for improved rehosting of software systems
US5956513A (en) System and method for automated software build control
Kolb et al. A case study in refactoring a legacy component for reuse in a product line
CN101866315B (zh) 软件开发工具的测试方法及***
CN106227654B (zh) 一种测试平台
CN104572238A (zh) 一种高效的生成可执行软件包的方法及***
US7624381B1 (en) Portable detection of start and completion of object construction
JP2009176064A (ja) ソフトウェアリファクタリング支援装置および方法
JP3603718B2 (ja) メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体
US20090077563A1 (en) Systems And Methods For Grid Enabling Computer Jobs
Zhang et al. Automated extraction of grammar optimization rule configurations for metamodel-grammar co-evolution
JP4867864B2 (ja) 性能データ収集・表示システム、性能データ表示装置、そのプログラム
US20040003383A1 (en) Stripping of unnecessary information from source code
CN112596706A (zh) 模式化代码生成方法、装置和计算机可读存储介质
EP2587380B1 (en) Runtime environment and method for non-invasive monitoring of software applications
CN113900706A (zh) 接口文档的生成方法及装置
JP2009064125A (ja) サーバ装置、そのプログラム
GB2420638A (en) Method of substituting code fragments in Internal Representation
CN113094033B (zh) 一种mcu集成开发环境的工程结构适配方法
KR100349657B1 (ko) 분산 협력으로 개발된 프로그램 분석을 위한 순차다이어그램 생성 방법
Couto et al. MapIt: A model based pattern recovery tool
RU2385485C1 (ru) Система и способ контроля за выполнением программ с помощью трассировки бинарных приложений
JP2004287869A (ja) プログラム実行監視装置および方法
JP3531728B2 (ja) オブジェクト指向型プログラミング言語で記述されたプログラムの構成関係管理装置及び方法並びに記憶媒体
Jung et al. Architecture Recovery from Fortran Code with Kieker

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