• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

1996 Fiscal Year Annual Research Report

プログラムからその意図を理解して非手続き仕様を逆生成するリバース工学の研究

Research Project

Project/Area Number 07680434
Research InstitutionAoyama Gakuin University

Principal Investigator

原田 実  青山学院大学, 理工学部, 助教授 (10218654)

Keywords非手続仕様 / 逆生成 / 逆工学 / COBOL / 事務処理 / 等関係式
Research Abstract

プログラムの保守を効率化するためには,プログラムから仕様への逆生成が重要である。本研究では,ファイル処理例題に対するCOBOLプログラムから形式的な要求仕様を逆生成する手法を提案するとともに,それを実現するシステムCOBOL Reverse Engineer for Modules:CORE/Mを開発した。プログラム理解の結果を表す要求仕様として,等関係仕様を提案した。この一般形は,「X_<L・>I0_F=g(X0_<G0・>I0_<F0>,X1_<F1.><I0,I1>_<F1>,・・・)」のようになる。この式は,「識別子I0=値i0で表わされる実体I0_Fの属性X_L.I0_Fの値は,他のファイルG0におけるこの実体I0_<F0>の別の属性X0_<G0.>I0_<F0>や実体I0=i0と関連している全ての実体I1の属性X1_<F1.><I0,I1>_<F1>などに,関数gを適用させて求まる」ことを表している。この様に,計算対象の特定化を識別子やファイル修飾子によって,また計算の算術的意味を数式や関数によって表している。特に,I0=値i0に対するX1_<F1.><I0,I1>_<F1>は順序集合で,これに関数gを作用させて左辺の値X_<L.>I0_Fを求めることを表す。従って,プログラム内の繰り返し処理ブロック内で行われる計算式は,その処理ブロック内での計算対象を表す識別子I0を同定するだけで,(1)のような等関係式を用いてその式の(例えば実体I0に対する集計などの)意味を表現できる。
等関係式集合を入力するとCORE/Mは,まずプログラムをブロック構造に分解し,ブロック内で処理される計算対象の特性を,「ブロックの実行条件が,(1)識別子間の選択条件の時はファイル修飾子間の照合条件に,(2)値による選択条件の時はIF条件に,(3)標別子がある範囲の時行う繰り返し条件はこの対象を表す識別子に,それぞれ対応させる」という基本的考えに従って,各ブロック内の各計算式を等関係式に変換することで,EOS仕様を生成する。事例として,234行のCOBOLプログラムを変換した結果,元のプログラムと同じ実行結果を与える等関係式仕様を得た。今後の課題としては,等価変換などを用いて,入力プログラムに課した制約の多くを除くことである。

  • Research Products

    (3 results)

All Other

All Publications (3 results)

  • [Publications] 原田実,吉川彰一,永井栄一郎: "COBOLプログラムからの非手続き仕様を逆生成するリバースエンジニアCORE/M" 情報処理学会論文誌. 36. 714-727 (1995)

  • [Publications] Minoru Harada Junichi Nishimura Yoshiyuki Nakamura: "Automatic Process Design from Non-procedural Specification" Systems and Computers in Japan. 26. 196-206 (1995)

  • [Publications] 永井栄一郎,原田実: "構造化されていないCOBOLプログラムも設計仕様に変換する逆工学システム研究開発" 情報処理学会第50回全国大会予稿集4L-1. 第5分冊. 255-256 (1995)

URL: 

Published: 1999-03-08   Modified: 2016-04-21  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi