An evaluation of reverse engineering tool capabilities

Reverse engineering tools support software engineers in the process of analyzing and understanding complex software systems dur ing maintenance, reengineering, or rearchitecting. The functionali ty of such tools var ies from editing and browsing capabili ties to the generation of textual and graphical repor ts. There are several commercial reverse engineering tools on the market providing different capabili ties and supporting specific source code languages. We evaluated four reverse engineering tools that analyze C source code: Refine/C, Imagix4D, SNiFF+, and Rigi. We investigated the capabili ties of these tools by applying them to a realwor ld embedded software system as a case study. We identified benefits and shor tcomings of these tools and assessed their applicabili ty for embedded software systems, their usabili ty, and their extensibility. © 1998 John Wiley & Sons, Ltd.

[1]  W. Richards Adrion Proceedings of the 19th international conference on Software engineering , 1997, ICSE 1997.

[2]  Renato De Mori,et al.  Pattern matching for design concept localization , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

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

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

[5]  Ted J. Biggerstaff,et al.  Program understanding and the concept assignment problem , 1994, CACM.

[6]  David Harel,et al.  On visual formalisms , 1988, CACM.

[7]  Alan W. Brown,et al.  A Framework for Evaluating Software Technology , 1996, IEEE Softw..

[8]  G. W. Furnas,et al.  Generalized fisheye views , 1986, CHI '86.

[9]  Harald C. Gall,et al.  Software Architecture Recovery of Embedded Software , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[10]  Mehdi Jazayeri,et al.  Architecture recovery in ARES , 1996, ISAW '96.

[11]  Harald C. Gall,et al.  Software architecture recovery of a program family , 1998, Proceedings of the 20th International Conference on Software Engineering.

[12]  David Notkin,et al.  An empirical study of static call graph extractors , 1998, TSEM.

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

[14]  Ted J. Biggerstaff,et al.  Design recovery for maintenance and reuse , 1989, Computer.