Formal methods for legacy systems.

Date

2005-09-05

Advisors

Journal Title

Journal ISSN

ISSN

Volume Title

Publisher

Type

Article

Peer reviewed

Abstract

A method is described for obtaining useful information from legacy code. The approach uses formal proven program transformations, which preserve for refine the semantics of a construct while changing its form. The applicability of a transformation in a particular syntactic context is checked before application. By using an appropriate sequence of transformations, the extracted representation is guaranteed to be equivalent to the code. In this paper, we focus on the results of using this approach in the reverse engineering of medium scale, industrial software, written mostly in languages such as assembler and JOVIAL. Results from both benchmark algorithms and heavily modified, geriatric software are summarised. It is concluded that the approach is viable, for self-contained code, and that useful design information may be extracted from legacy systems at economic cost. We conclude that formal methods have an important practical role in the reverse engineering process.

Description

Paper dated January 6, 1995

Keywords

Alvey, DTI, SERC, IBM UK, IEATP

Citation

Ward, M. and Bennett, K.H. (1995) Formal methods for legacy systems. Journal of Software Maintenance: Research and Practice, 7 (3), pp.203-219.

Rights

Research Institute