login

The canonical activities of reverse engineering

Annals of Software EngineeringPublished 1 May 2000
Scott Tilley
Citations20

TL;DR

This paper describes three categories of canonical activities that are characteristic of reverse engineering for program understanding and describes a descriptive model that categorizes important support mechanism features based on a hierarchy of attributes.

Abstract

This paper describes three categories of canonical activities that are characteristic of reverse engineering for program understanding. The activities are data gathering, knowledge management, and information exploration. All tasks carried out by a software engineer during a program understanding exercise can be mapped to a composition of one or more of these canonical activities. The design space formed by the canonical activities can be used to classify the capabilities provided by individual support mechanisms using a common vocabulary. A descriptive model that categorizes important support mechanism features based on a hierarchy of attributes is used to structure the canonical activities.

Keywords

Computer Science