Dynamic analysis for reverse engineering and program understanding

  • Authors:
  • Eleni Stroulia;Tarja Systä

  • Affiliations:
  • University of Alberta, Edmonton, AB, T6G 2E8, Canada;Tampere University of Technology, 33101 Tampere, Finland

  • Venue:
  • ACM SIGAPP Applied Computing Review
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The main focus of program understanding and reverse engineering research has been on modeling the structure of a program by examining its code. This has been the result of the nature of the systems investigated and the perceived goals of the reverse engineering activities. The types of systems under investigation have changed, however, and the maintenance objectives have evolved. Many legacy systems today are object-oriented and component-based. One of the most prominent maintenance objectives is system migration to distributed environments, most notably the World Wide Web, for interoperation with other systems. This new maintenance objective has a great impact on the types of models expected as products of reverse engineering. As the traditional static software analysis techniques keep their valuable role in program comprehension, additional techniques, especially those focusing on run-time analysis of the subject systems, become equally important. In this paper, we focus on the analysis of the system's dynamic behavior, as it pertains to understanding the system's processes and uses. We give an overview of currently used dynamic reverse engineering techniques and identify some challenges yet to be tackled.