Research Output

Speed and scale up software re-engineering with abstraction patterns and rules.

  Software reengineering is an essential part of software evolution. Two important issues faced by software reengineering techniques are the time involved and the ability to cope with the scale of software systems. Unless these two issues have been addressed properly, the real use of any reengineering technique is limited. Our observation shows that these two issues mainly occur at the reverse engineering stage of reengineering, i.e., the stage to understand the existing software systems.
In this paper, we propose an approach to address these two issues through executable stepwise abstraction. A semi-automatic tool environment is built to abstract the target system into higher level views more quickly to improve the efficiency, and to stepwise abstract the sub-systems of the target system first and then to further abstract the higher level view of the sub-systems into the full view of the target system. Since full automation of reengineering is not possible yet, which is a well accepted view by the community, a set of abstraction patterns are developed to acquire expert observations of the target system as abstraction pattern assertions. Our approach attempts to maximise the automation with the assistance of abstraction rules and abstraction pattern assertions.

  • Date:

    31 December 2000

  • Publication Status:


  • Publisher

    IEEE Computer Society

  • DOI:


  • Library of Congress:

    QA75 Electronic computers. Computer science

  • Dewey Decimal Classification:

    621.389 Computer engineering


Liu, X., Yang, H., Zedan, H., & Cau, A. (2000). Speed and scale up software re-engineering with abstraction patterns and rules. In International Symposium on Principles of Software Evolution, 2000. Proceedings, 90.



evolution; reengineering; reverse engineering; abstraction rules; abstraction patterns; wide spectrum langauge; time critical systems;

Monthly Views:

Available Documents