Title :
FEPSS: a flexible and extensible program comprehension support system
Author :
Lin, Tao ; O´Brien, Liam
Author_Institution :
Math. & Inf. Sci., CSIRO, Canberra, ACT, Australia
Abstract :
This paper describes the architecture of an ongoing 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 modelling. 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
Keywords :
data flow graphs; data visualisation; reverse engineering; software tools; systems re-engineering; 3D visualization; FEPSS; artifact modelling; control-flow graphs; data-flow graphs; design rationale; flexible extensible program comprehension system; forward engineering; navigation tool; program understanding; re-engineering; relational object model; reverse engineering; run time; testing cases; Computer architecture; Data models; Data visualization; Information analysis; Navigation; Reverse engineering; Software maintenance; Software systems; Three dimensional displays; Two dimensional displays;
Conference_Titel :
Reverse Engineering, 1998. Proceedings. Fifth Working Conference on
Conference_Location :
Honolulu, HI
Print_ISBN :
0-8186-8967-6
DOI :
10.1109/WCRE.1998.723174