A Research of Reverse Engineering Tool which generates a non-procedural specification from COBOL programs
Project/Area Number |
07680434
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Research Field |
情報システム学(含情報図書館学)
|
Research Institution | Aoyama Gakuin University |
Principal Investigator |
HARADA Minoru Faculty of Science and Engineering, Aoyama Gakuin University, Associate Professor, 理工学部, 助教授 (10218654)
|
Project Period (FY) |
1995 – 1996
|
Project Status |
Completed (Fiscal Year 1996)
|
Budget Amount *help |
¥2,400,000 (Direct Cost: ¥2,400,000)
Fiscal Year 1996: ¥1,000,000 (Direct Cost: ¥1,000,000)
Fiscal Year 1995: ¥1,400,000 (Direct Cost: ¥1,400,000)
|
Keywords | Non-procedural Specification / Reverse Engineering / Regeneration / COBOL / Business Processing / Equality Relation / リバース工学 / 非手続き的仕様 / プログラム理解 / ワ-ニエ法 / SPACE / EOS / 識別子 |
Research Abstract |
The maintenance of software becomes more serious year after year. The development/maintenance cost ratio, for example of COBOL programs, is said to be 1 : 3. Major difficulty of software maintenance arises from the fact that a programr should understand the program written by another programr. I propose a technique of reverse engineering of COBOL programs, and develop a "COBOL Reverse Engineer-CORE/M-" based on this technique. CORE/M generates the abstract specification from COBOL programs performing the file processing. CORE/M adopted the non-procedural requirement specification called EOS specification to express the result of understanding of COBOL programs. EOS specification consists of a set of equations, called equality relation, and can be automatically translateed to visual module specification by EOS.EOS specification shows the relationships among the attribute items of entities and their output and update requirements. In each equality relation, each item is modified with "."
… More
by the entity having it as an attribute, and suffixed with "-" by the file storing it. CORE/M does not use the name of variables to understand program meaning because of their naming depend upon programr's personal principles. CORE/M's analysis depends purely upon correspondence between the program structure and the data structure. First, CORE/M parses the COBOL program, and develops it into a block structure. Next, CORE/M decides which entities are processed under what conditions in each block. It can be thought that all the statements in a block of a well-structured program are the calculations of the same entity fulfillling the same condition. Thus, CORE/M basically modifies every item in such a statement with the same entity identifier and the same file modifier. When a specific processing typically consisting of an initialization and a summation body are found, they are correlatively translated into a more abstract function such as SUM,MAX,and 1st. Above CORE/M's analysis consists of eleven steps in total. CORE/M actually converted the sample COBOL program consisting of 234 lines, and generates its EOS specification, which bears the same meanig of that written by an ordinary EOS designer. Future problems are that CORE/M should be extended to understand more complex COBOL program and to generate higher level specification like business data model. Less
|
Report
(3 results)
Research Products
(12 results)