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.