JPH0355633A - モジュール間インタフェイス検査装置 - Google Patents

モジュール間インタフェイス検査装置

Info

Publication number
JPH0355633A
JPH0355633A JP19176089A JP19176089A JPH0355633A JP H0355633 A JPH0355633 A JP H0355633A JP 19176089 A JP19176089 A JP 19176089A JP 19176089 A JP19176089 A JP 19176089A JP H0355633 A JPH0355633 A JP H0355633A
Authority
JP
Japan
Prior art keywords
information
interface
program
module
call
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.)
Pending
Application number
JP19176089A
Other languages
English (en)
Inventor
Nobuyuki Baba
信行 馬場
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 JP19176089A priority Critical patent/JPH0355633A/ja
Publication of JPH0355633A publication Critical patent/JPH0355633A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機システムにおけるプログラム検査装置の
一種であるモジュール間インタフェイス検査装置に関す
る. (従来の技術) 一般に、コンパイラには、プログラムの構成全体をコン
パイル単位とするコンパイラと、プログラムの構或要素
であるモジュール単位をコンパイル単位とするコンパイ
ラとがあるが、前者のコンパイラは、プログラムの規模
が大きいと修正の度にプログラム全体をコンパイルする
為に計算機資源の利用効率が悪いという欠点がある。こ
れに対して後者のコンパイラは、プログラム修正時に全
モジュールをコンパイルする必要がなく、計算機資源の
利用効率が優れている.しかし、その反面、モジュール
間のインタフェイスの無矛盾性をコンパイル時に検出で
きず、モジュール間インタフェイスが不良のプログラム
を生或してしまう可能性が大きいという欠点がある. 〔発明が解決しようとする課B] このため、モジュール単位をコンパイル単位トするコン
パイラを使用する従来の計算機システムでは、そのコン
パイラで生成されたプログラム内におけるモジュール間
のインタフェイスの無矛盾性を、デバッグ時に人手で検
査しており、プログラム作或者に負担がかかると共にデ
バッグ時間が長くなって計算機資源の有効利用が困難に
なるといった問題点があった. そこで、本発明の目的は、モジュール間のインタフェイ
ス情報の無矛盾性をコンパイル後に自動的に検査するこ
とのできるモジュール間インタフェイス検査装置を提供
することにある.〔課題を解決するための手段〕 本発明のモジュール間インクフエイス検査装置は、上記
の目的を達戒するために、プログラムの構或要素である
モジュール単位をコンパイル単位とし且つ型を有する言
語のコンパイルを行うコンパイラに設けられ、コンパイ
ル単位毎にインタフェイス情報を出力するインタフェイ
ス出力手段と、このインタフェイス出力手段から出力さ
れた各コンパイル単位のインタフェイス情報をコンパイ
ル単位毎に保持する第1の記憶手段と、前記プログラム
のtS威情報を保持する第2の記憶手段と、前記第1の
記憶手段に保持された各コンパイル単位毎のインタフェ
イス情報および前記第2の記憶手段に保持された前記プ
ログラムの横威・情報を入力し、前記プログラムを構成
する各モジュール間のインタフェイス情報の無矛盾性を
検査するインタフェイス塊査手段とで構成されている.
〔作用〕 本発明のモジュール間インタフェイス検査装置において
は、モジュール単位をコンパイル単位とし且つ型を有す
る言語のコンパイルを行うコンパイラに設けられたイン
タフェイス出力手段が、コンパイル単位毎にインタフェ
イス情報を出力し、第1の記憶手段がその出力されたイ
ンタフェイス情報をコンパイル単位毎に保持し、他方、
前記コンパイラでコンパイルされるプログラムの横威情
報を第2の記憶手段が保持し、前記コンパイラのコンパ
イル後にインタフェイス検査手段が、前記第1の記憶手
段に保持された各コンパイル単位毎のインタフェイス情
報と前記第2の記憶手段に保持された前記プログラムの
構成情報とを入カし、前記プログラムを構成する各モジ
ュール間のインクフエイス情報の無矛盾性を検査する.
〔実施例〕 次に、本発明の実施例について図面を参照して詳細に説
明する. 第1図を参照すると、本発明のモジュール間インタフェ
イス検査装置は、プログラムの構成要素であるモジュー
ル単位をコンパイル単位とし且つ型を有する言語のコン
パイルを行うコンパイラlに設けられたインタフェイス
出力部l1と、このインタフェイス出力部l1から出力
された各コンパイル単位のインタフェイス情報をコンパ
イル単位毎に保持する記憶装W6と、コンパイラlにコ
ンパイルさせたプログラムがどういうモジュールから構
或されているかといったプログラム構或情報4を記憶し
ている記憶装置7と、記憶装置6に保持された各コンパ
イル単位毎のインクフエイス情報と記憶装置7に記憶さ
れたプログラム構戒情報4とを入力し、プログラムを構
戒する各モジュール間のインタフェイス情報の無矛盾性
を検査するインタフェイス検査部21を有するインタフ
ェイス検査手段2と、このインタフェイス検査手段2で
誤りが検出された場合にその誤りにかかる情報を出力す
る端末あるいはファイル等の出力装置5とで構成されて
いる.なお、インタフェイス検査手段2は例えばプログ
ラムで実現することが可能である。
次に、このように構成された本実施例の動作を説明する
. コンハイラ1は、型を有する言語(ADA等の言語)で
記述されたソースプログラムをモジュール単位に翻訳し
てオブジェクトプログラムを出力するが、その翻訳通程
にお゛いてインタフェイス出力部11が、各コンパイル
単位のインタフェイス情報を記憶装置6に出力する.こ
こで、インタフェイス情報には、例えばコンパイル単位
の名前や、呼び出し名/呼び出され名等の入り口名や、
呼び出し方/呼ばれ方の実現方法であるドメイン間コー
ルやセグメント内コール等のコールの種別情報、引数の
情報である型の種類やビットサイズおよびバイトサイズ
等の領域サイズ等を含んでいる。
コンパイラlによるコンパイルが終了すると、記憶装置
6には、コンパイルされたプログラムを構或する全モジ
ュールにかかるインタフェイス情報が各コンパイル単位
毎に管理されて記憶される.第1図のインタフェイス情
報3はそのようなインタフェイス情報を示している.な
お、以下の説明では、呼び出し側のインタフェイス情報
を呼び出し情報、呼び出され側のインタフェイス情報を
呼び出され情報と呼ぶことにする. コンパイラ1のコンパイル処理が終了し、記憶装置6に
インタフェイス情報3が記憶されると、引き続きインタ
フェイス検査手段2が起動され、内部のインタフェイス
検査部2lによってモジュール間のインタフェイス情報
の無矛盾性が検査される.そして、矛盾するインクフエ
イス情報が検出された場合には、それにかかる情報が出
力装置5より出力され、利用者に通知される。
第2図はインタフェイス検査部21の処理例を示すフロ
ーチャートであり、以下、第1図および第2図を参照し
てインタフェイス検査部21の動作を説明する. インタフェイス検査部21は、先ず処理S1において第
1図のプログラム構或情報4より1つのコンパイル単位
であるモジュール名を得る.次に処理S2において、そ
の取得したモジュール名に関連するすべての呼び出し情
報を第1図のインタフェイス情報3から得る. 次に処理S3において処理S2で得た呼び出し情報から
1つの呼び出し情報を得る,次に処理S4において53
で得た1つの呼び出し情報で呼ばれるモジュールの呼び
出され情報を第1図のインタフェイス情報3から得る.
次に処理S5において処埠S3で得た呼び出し情報と処
理S4で得た呼び出され情報との間の呼び出し関係に誤
りが存在するか否かを調べる.この呼び出し関係の誤り
の調査は、両者における引数の型やコールの実現方法等
を照合することにより行われる.また、型の定義が利用
者で可能な言語においては引数のセマンティックな照合
が可能なので、それも検査する.次に、処理S5におけ
る調査結果が誤り有りの場合(処理S6でYESの場合
)、処理S7においてその誤りを特定する情報を出力装
置5から出力した後に処理S8に進み、誤りが存在しな
い場合(処理S6でNoの場合)、処理S7を経由せず
に処理S8へ進む.次に処理S8において処理S2で得
たすべての呼び出し情報についての処理が終了したか否
か即ち当該モジュール内の呼び出し関係の検査が終了し
たか否かを判定し、終了していなければ処理S3に戻っ
て残りの呼び出し情報から未処理の1つの呼び出し情報
を取得して上述した処理を繰り返す. また、処理S8でモジュール内の呼び出し関係の検査が
終了していると判定した場合には、次の処理S9におい
てプログラム内の呼び出し関係の検査が終了したか否か
を判定し、終了していなければ処理Slに戻り、第l図
のプログラム構成情報4から未処理のモジュール名を1
つ取り出して上述したと同様の動作を繰り返す.他方、
プログラム内の呼び出し関係の検査が終了していれば、
第2図の処理を終了する. 〔発明の効果〕 以上説明したように、本発明のモジュール間インタフェ
イス検査装置によれば、モジュール単位をコンパイル単
位とするコンパイラによるコンパイル後に、モジュール
間のインタフェイス情報の無矛盾性を自動的に検査する
ことができる.これによって、従来デバッグ時に行って
いたモジュール間インタフェイス情報の検査が省略でき
、プログラム作戒者の負担を大きく軽減することができ
る等の効果を得ることができる.特に、型の定義が利用
者で可能な言語においては、引数のセマンティックな照
合が可能であるため、その検査効果は大きい.なお、出
力されたインタフェイス情報はプログラムの部品検索を
行う上でも有効に活用することが可能である.
【図面の簡単な説明】
第1図は本発明の一実施例の横威図および、第2図はイ
ンタフェイス検査部の処理例を示すフローチャートであ
る. 図において、 1・・・型を有する言語のコンパイラ 2・・・インタフェイス検査手段 3・・・インタフェイス情報 4・・・プログラム構成情報 5・・・出力装置 6.7・・・記憶装置 11・・・インタフェイス出力部 2l・・・インタフェイス検査部

Claims (1)

  1. 【特許請求の範囲】  プログラムの構成要素であるモジュール単位をコンパ
    イル単位とし且つ型を有する言語のコンパイルを行うコ
    ンパイラに設けられ、コンパイル単位毎にインタフェイ
    ス情報を出力するインタフェイス出力手段と、 該インタフェイス出力手段から出力された各コンパイル
    単位のインタフェイス情報をコンパイル単位毎に保持す
    る第1の記憶手段と、 前記プログラムの構成情報を保持する第2の記憶手段と
    、 前記第1の記憶手段に保持された各コンパイル単位毎の
    インタフェイス情報および前記第2の記憶手段に保持さ
    れた前記プログラムの構成情報を入力し、前記プログラ
    ムを構成する各モジュール間のインタフェイス情報の無
    矛盾性を検査するインタフェイス検査手段とで構成され
    たモジュール間インタフェイス検査装置。
JP19176089A 1989-07-25 1989-07-25 モジュール間インタフェイス検査装置 Pending JPH0355633A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19176089A JPH0355633A (ja) 1989-07-25 1989-07-25 モジュール間インタフェイス検査装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19176089A JPH0355633A (ja) 1989-07-25 1989-07-25 モジュール間インタフェイス検査装置

Publications (1)

Publication Number Publication Date
JPH0355633A true JPH0355633A (ja) 1991-03-11

Family

ID=16280055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19176089A Pending JPH0355633A (ja) 1989-07-25 1989-07-25 モジュール間インタフェイス検査装置

Country Status (1)

Country Link
JP (1) JPH0355633A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970705790A (ko) * 1994-09-02 1997-10-09 에르링 볼롬메, 클라스 노린 인터페이스 테스팅용 방법 및 시스템(a method and a system for testing an interface)
US6924735B2 (en) 2002-10-09 2005-08-02 Honda Giken Kogyo Kabushiki Kaisha Automatic vehicle door locking/unlocking apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970705790A (ko) * 1994-09-02 1997-10-09 에르링 볼롬메, 클라스 노린 인터페이스 테스팅용 방법 및 시스템(a method and a system for testing an interface)
US6924735B2 (en) 2002-10-09 2005-08-02 Honda Giken Kogyo Kabushiki Kaisha Automatic vehicle door locking/unlocking apparatus

Similar Documents

Publication Publication Date Title
US7007249B2 (en) Method for automatically generating checkers for finding functional defects in a description of circuit
JPS63278145A (ja) パラメ−タ対応検査方式
JPH0748182B2 (ja) プログラム・エラー検出方法
JPH0355633A (ja) モジュール間インタフェイス検査装置
JPH01177165A (ja) 配列の定義/引用関係検査方式
JPH0736734A (ja) アーギュメント値のチェック方法
JP3903514B2 (ja) 未定義変数検出の最適化コンパイラ装置
JPH01154256A (ja) プログラムのエラー位置検出方法
JPS60179847A (ja) 実配列および仮配列間の整合性チエツク方式
JP2502128B2 (ja) コンパイラ装置
JPH05334117A (ja) デバッガにおけるデータ値の自動チェック方式
JPS6365542A (ja) デバツグ方式
JPH1031584A (ja) ソフトウエアの検証自動化装置
JPS62127948A (ja) プログラムデバッグ処理方式
KR100216533B1 (ko) 병행 chill 프로그램의 결정적 재실행을 위한 사건 이력 기록 방법
JPH02128239A (ja) コンパイラのテスト方式
JPH04181326A (ja) ソースプログラムのコンパイル方法
JPH0997183A (ja) プログラム変換検査装置及びプログラム変換方法
JPH08212102A (ja) 並列プログラムの検査方法
JPH08194624A (ja) 実行形式プログラム作成方法
JPH0816433A (ja) 網羅度測定装置
JPH04312130A (ja) 言語処理プログラム
JPH02115951A (ja) 高級言語プログラム保守デバッグ方式
JPS63317826A (ja) シンボリックデバッグ方式
JPH0498539A (ja) プログラム情報編集装置