Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Achievements and challenges in software reverse engineering
Canfora G., Di Penta M., Cerulo L. Communications of the ACM54 (4):142-151,2011.Type:Article
Date Reviewed: Jul 15 2011

Reverse engineering is now recognized as the vital discipline in supporting software maintenance. Documentation is always incomplete and out of date, so one relies on the code. Even the cleanest code, however, fails to identify all of the requirements, assumptions, and dependencies involved.

In the last two decades, many novel tools and techniques have been developed to help programmers analyze code. One of the strengths of this paper is the categorization of the types of tools and their desirable features. ¿The list of nearly 50 recent references is a good starting point for researchers. An older annotated bibliography [1] gives a historical perspective.

The paper has a few spelling mistakes and grammatical errors, but is still clear and accurate. Though it is a good survey of reverse engineering tools, the figures in the virtual extension of the magazine ruined it for me.¿One figure is a bandwidth-consuming computer-generated image with no visible relation to the topic being discussed.¿The other figure is a visual summary of the ontology that the authors developed from Chikofsky and Cross’s¿taxonomy [2]. This diagram claims to use the unified modeling language (UML), but is full of novice-type errors, such as roles at the wrong ends of associations and incorrect arrowheads. Researchers¿would be wise to get the Hypertext Markup Language (HTML) version that omits the figures.¿The tables of tools, however, will be valuable to practitioners, and these are only in the PDF version of the paper.

Reviewer:  Richard Botting Review #: CR139248 (1112-1293)
1) van den Brand, M. G. J.; Klint, P.; Verhoef, C. Reverse engineering and system renovation--an annotated bibliography. ACM SIGSOFT Software Engineering Notes 22, (1997), 57–68.
2) Chikofsky, E.; Cross, J. I. Reverse engineering and design recovery: a taxonomy. IEEE Software 7, (1990), 13–17.
Bookmark and Share
  Featured Reviewer  
 
Distribution, Maintenance, and Enhancement (D.2.7 )
 
 
Management (D.2.9 )
 
 
Software Management (K.6.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Distribution, Maintenance, and Enhancement": Date
A program design language based software maintenance tool
Ince D. (ed) Software--Practice & Experience 15(6): 583-594, 1985. Type: Article
Mar 1 1986
The complete computer maintenance handbook
Bellin D. (ed), Harper&Row Publishers, Inc., New York, NY, 1986. Type: Book (9789780060406189)
Jul 1 1986
Building custom software tools and libraries
Stitt M., John Wiley & Sons, Inc., New York, NY, 1993. Type: Book (9780471579144)
Nov 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy