Software Reverse Engineering

Abstract

The goal of this research was to develop algorithms to translate procedural languages (such as FORTRAN and PASCAL) to non procedural languages. Such algorithms are desirable for a number of reasons. Their semantics is easier to understand since they resemble a set of specification for action rather than the traditional flow of control. They are easier to modify since statements are not dependent on one another. It is easier to verify their correctness since standard theorem provers used for program verifications require programs to be in non procedural form. Lately, with the increase need in DoD of translating old programs to new languages such as Ada (reverse software engineering). It is advantageous to reduce old program to a common non procedural form before translation from that form to the target language. This will permit the recapture of the program's semantics, make desired modification, check its correctness, etc. Accomplishments are (1) algorithms to translate FORTRAN programs to MODEL. FORTRAN representing a procedural language and MODEL represent a non procedural declarative language. (2) Algorithm to translate concurrent FORTRAN programs to MODEL.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 11, 1991
Accession Number
ADA232644

Entities

People

  • Noah S. Prywes

Organizations

  • University of Pennsylvania

Tags

DTIC Thesaurus Topics

  • Abstracts
  • Air Force
  • Algorithms
  • Artificial Intelligence
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Engineering
  • Information Science
  • Language
  • Reverse Engineering
  • Semantics
  • Software Development
  • Specifications
  • Translations
  • Verification

Fields of Study

  • Computer science
  • Engineering

Readers

  • Artificial Intelligence
  • Computer Science.
  • Software Engineering.