Third Asia-Pacific Software Engineering Conference (APSEC'96)
The Derivation of Functional Specifications from Source Code
Seoul, SOUTH KOREA
December 04-December 07
ISBN: 0-8186-7638-8
Software maintenance has been recognized as the most important phase of the software life cycle. Reverse engineering is an approach to help the maintainers in maintaining code which is poorly documented and understood, by recapturing information that was used to design and build a system. A new class of CASE tools, called reverse-engineering tools has emerged to help developers maintain and enhance existing source code bases. Some works have been done describing the derivation of specifications from code but they have been impractical for real world code and unsuitable for a procedural language such as COBOL. This paper is a study of an approach to reverse engineering of functional specifications, called FACET(Function And Context Extraction Technique). The problems of generating a specification from a complex, large data processing program are discussed and three necessary strategies for overcoming these problems called modularization, abstraction and selection are surveyed. The basic tools needed to implement a FACET system are described as well as the design of a FACET prototype.
Index Terms:
reverse engineering, CASE, design recovery, symbolic evaluation, data flow slicing, modularization, abstraction, selection
Citation:
William E. Howden, Suehee Pak, "The Derivation of Functional Specifications from Source Code," apsec, pp.166, Third Asia-Pacific Software Engineering Conference (APSEC'96), 1996