Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272) (1998)
Mar. 16, 1998 to Mar. 19, 1998
K.H. Bennett , University of Durham
Program transformations have been advocated as a method for accomplishing reverse engineering. The hypothesis is that the original source code can be progressively transformed into alternative forms, but with the same semantics. At the end of the process, an equivalent program is acquired, but one which is much easier to understand and more maintainable.We have been undertaking an extensive programme of research over twelve years into the design and development of transformations for the support of software maintenance. The paper very briefly explains the theory, practice and tool support for transformational systems, but does not present new theoretical results. The main results are on an analysis of the strengths and weaknesses of the approach, based on experience with case studies and industrial applications. The evaluation framework used (called DERE) is that presented in . It is hoped that the results will be of benefit to industry, who might be considering using the technology; and to other researchers, interested in addressing the open problems.The overall conclusion is that transformations can help in the bottom-up analysis and manipulation of source code at approximately the 3GL level, and have proved successful in code migration, but need to be complemented by other top-down techniques to be useful at higher levels of abstraction or in more ambitious re-engineering projects.
reverse engineering; program transformations; program comprehension
K. Bennett, "Do Program Transformations Help Reverse Engineering?," Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272)(ICSM), Bethesda, Maryland, 1998, pp. 247.