Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261) (1998)
Oct. 12, 1998 to Oct. 14, 1998
T. Lin , CSIRO
L. O'Brien , CSIRO
This paper describes the architecture of an on going developed Flexible and Extensible Program comprehension Support System (FEPSS). Program comprehension is a process for supporting users to understand a software system and is required for forward, reverse engineering, and re-engineering. In a program comprehension process some artifacts such as control-flow graphs and data-flow graphs need to be generated to help users in understanding and some artifacts such as design rationale and testing cases also need to be recorded for further re-engineering. It is impossible to predict all the types of artifacts to be supported in a program comprehension process as at least no one makes a re-engineering plan when designing a new software system. Therefore, a program comprehension system should support a great flexibility and extensibility in artifact modeling. The approach, which FEPSS takes, is to provide a support system where the users can add new artifacts even at run time. FEPSS uses a relational object model to link the artifacts in order to integrate various activities in a program comprehension process as a whole. To help users to understand the artifacts and their relationships FEPSS uses 3D visualization to display artifacts. As the number of the artifacts for a software system can be very large, FEPSS provides a navigation tool for users to control what artifacts to display. Based on these mechanisms, FEPSS can support users to analyze, model, and explore the artifacts through pictures.
L. O'Brien and T. Lin, "FEPSS: A Flexible and Extensible Program Comprehension Support System," Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)(WCRE), Honolulu, Hawaii, 1998, pp. 40.