Facilitating the comprehension of C-programs: an experimental study

A software environment called CARE (computer-aided re-engineering) that facilitates the comprehension of existing C programs is described. Program comprehension in CARE is accomplished by visualizing program dependencies (i.e. entities and their relations). A repository of such dependencies is maintained and displayed using a graphical model which combines control and data-flow information. Moreover, CARE entails transformation tools and abstraction mechanisms that support monolithic and multiple-view organization of program dependencies. Results from an experimental study with the CARE environment has shown that the productivity of its users was increased and the quality of the changes made during a software maintenance task was improving. Finally, the lessons learned from an empirical evaluation of the CARE environment indicated that its graphical model, transformation tools and abstraction mechanisms constitute a promising platform for the comprehension of C programs.<<ETX>>

[1]  Vaclav Rajlich,et al.  Layout heuristics for graphical representations of programs , 1991, Conference Proceedings 1991 IEEE International Conference on Systems, Man, and Cybernetics.

[2]  Jakob Nielsen,et al.  The usability engineering life cycle , 1992, Computer.

[3]  C. V. Ramamoorthy,et al.  The C Information Abstraction System , 1990, IEEE Trans. Software Eng..

[4]  Panagiotis K. Linos,et al.  VIFOR: A tool for software maintenance , 1990, Softw. Pract. Exp..

[5]  Paul W. Oman Maintenance tools , 1990, IEEE Software.

[6]  Keith H. Bennett,et al.  Approaches to program comprehension , 1991, J. Syst. Softw..

[7]  Lawrence A. Rowe,et al.  A divide-and-conquer algorithm for the automatic layout of large directed graphs , 1991, IEEE Trans. Syst. Man Cybern..