Evaluating architectural extractors

One of the goals of reverse engineering a software system is to extract an architectural design from the source code. This paper compares a selection of tools available to perform this architectural recovery. The following tools are examined: Rigi (Muller, 1996), the Dali workbench (Kazman and Carriere, 1998), the Software Bookshelf (PBS) (Finnigan et al., 1997), CIA (Chen et al., 1990) and SNiFF+. This comparison is based on the abilities of the tools to perform data extraction, classification, and visualization. Of the tools evaluated, the Software Bookshelf and the Dali workbench were found to be the most suitable for architectural recovery.

[1]  Jeff Kramer,et al.  Requirements for an effective architecture recovery framework , 1996, ISAW '96.

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

[3]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[4]  David Notkin,et al.  An empirical study of static call graph extractors , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

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

[6]  Michael Stonebraker,et al.  The Implementation of Postgres , 1990, IEEE Trans. Knowl. Data Eng..

[7]  Larry Wall,et al.  Programming Perl , 1991 .

[8]  Hausi A. Müller,et al.  Manipulating and documenting software structures using SHriMP views , 1995, Proceedings of International Conference on Software Maintenance.

[9]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[10]  Robert L. Nord,et al.  Software Architecture in Industrial Applications , 1995, 1995 17th International Conference on Software Engineering.

[11]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[12]  Gordon Kotik,et al.  A program transformation approach to automating software re-engineering , 1990, Proceedings., Fourteenth Annual International Computer Software and Applications Conference.

[13]  Mary Shaw,et al.  A field guide to boxology: preliminary classification of architectural styles for software systems , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[14]  Hausi A. Müller,et al.  Using an integrated toolset for program understanding , 1995, CASCON.

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