This paper describes a set of tools for the reengineering of computer-based systems, in particular software. The toolset is based on an abstract intermediate representation (IR) which incorporates the system software architecture at five level of granularity: program level, task level, package/object instance level, subprogram level and statement level. The toolset provides a graphical user interface that allows various views of a software architecture, including call graph, rendezvous graph, call-rendezvous graph, call-data-rendezvous graph, control flow graph and dependence graphs. The information captured by the toolset is useful in software structure, flow and interaction analysis, tasks commonly performed manually during maintenance and reengineering. This information is also helpful for understanding the software design to guide software transformation, and for porting software to distributed platforms.


Computer Sciences

Publisher statement

Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.



URL: http://digitalcommons.calpoly.edu/csse_fac/7