User interface reengineering

The relentless development of new and desirable computing technology has created an overwhelming need to rapidly migrate legacy business application software to new environments. Legacy business applications are typically very large and long-lived, and are usually heavily modified and evolved over the course of many years. Updating these systems by migrating them to new, powerful graphical environments can increase reliability and reduce user errors. However, the difficulty of adapting or reengineering these systems has often made migration infeasibly complex and expensive. Often the application's user interface must be completely rewritten during migration. Because half or more of the code of an interactive system is devoted to implementing its user interface, user interface reengineering is a significant part of the migration problem. The body of work described in this dissertation demonstrates that migration of legacy application user interfaces can be automated, resulting in dramatic cost and time savings. The Model Oriented Reengineering Process for Human-Computer Interface (MORPH) provides automated support for migrating character-oriented user interfaces to graphical user interfaces for legacy business applications. Experiments show MORPH to be significantly faster than a manual migration process and in most cases more accurate. Empirical evidence also shows that the MORPH technique successfully scales to large-sized programs. The contributions of this work include a generalizable, extensible automated process for software migration; a domain model for user interface dialogue components; a specialized data flow analysis technique for migration; a set of language-independent pattern matching rules for user interface components; and an empirical evaluation of the efficacy of a static analysis approach to automating migration. MORPH solves an important problem which is destined to escalate as applications become inevitably larger and more complex. MORPH has laid the groundwork for automated software migration, which is an important addition to the field of software maintenance.