Comparing graph-based program comprehension tools to relational database-based tools

In this paper we compare the experiences of applying the graph-based GUPRO approach to experiences in applying ANAUSoftSpec-an approach based on relational databases. We present the results of a case study in which GUPRO has been applied to a multi-language software system for stock trading (GEOS). Comparing the results of the case study, with experiences of applying ANAL/SoftSpec to GEOS we show that the graph-oriented approach enables an efficient way of source code analysis and program understanding.

[1]  Horst Zuse,et al.  Software complexity: Measures and methods , 1990 .

[2]  Hausi A. Müller,et al.  A reverse-engineering approach to subsystem structure identification , 1993, J. Softw. Maintenance Res. Pract..

[3]  Hausi A. Müller,et al.  The Software Bookshelf , 1997, IBM Syst. J..

[4]  Andreas Winter,et al.  Querying as an enabling technology in software reengineering , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[5]  Mark A. Linton,et al.  Implementing relational views of programs , 1984, SDE 1.

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

[7]  Stan Jarzabek PQL: A Language for Specifying Abstract Program Views , 1995, ESEC.

[8]  Susan Elliott Sim,et al.  A structured demonstration of program comprehension tools , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[9]  Cornelia Boldyreff,et al.  Using application understanding to support impact analysis , 1998 .

[10]  Andy Schürr,et al.  GXL: toward a standard exchange format , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[11]  Gerardo Canfora,et al.  A workbench for program comprehension during software maintenance , 1996, WPC '96. 4th Workshop on Program Comprehension.

[12]  Harry M. Sneed Estimating the costs of software maintenance tasks , 1995, Proceedings of International Conference on Software Maintenance.

[13]  Harald C. Gall,et al.  A comparison of four reverse engineering tools , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[14]  Lawrence Markosian,et al.  Customized tools for software quality assurance and reengineering , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[15]  Aniello Cimitile,et al.  A Logic-Based Approach to Reverse Engineering Tools Production , 1992, IEEE Trans. Software Eng..

[16]  Stan Jarzabek,et al.  Design of a generic reverse engineering assistant tool , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[17]  Philip Newcomb Legacy System Cataloging Facility , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[18]  Cornelia Boldyreff,et al.  Using application understanding to support impact analysis , 1998, J. Softw. Maintenance Res. Pract..

[19]  Harry M. Sneed,et al.  Comprehending a complex, distributed, object-oriented software system: a report from the field , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[20]  David Chenho Kung,et al.  A study on the effect of architecture on maintainability of object-oriented systems , 1995, Proceedings of International Conference on Software Maintenance.