Recasting Program Reverse Engineering through On-Line Analytical Processing
Periklis Andritsos · Library and Archives Canada (Government of Canada) · 2000
Program reverse engineering is the task that helps software engineers understand the architecture of large software systems. We study how the data modeling techniques known as On--Line Analytical Processing (OLAP) can be used to enhance the sophistication and range of reverse engineering tools. This is the first comprehensive examination of the similarities and differences in these tasks, both in how OLAP techniques meet (or fail to meet) the needs of reverse engineering and in how reverse engineering can be recast as data analysis. We identify limitations in the data modeling tools of OLAP that are required in the area of reverse engineering. Specifically, multidimensional models assume that while facts may change dynamically, the structure of dimensions are relatively static (both in their dimension values and their relative orderings). We show both why this is required in current OLAP solutions and provide new solutions that effectively manage dynamic dimensions.