"Knowledge-Based Software Re-Engineering Tools"

Current maintenance and re-engineering tools have limited effectiveness and impact because their analysis is shallow. Improved products with deeper, human-like program understanding will have great practical and commercial value. We propose to improve the quality of automatic re-engineering tools by automatically recognizing and exploiting abstract programming concepts like "read-process loop." Translation of "read-process loop," e.g., will be tailored to the concept to preserve it, use appropriate formatting, and add documentation and specifications. In contrast, existing automatic re-engineering tools, which use only syntactic information, often obscure underlying meaning and produce degraded code. In Phase I we will build a prototype enhanced re-engineering tool that combines an existing re-engineering tool with UNPROG, a unique and practical automatic program understander. Concepts recognized by UNPROG will be used to improve code generation. Testing will be performed on example programs. Results will include the prototype tool, recognition and code generation knowledge, and an evaluation of the tool's performance, added value and potential.


Web Master
Original: 1-Dec-1994
Update: 2-Dec-1994