This paper sets out to investigate how COBOL programs can be interpreted using Prolog. For this purpose, we examine how an executable logic specification can be obtained, which is semantically equivalent to the original source. We define a specification language COPRA as a restricted subset of Prolog and show how various imperative constructs, such as GOTOs and subroutine calls, can be handled in this language. The specification is generated automatically and may serve as a starting point for reengineering in form of a higher-level modification of the source program.