ABSTRACT
Software reverse engineering is performed for a wide
variety of reasons, ranging from gaining a better under-
standing of system components, over impact analysis while
fixing a defect, to collecting information for making
informed management decisions. Goal-oriented reverse
engineering can be an integral part of a broad spectrum of
different tasks. Examples of such tasks are program under-
standing, gathering quality measures, impact localization,
program slicing, clone detection, object identification,
concept assignment, subsystem composition, design recov-
ery, and business rule extraction.