Reverse-engineering Cobol via formal methods

We describe methods and software tools which aid in reverse-engineering COBOL application programs back to specifications (and in validating them against specifications). The aim is to create object-based abstractions from the implementation to capture design and functionality. The central process which the tools support is ‘transformation from formalism to formalism’, first from COBOL to the intermediate language Uniform, then from Uniform to a functional description language, and then to the specification language Z. In the process, dataflow diagrams, entity-relationship diagrams and call-graphs, and other types of information, are extracted from the code.

[1]  Kevin Lano Z++, An Object-orientated Extension to Z , 1990, Z User Workshop.

[2]  Alan R. Hevner,et al.  Using function abstraction to understand program behavior , 1990, IEEE Software.

[3]  Peter T. Breuer,et al.  Creating specifications from code: Reverse-engineering techniques , 1991, J. Softw. Maintenance Res. Pract..

[4]  Richard C. Waters Program Translation via Abstraction and Reimplementation , 1988, IEEE Trans. Software Eng..

[5]  J. A. Zimmer Restructuring for style , 1990, Softw. Pract. Exp..

[6]  Andrew Parkin,et al.  COBOL for Students , 1975 .

[7]  John Hartman,et al.  Understanding natural programs using proper decomposition , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[8]  Robert A. Kowalski,et al.  Problems and Promises of Computational Logic , 1990 .

[9]  Frank W. Calliss,et al.  The Maintainer's Assistant (software tool) , 1989, Proceedings. Conference on Software Maintenance - 1989.

[10]  José Meseguer,et al.  Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics , 1987, Research Directions in Object-Oriented Programming.

[11]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[12]  John Darlington,et al.  An Experimental Program Transformation and Synthesis System , 1986, Artif. Intell..

[13]  C. T. P. Burton,et al.  Verification and transformation of simple recursive programs-an algebraic approach , 1991 .