CARE: An environment for understanding and re-engineering C programs
- 30 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 130-139
- https://doi.org/10.1109/icsm.1993.366949
Abstract
The authors' focus is on facilitating incremental understanding and re-engineering of existing C programs. A software environment called CARE (computer-aided re-engineering) is used as a vehicle toward that goal. CARE maintains a repository of control-flow and data-flow dependencies (i.e., entities and their relations) of C programs. These dependencies can be visualized using a novel presentation model. Moreover, CARE entails transformation tools that support various ways of displaying program dependencies and facilitate incremental program modifications. An empirical evaluation of the CARE environment using small size C programs is performed. In addition, CARE is used in order to modify the source code of a medium-to-large size program. The results from this empirical evaluation of CARE indicate that its presentation model and transformation tools are a promising step towards improving the effectiveness of understanding and re-engineering existing C programs. Finally, the authors discuss some issues raised during the modification exercise with CARE when using a medium-to-large size program.Keywords
This publication has 8 references indexed in Scilit:
- Facilitating the comprehension of C-programs: an experimental studyPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Layout heuristics for graphical representations of programsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- The usability engineering life cycleComputer, 1992
- A divide-and-conquer algorithm for the automatic layout of large directed graphsIEEE Transactions on Systems, Man, and Cybernetics, 1991
- Maintenance toolsIEEE Software, 1990
- The C information abstraction systemIEEE Transactions on Software Engineering, 1990
- VIFOR: A tool for software maintenanceSoftware: Practice and Experience, 1990
- The maintenance assistant: Work in progressJournal of Systems and Software, 1989