Design of a generic reverse engineering assistant tool

  • Authors:
  • S. Jarzabek;Tan Poh Keam

  • Affiliations:
  • -;-

  • Venue:
  • WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Reverse engineering is a knowledge-intensive process. We believe the involvement of a domain expert is critical in any but a trivial reverse engineering task. Our approach to reverse engineering assumes close cooperation between a domain expert and a knowledge-based reverse engineering assistant tool. Reverse engineering progresses in steps. At each step, a tool applies heuristic rules to extract design views, while a domain expert accepts/rejects decisions made by a tool and provides additional input to tune in the reverse engineering process. In our projects, we reverse engineer to enhance program understanding and to facilitate software reengineering. We apply reverse engineering to variety of sources, produce many types of design views, use many design view presentation methods and, finally, deal with a rich, evolving set of reverse engineering heuristics. Therefore, we designed a flexible reverse engineering tool that can be easily customized to a reverse engineering task in hand. In particular, our tool (1) can be customized to work with different source languages, (2) contains an end-user facility to specify reverse engineering heuristics, to inspect design views extracted from source programs and to specify filters to tune in the reverse engineering process, and (3) can export design views to other tools for further processing.