JPH0689170A - Caseシステムにおける原始プログラム解析方式 - Google Patents

Caseシステムにおける原始プログラム解析方式

Info

Publication number
JPH0689170A
JPH0689170A JP4240216A JP24021692A JPH0689170A JP H0689170 A JPH0689170 A JP H0689170A JP 4240216 A JP4240216 A JP 4240216A JP 24021692 A JP24021692 A JP 24021692A JP H0689170 A JPH0689170 A JP H0689170A
Authority
JP
Japan
Prior art keywords
specification information
information
primary
database
source program
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.)
Withdrawn
Application number
JP4240216A
Other languages
English (en)
Inventor
Junichi Shibuya
純一 澁谷
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 Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP4240216A priority Critical patent/JPH0689170A/ja
Publication of JPH0689170A publication Critical patent/JPH0689170A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】ソフトウェアの開発や保守の作業を行うため
に、CASEシステムで、選択指示記述を含む原始プロ
グラムの解析結果を一つの仕様情報としてデータベース
上で管理し、仕様情報の編集時には、特定の選択条件の
適用時の仕様情報を利用者に提示可能にする。 【構成】一次解析手段11は、選択コンパイル記述を含
む原始プログラム21について選択条件を得ること無し
に解析して得られた一次仕様情報32をデータベース3
1に保存する。編集手段12は、特定の選択条件の適用
時の仕様情報を編集する際に、二次解析手段13によ
り、一次仕様情報32を特定の選択条件で解析して、二
次仕様情報41を得て、それを編集対象とする。仕様情
報更新手段14は、編集された二次仕様情報41の更新
内容をデータベース31上の一次仕様情報32に反映さ
せる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置に対する
ソフトウェアの開発および保守作業を支援するCASE
システムにおける原始プログラム解析方式に関し、特
に、原始プログラムから仕様情報を抽出するためのCA
SEシステムにおける原始プログラム解析方式に関す
る。
【0002】
【従来の技術】従来のCASEシステムにおける原始プ
ログラム解析方式は、原始プログラムを解析して仕様情
報を抽出するCASEシステムの解析機構で、前記プロ
グラム中に選択コンパイル記述を含む場合には、解析に
際して選択条件を利用者に与えさせて解析を行い、解析
の結果得られた仕様情報をデータベースに保存して仕様
情報の編集の対象としたり、選択条件の指定なしに解析
を行い、得られた仕様情報をデータベースに保存して仕
様情報の編集の対象としたりしていた。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た従来のCASEシステムにおける原始プログラム解析
方式は、選択条件を指定して解析した結果得られた仕様
情報を保存して、編集の対象とした場合には、同一の原
始プログラムに対して複数の仕様情報がデータベース上
に保存され、編集の対象となるので、同一の原始プログ
ラムに対する複数の仕様情報中には、選択条件に依存し
ない共通の仕様情報が重複して存在するために、個々の
仕様情報の中の共通部分の内容に対する等価性の保証が
利用者に委ねられ、しばしば等価性が損なわれたり、利
用者にとっても共通部分の等価性の保証が煩わしいもの
であるという欠点を有していた。
【0004】また、従来のCASEシステムにおける原
始プログラム解析方式は、選択条件を指定しないで解析
して得られた仕様情報を保存して編集の対象とした場合
には、仕様情報として原始プログラムの解読を支援する
には不十分な情報しか得られていないことが多く、十分
な支援機能を実現出来ていないのが実状であった。
【0005】本発明の目的は、選択条件を指定せずに解
析して得られた仕様情報をデータベースに保存すること
により、データベースに重複した情報を保持せず、編集
時に選択条件を指定した解析を行うことにより、原始プ
ログラムの解読を支援するのに十分な仕様情報による編
集を可能とし、更新された仕様情報中の選択条件に依存
する部分と依存しない部分とを考慮してデータベース上
の仕様情報を更新することにより、従来の欠点を解決す
るCASEシステムにおける原始プログラム解析方式を
提供することにある。
【0006】
【課題を解決するための手段】本発明のCASEシステ
ムにおける原始プログラム解析方式は、ソフトウェアの
設計情報をデータベース上に保持して、ソフトウェアの
開発および保守の作業を支援するために、原始プログラ
ムを解析してソフトウェアの仕様情報をデータベースに
登録し、設定書等の上位仕様の構築を支援するリバース
エンジニアリング機能を持つCASEシステムにおける
原始プログラム解析方式において、選択コンパイル記述
(C言語の#ifdef等)を含む原始プログラムの選
択条件を得ること無しに解析し、選択条件が与えられる
ことによって解析が可能になる部分の解析を行わず、未
解析のまま仕様情報としてデータベースに保存し、解析
可能な部分を解析することによって得られた仕様情報と
併せて一次仕様情報としてデータベースに保存する一次
解析手段と、データベースに登録された仕様情報を参照
しながら原始プログラムの解読を行い、上位仕様を付加
して仕様情報の更新を可能とする編集手段と、前記編集
手段から起動され、データベースに保存されている一次
仕様情報および選択条件を入力し、前記一次解析手段が
解析出来なかった選択条件に依存する部分の解析を行
い、完成された仕様情報である二次仕様情報を生成して
前記編集手段に返却する二次解析手段と、前記編集手段
によって起動され、前記二次解析手段によって完成さ
れ、前記編集手段によって更新された二次仕様情報を入
力し、前記編集手段によって更新された部分を選択条件
に依存しない部分および依存する部分に分類し、一次仕
様情報の該当する部分との対応関係に従って一次仕様情
報を更新する仕様情報更新手段とを備えて構成されてい
る。
【0007】
【実施例】以下に、本発明の実施例について図面を参照
して説明する。図1は、本発明のCASEシステムにお
ける原始プログラム解析方式の一実施例を示すブロック
図である。図1に示すように、本実施例のCASEシス
テムにおける原始プログラム解析方式は、一次解析手段
11、編集手段12、二次解析手段13、仕様情報更新
手段14によって構成され、原始プログラム21、デー
タベース31、一次仕様情報32、二次仕様情報41、
選択条件51を収容している。図1中の実線矢印は起動
関係を示し、破線矢印は参照設定関係を示している。
【0008】図2は、一次仕様情報32の一例を示す図
である。図2に示すように、一次仕様情報32は、プロ
グラムの処理内容に関する情報を保持するテキスト情報
32−1、データの定義に関する定義情報を保持するデ
ータ定義情報32−2、マクロの定義に関する定義情報
を保持するマクロ定義情報32−3によって構成されて
いる。
【0009】テキスト情報32−1は、プログラムが遂
行する処理を構成する単位処理に関する情報を保持する
テキスト32−1−1,〜32−1−iの集合である。
各テキスト32−1−1,〜32−1−iは、当該のテ
キストの種別、当該のテキストを一意に識別するための
テキストid、単位処理の内容に関する情報を保持する
処理内容情報によって構成される。なお、処理内容情報
は、選択条件に依存する項目に関して未完成である。
【0010】また、データ定義情報32−2は、データ
定義に関する情報を保持する定義情報32−2−1,〜
32−2−jの集合である。各定義情報32−2−1,
〜32−2−jは、定義情報を一意に識別するための定
義idと、データの名前,型,構造等を保持する定義内
容情報とによって構成される。
【0011】さらに、マクロ定義情報32−3は、マク
ロ定義に関する情報を保持する定義情報32−3−1,
〜32−3−kの集合である。各定義情報32−3−
1,〜32−3−kは、定義情報を一意に識別するため
の定義idと、マクロの名前やマクロ展開規則等を保持
する定義内容情報とによって構成される。
【0012】図3は、二次仕様情報1の構成の一例を示
す図である。図3に示すように、二次仕様情報41は、
一次仕様情報32と同様の情報であるテキスト情報41
−1、データ定義情報41−2、マクロ定義情報41−
3によって構成される。二次仕様情報41の一次仕様情
報32との相違点は、特定の選択条件を与えられた場合
の一次仕様情報32のサブセットであること、テキスト
情報41−1の中のテキストの処理内容情報が完成状態
のものが含まれることである。
【0013】本実施例では、原始プログラム21は、C
言語て記述されているものとしている。まず、一次解析
手段11は、C言語の選択コンパイル記述機能を遂行す
る選択指示文(ここでは、#ifdef文,#else
文,#endif文のみとする)を含む原始プログラム
21を入力して解析し、一次仕様情報32をデータベー
ス31に出力する。一次解析手段11は、最初に、原始
プログラム21の各行を解析して、トークンにより内部
表現に変換する。
【0014】次に、トークン列を解析して、#ifde
f文,#else文,#endif文を検出し、#if
def文と#else文,#else文と#endif
文,#else文がない場合の#ifdef文と#en
dif文の間(以降に、「選択指示文の間」と称す)に
出現する行とそうでない行とを認識する。続いて、選択
指示文以外の行のトークン列を解析して、C言語の文を
認識する。その結果、得られた各文を構成するトークン
列および選択指示文を構成するトークン列からテキスト
情報32−1の中にテキスト32−1−1からテキスト
32−1−iを生成する。
【0015】各テキスト32−1−1,32−1−iに
は、テキストを一意に識別するテキストidが付与さ
れ、選択指示文を構成するトークン列に対するテキスト
の種別には値1を、選択指示文以外の文で選択指示文の
間に出現する文を構成するトークン列に対応するテキス
トの種別には値2を、選択指示文の間に出現しない文を
構成するトークン列に対応するテキストの種別には値3
を、文として認識出来なかったトークン列に対するテキ
ストの種別には値4をそれぞれ設定する。
【0016】文がデータ定義の文であれば、さらに解析
してデータの定義内容情報を収集して、データ定義情報
32−2の中に定義情報32−2−1から定義情報32
−2−iを生成し、テキスト情報32−1の中の当該の
テキストの処理内容情報には、対応するデータ定義情報
32−2の中の要素の定義idを保持する。
【0017】文がマクロ定義の文であれば、さらに解析
してマクロの定義内容情報を収集してマクロ定義情報3
2−3の中に定義情報32−3−1から定義情報32−
3−kを生成し、テキスト情報32−1の中の当該のテ
キストの処理内容情報には、対応するマクロ定義情報3
2−3の中の要素の定義idを保持する。
【0018】それ以外の文に対するテキストの処理内容
情報は、文を構成するトークン列を保持する。選択条件
が与えられていないために、このトークン列中のデータ
参照およびマクロ参照を表す名標は、対応するデータ定
義情報32−2の中の定義情報32−2−1,〜32−
2−jやマクロ定義情報32−3の中の定義情報32−
3−1,〜32−3−kとの対応関係は未解決のままと
なる。
【0019】そして、編集手段12は、データベース3
1に保存されている一次仕様情報32に特定の選択条件
を与えた際に有効となる仕様情報に対して、利用者が参
照,更新,仕様情報に対する説明の付加等を行う手段を
提供して、原始プログラム21から抽出された原始プロ
グラムレベルの仕様情報から詳細設計仕様レベルの仕様
情報を構築するための支援を行う。
【0020】また、編集手段12は、特定の選択条件を
与えた際の原始プログラム21の処理内容を示すチャー
ト、原始プログラム21の中で定義されているデータ、
マクロの定義情報とデータ、マクロのチャート上での参
照関係を知るために、二次解析手段13を起動して二次
仕様情報41を得る。
【0021】さらに、編集手段12は、二次解析手段1
3から得られた二次仕様情報41をもとに使用者の指示
に従って、チャートの参照,更新、処理に対する説明の
付加、データやマクロの定義情報の参照,更新、それら
の説明の付加、チャート上でのデータやマクロの参照位
置の検索等の操作を行い、必要に応じて二次仕様情報4
1を更新する。
【0022】チャート上で文が追加された場合には、二
次仕様情報41の中のテキスト情報41−1に種別の値
が5のテキストを追加する。チャート上で既存の文が更
新された場合には、二次仕様情報41の中のテキスト情
報41−1内の対応するテキスト41−1−1,〜41
−1−xの種別を値5に変更し、処理内容情報を変更さ
れたチャート上の文をトークン化しただけの未完成状態
に変更する。
【0023】チャート上の文が削除された場合には、二
次仕様情報41の中のテキスト情報41−1の対応する
テキスト41−1−1,〜41−1−xの何れかを削除
する。チャート上の1つ以上の文がグループ化されてグ
ループに対する説明が付加された場合には、二次仕様情
報41の中のテキスト情報41−1のグループ化された
1つ以上の文に対するテキストの直前に種別の値が6の
テキストを追加する。
【0024】データやマクロの定義情報に説明が付加さ
れた場合には、対応するデータ定義情報41−2やマク
ロ定義情報41−3の中の定義情報41−2−1,〜4
1−2−y,41−3−1,〜41−3−zの定義内容
情報に説明を付加し、定義内容が更新された場合には、
更新内容を解釈して定義内容情報を更新する。
【0025】データやマクロの定義の追加および削除
は、チャート上で行うものとし、その解釈と定義情報の
追加および削除は、仕様情報更新手段14によって行わ
れる。なお、編集手段12は、利用者の更新や説明の付
加等によって生じた二次仕様情報41の変更内容を一次
仕様情報32に反映してデータベース31に保存するた
めに、仕様情報変更手段14を起動する。
【0026】次に、二次解析手段13は、編集手段12
から起動され、選択条件51およびデータベース31か
らの一次仕様情報32を入力し、選択条件51が指定さ
れた時に有効となる仕様情報を一次仕様情報から抽出し
て二次仕様情報41を生成する。二次解析手段13は、
一次仕様情報32のテキスト情報32−1の中の選択指
示文に対するテキストを選択条件51によって評価し
て、選択されるテキストを決定する。
【0027】選択されたテキストの処理内容情報を解析
して、一次解析手段11では完成できなかった情報を完
成して、テキスト情報41−1として二次仕様情報41
の中に出力する。選択されたテキストの解析には、種別
の値が4のテキスト、すなわち、文として認識出来なか
ったテキストの再解析および種別の値が2,3のテキス
トの処理内容情報の中のデータ参照やマクロ参照を表す
名標と対応するデータ定義情報32−2やマクロ定義情
報32−3の中の定義情報の決定がある。
【0028】文として認識出来なかったテキストの再解
析を行うのは、選択指示文によって一つの文が分断され
たために文として認識出来なかったものが、選択条件5
1が与えられて有効となるテキストが選択されたことに
よって文として認識出来るようになるためである。ま
た、参照された名標と対応する定義情報の決定が本手段
で行われるのは、選択条件51が与えられることによっ
て有効となる定義情報が選択され、参照された名標に対
応する定義情報を一意に決定することが可能となるため
である。
【0029】そこで、二次解析手段13は、データ定義
情報32−2やマクロ定義情報32−3の中の定義情報
32−1−1,〜32−2−j,32−3−1,〜32
−3−kから、選択条件51が与えられた場合に有効と
なる定義情報を選択して、データ定義情報41−2やマ
クロ定義情報41−3として、二次仕様情報41の中に
出力する。有効となる定義情報は、テキスト情報32−
1から選択されたテキストのデータ定義やマクロ定義に
対応するテキストの処理内容情報の中に設定されている
定義情報idによって決定される。
【0030】さらに、仕様情報更新手段14は、編集手
段12によって更新された二次仕様情報41とデータベ
ース31の中の一次仕様情報32とを入力して、二次仕
様情報41の中の追加,変更,削除された情報を、対応
する一次仕様情報32の中の情報に反映する。テキスト
情報32−1の更新は、テキスト情報41−1とテキス
ト情報32−1を各テキストのテキストidで対応をと
ることによって行われる。その際に、テキスト情報41
−1の中の各テキストの処理内容情報で完成状態のもの
は、未完成状態に戻される。
【0031】データ定義情報32−2やマクロ定義情報
32−3の更新は、データ定義情報32−2とデータ定
義情報41−2、マクロ定義情報32−3とマクロ定義
情報41−3を各定義情報の定義idで対応をとること
によって行われる。そして、テキスト情報41−1の中
のデータ定義やマクロ定義に関する文の追加,変更,削
除に対しては、対応するデータ定義情報32−2やマク
ロ定義情報32−3の追加,変更,削除も行われる。
【0032】また、仕様情報更新手段14は、一次仕様
情報32の更新の際に、選択条件に依存しない部分の更
新結果を二次仕様情報41を作成する際に使用された選
択条件ごとに保存し、選択条件に依存しない部分に対し
て、選択条件ごとに別の意味付けを行うことも可能とし
ている。
【0033】
【発明の効果】以上説明したように、本発明のCASE
システムにおける原始プログラム解析方式は、選択条件
を指定せずに解析して得られた仕様情報をデータベース
に保存することにより、データベースに重複した情報を
保持せず、編集時に選択条件を指定した解析を行うこと
により、原始プログラムの解読を支援するのに十分な仕
様情報による編集を可能とし、更新された仕様情報の中
の選択条件に依存する部分と依存しない部分とを考慮し
て、データベース上の仕様情報を更新することが可能と
なるという効果を有している。
【図面の簡単な説明】
【図1】本発明のCASEシステムにおける原始プログ
ラム解析方式の一実施例を示すブロック図である。
【図2】一次仕様情報32の構成の一例を示す図であ
る。
【図3】二次仕様情報41の構成の一例を示す図であ
る。
【符号の説明】
11 一次解析手段 12 編集手段 13 二次解析手段 14 仕様情報更新手段 21 原始プログラム 31 データベース 32 一次仕様情報 41 二次仕様情報 51 選択条件

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ソフトウェアの設計情報をデータベース
    上に保持して、ソフトウェアの開発および保守の作業を
    支援するために、原始プログラムを解析してソフトウェ
    アの仕様情報をデータベースに登録し、設定書等の上位
    仕様の構築を支援するリバースエンジニアリング機能を
    持つCASEシステムにおける原始プログラム解析方式
    において、 選択コンパイル記述(C言語の#ifdef等)を含む
    原始プログラムの選択条件を得ること無しに解析し、選
    択条件が与えられることによって解析が可能になる部分
    の解析を行わず、未解析のまま仕様情報としてデータベ
    ースに保存し、解析可能な部分を解析することによって
    得られた仕様情報と併せて一次仕様情報としてデータベ
    ースに保存する一次解析手段と、 データベースに登録された仕様情報を参照しながら原始
    プログラムの解読を行い、上位仕様を付加して仕様情報
    の更新を可能とする編集手段と、 前記編集手段から起動され、データベースに保存されて
    いる一次仕様情報および選択条件を入力し、前記一次解
    析手段が解析出来なかった選択条件に依存する部分の解
    析を行い、完成された仕様情報である二次仕様情報を生
    成して前記編集手段に返却する二次解析手段と、 前記編集手段によって起動され、前記二次解析手段によ
    って完成され、前記編集手段によって更新された二次仕
    様情報を入力し、前記編集手段によって更新された部分
    を選択条件に依存しない部分および依存する部分に分類
    し、一次仕様情報の該当する部分との対応関係に従って
    一次仕様情報を更新する仕様情報更新手段とを備えるこ
    とを特徴とするCASEシステムにおける原始プログラ
    ム解析方式。
JP4240216A 1992-09-09 1992-09-09 Caseシステムにおける原始プログラム解析方式 Withdrawn JPH0689170A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4240216A JPH0689170A (ja) 1992-09-09 1992-09-09 Caseシステムにおける原始プログラム解析方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4240216A JPH0689170A (ja) 1992-09-09 1992-09-09 Caseシステムにおける原始プログラム解析方式

Publications (1)

Publication Number Publication Date
JPH0689170A true JPH0689170A (ja) 1994-03-29

Family

ID=17056181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4240216A Withdrawn JPH0689170A (ja) 1992-09-09 1992-09-09 Caseシステムにおける原始プログラム解析方式

Country Status (1)

Country Link
JP (1) JPH0689170A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114575A (ja) * 2011-11-30 2013-06-10 Nec Corp 情報処理装置、情報処理方法及び情報処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114575A (ja) * 2011-11-30 2013-06-10 Nec Corp 情報処理装置、情報処理方法及び情報処理プログラム

Similar Documents

Publication Publication Date Title
JPH08190587A (ja) 業務プロセスのシミュレーションシステム
JP3181994B2 (ja) ジョブフロー仕様書自動作成方法
AU4098700A (en) Circuit arrangement for measuring the resistances of a pressure-sensitive resistance mat
JPH07200358A (ja) ソフトウェア・アプリケーションの自動テスト方法
CN109344230A (zh) 代码库文件生成、代码搜索、联结、优化以及移植方法
US5907851A (en) Editing nested documents by appointing a portion for insertion with an alternative substitute
JPH06259420A (ja) 文章編集支援装置
US20050039108A1 (en) Fast tag entry in a multimodal markup language editor
JP4826120B2 (ja) 業務仕様作成支援システム及び方法
JPH0689170A (ja) Caseシステムにおける原始プログラム解析方式
CA2359079A1 (en) Program reproducing method and device, and medium on which a program for program reproduction recording
JPH056291A (ja) テスト資源の作成・管理方法
JPH1153391A (ja) データベースアクセス方法
JPH09101880A (ja) プログラム分析装置
JPH07146785A (ja) プログラム自動生成方法および装置
KR100323971B1 (ko) 프로젝트일정관리시스템의문서관리및완료일정자동등록방법
JP2000181691A (ja) プログラム構造解析方式
JPH0830448A (ja) プログラム仕様整合検査装置
JP3419483B2 (ja) 自然言語処理装置及びその方法
JPH05298082A (ja) プログラム編集装置及びその方法
JPH10133866A (ja) 移行変換処理方法
JPH11259460A (ja) 文書処理装置
JPH11353162A (ja) プログラム修正結果比較方法
JP2007094453A (ja) プログラム開発支援システム、プログラム開発支援方法およびプログラム
JPH03262036A (ja) 図式プログラムパターン作成方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991130