Abstract
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. 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.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have