Skip to main content

Research Repository

Advanced Search

Support software evolution with abstraction rules and program knowledge patterns.

Teng, Guifa; Liu, Xiaodong

Authors

Guifa Teng



Abstract

This paper advocates that reengineering is an effective means of legacy system evolution. Extracting formal specification semantically consistent to the original legacy system will facilitate further redesign and forward engineering greatly. The key technology is abstraction, which is often interpreted as the act of hiding irrelevant details.Programming knowledge refers to the "technique" or "convention" that a programmer used to implement an application. The structure of an existing program was heavily affected by this kind of knowledge. A set of programming knowledge patterns are developed to discover the programming knowledge embedded in legacy systems. Implementation details can be eliminated effectively with these patterns and relevant abstraction rules.A unified reengineering approach with a focus on reverse engineering is proposed. The approach is based on three points: the construction of a wide spectrum language based reengineering framework, the development of abstraction rules and programming knowledge patterns.

Citation

Teng, G., & Liu, X. (2002). Support software evolution with abstraction rules and program knowledge patterns. Asian-information-science-life, 1, 177-189

Journal Article Type Article
Publication Date Jan 1, 2002
Deposit Date May 22, 2008
Print ISSN 1541-8219
Peer Reviewed Peer Reviewed
Volume 1
Pages 177-189
Keywords Software development; Genetic algorithms; Evolutionary computing; Knowledge management;
Public URL http://researchrepository.napier.ac.uk/id/eprint/1797