*Result*: Abstracting a Specification from Code.
*Further Information*
*Much of the work on developing program transformation systems has concentrated on systems to assist in program development. However, the four separate surveys carried out, between 1977 and 1990 (Foster and Kiekuth, 1990; Lientz and Swanson, 1980; Morton, 1988; Nosek and Palvia, 1990), summarized in Foster (1991), show that between 40% aid 60% of all commercial software effort is devoted to software maintenance rather than the development of new systems. In this paper we describe a joint project between the University of Durham and CSM Ltd to develop a method and tool for revene-engineering and software maintenance based on program transformation theory. We present an example which Illustrates how such a tool can extract a high-level abstract specification from the low-level source code of a program by a process of tonal program transformation based on a theory of program equivalence (Ward, 198%). All the code-level reverse-engineering of the example program was carried out on the prototype tool with the resulting code pasted directly Into the paper. [ABSTRACT FROM AUTHOR]
Copyright of Journal of Software Maintenance: Research & Practice is the property of Wiley-Blackwell and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)*