The art of computer un-programming: Reverse engineering in Prolog

  • Peter T. Breuer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 636)


A suite of Prolog tools for reverse-engineering and validating COBOL programs has been developed as part of the ESPRIT REDO project [8]. These tools produce functional abstractions, object-oriented designs and documentation from raw source code, with the aim of improving comprehensibility and maintainability, and this article discusses the tools and aspects of their programming.


Reverse Engineering Reverse Engineer Functional Programming Language Uniform Code Functional Abstraction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Breuer P. The First Step Backwards, REDO project document 2487-TN-PRG-1031, Oxford University Computing Laboratory, 11 Keble Road, Oxford OX1 3QD, UK.Google Scholar
  2. 2.
    Breuer P., Lano K., From Code to Specifications: Reverse Engineering Techniques, Software Maintenance — Research and Practice, Sept. 1991.Google Scholar
  3. 3.
    Breuer P., Lano K., Reverse Engineering COBOL Software Maintenance — Research and Practice, 1992.Google Scholar
  4. 4.
    Breuer P., et al. Understanding Programs through Formal Methods PRG-TR-15-91, Oxford University Computing Laboratory, 1991.Google Scholar
  5. 5.
    Cartmell J., Alderson A., The Eclipse Two-Tier Database, Chapter 5, ECLIPSE Manual, IPSYS Software Ltd, Marlborough Court, Pickford St., Macclesfield, Cheshire, 1990.Google Scholar
  6. 6.
    Gries D., The Science of Programming, Springer-Verlag, 1981.Google Scholar
  7. 7.
    S.C. Johnson and M.E. Lesk. Language development tools. The Bell System Technical Journal 57(6) part 2, pp. 2155–2175, July/August 1978.Google Scholar
  8. 8.
    Katsoulakos P., Reverse Engineering, Documentation and Validation: The REDO Project, ESPRIT 89 Conference, Brussels, 1990.Google Scholar
  9. 9.
    Lano K., An Outline Specification of the CICS Application Programmers Interface REDO Document TN-2487-PRG-1025, Oxford University Programming Research Group, 1989.Google Scholar
  10. 10.
    Lano K., The Transformation of Specifications into Code, REDO Document TN-2487-PRG-1023, Oxford University Programming Research Group, 1990.Google Scholar
  11. 11.
    Lano K., Z++, An Object-Oriented Extension to Z, Proc. 5th Annual Z User Meeting, December 1990, Springer-Verlag Workshops in Computer Science, 1991, to appear.Google Scholar
  12. 12.
    Linger R., Hausler P., Pleszlioch M., Heruer A., Using Functional Abstraction to Understand Program Behavior, IEEE Software, Jan. 1990.Google Scholar
  13. 13.
    Parkin A., COBOL for Students, Edward Arnold, London, 1984.Google Scholar
  14. 14.
    Spivey M., The Z Notation: A Reference Manual, Prentice Hall, 1989.Google Scholar
  15. 15.
    Stanley-Smith C., Cahill A., UNIFORM: A Language Geared To System Description and Transformation, University of Limerick, 1990.Google Scholar
  16. 16.
    Quintus Prolog Version 2.5 Manual, Artificial Intelligence International Ltd., Watford, U.K., 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Peter T. Breuer
    • 1
  1. 1.Oxford University Computing LaboratoryOxfordUK

Personalised recommendations