When an information system approaches the end of its lifecycle, maintainers are typically faced with two main options: replacement or migration. Replacing a mission-critical system with a new development poses a high risk, making migration an appealing choice. The term migration signi1es a process wherein an existing information system is modi 1ed in order to run on a different platform, use current technology, follow modern architectural principles, or use a different programming language or paradigm. The functional speci1cation of the system hereby remains unchanged.
Migration offers unique challenges in the area of software performance engineering. During a migration process, unpredictable performance issues can arise. The structure and execution environment of the software are thoroughly modi1ed, often with unforeseeable side-effects. The identi1cation of bottlenecks and root causes for performance problems is a challenging and time-intensive task, requiring a lot of experience and intuition. Information about the system’s structure and implementation may be only partially available, outdated, or no longer applicable due to migration. Thus, the performance analyst must reconstruct this information based on observations and measurements.
The subject of this master’s thesis is to conduct research into software performance engineering techniques, examine their applicability in a migration context, and develop an application that facilitates performance engineering tasks in the context of migration. The application aggregates performance metrics from various sources and is able to reconstruct information about the structure and run-time behavior of the software under test. A combined view of metrics and application state allows to quickly localize problematic areas. Data can be explored interactively at various levels of detail using an adequate graphical user interface. The proof-of-concept prototype of this application was implemented and examined in practice.