AbstractSoftware evolution is a standalone and complex part of Software engineering. This topic of research has been explored since the eighties with a starting roadmap by Lehman. The importance of this activity has increased in the recent years due to ever-changing user needs and target environments. Before starting to maintain or evolve a software system it is crucial to understand it. Program comprehension, due to the raising complexity of software, constitutes one of the most time-consuming and costly processes. Several
methods and techniques exist to support this process. As most actual systems use data, we also have to evolve and understand the database. The database reverse engineering process aims to help recover the database semantics and documentation. But applied to large data systems the current methods may be limited.
This thesis aims to make database reverse engineering easier in presence of large data intensive systems. We make use of techniques such as program analysis, execution trace analysis, schema analysis, data analysis and software repository mining. We then report on the application of the presented techniques and tools to a large case study.
|Date of Award||5 Sep 2013|
|Supervisor||Anthony Cleve (Supervisor)|