Skip Navigation

The Computer Journal 1994 37(9):795-813; doi:10.1093/comjnl/37.9.795
© 1994 by British Computer Society
This Article
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in ISI Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrow Search for citing articles in:
ISI Web of Science (6)
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Ward, M. P.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?

Reverse Engineering through Formal Transformation: Knuth's ‘Polynomial Addition’ Algorithm

M. P. Ward *

Computer Science Department, Science Laboratories, South Road, Durham DH1 3LE, UK

In this paper we will take a detailed look at a larger example of program analysis by transformation. We will be considering Algorithm 2.3.3.A from Knuth's ‘Fundamental Algorithms’ Knuth (1968) (p. 357) which is an algorithm for the addition of polynomials represented using four-directional links. Knuth (1974) describes this as having "a complicated structure with excessively unrestrained goto statements" and goes on to say "I hope someday to see the algorithm cleaned up without loss of its efficiency". Our aim is to manipulate the program, using semantics-preserving operations, into an equivalent, high-level specification. The transformations are carried out in the WSL language, a "wide spectrum language’ which includes both low-level program operations and high level specifications, and which has been specifically designed to be easy to transform.


Received April 8 1994. revised August 12 1994.

* Computer Science Department, Science Laboratories, South Road, Durham DH1 3LE, UK


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?




Disclaimer:
Please note that abstracts for content published before 1996 were created through digital scanning and may therefore not exactly replicate the text of the original print issues. All efforts have been made to ensure accuracy, but the Publisher will not be held responsible for any remaining inaccuracies. If you require any further clarification, please contact our Customer Services Department.