ABSTRACT
As mobile devices are rapidly replacing desktop computers for a growing number of users, existing user interfaces often need to be ported from the desktop to a mobile device. In addition, successful user interfaces written for one mobile platform are commonly ported to other mobile platforms. Traditionally, porting user interfaces requires that their source code be reverse-engineered and translated, which is difficult and error-prone. In this paper, we present an approach that reverse-engineers user interfaces without having to analyze their source code. Specifically, our approach examines an interface's runtime representation by means of aspect-oriented programming (AOP). An aspect intercepts the program's control flow at the point when all the components of an interface are laid out on the screen, but before the interface is displayed. The aspect analyzes the interface's in-memory representation and extracts a platform-independent model that can then be used to generate equivalent interfaces for other devices and platforms. Our initial proof of concept ports Java Swing interfaces to Android. In this paper, we describe our approach, discuss its main technical challenges, and outline future research directions.
- M. Abrams, C. Phanouriou, A. L. Batongbacal, S. M. Williams, and J. E. Shuster. UIML: an appliance-independent XML user interface language. Computer Networks, 31(11-16):1695--1708, 1999. Google ScholarDigital Library
- M. F. Ali and M. Abrams. Simplifying construction of multi-platform user interfaces using UIML. In UIML Europe 2001 Conference, 2001.Google Scholar
- T. Bartolomei, K. Czarnecki, and R. Lammel. Swing to SWT and back: Patterns for API migration by wrapping. In Software Maintenance (ICSM), 2010 IEEE International Conference on, pages 1--10. IEEE. Google ScholarDigital Library
- Gartner Inc. Gartner highlights key predictions for IT organizations and users in 2010 and beyond. http://gartner.com/it/page.jsp?id=1278413, 2010.Google Scholar
- K. Luyten, B. Creemers, and K. Coninx. Multi-device layout management for mobile computing devices. Technical report, Limburgs Universitair Centrum, 2003.Google Scholar
- H. Samir, E. Stroulia, and A. Kamel. Swing2Script: Migration of Java-Swing applications to AJAX Web applications. Reverse Engineering, Working Conference on, pages 179--188, 2007. Google ScholarDigital Library
- J. Vanderdonckt. A MDA-compliant environment for developing user interfaces of information systems. In Advanced Information Systems Engineering, pages 16--31. Springer, 2005. Google ScholarDigital Library
Index Terms
- Reverse-engineering user interfaces to facilitateporting to and across mobile devices and platforms
Recommendations
Model-driven reverse engineering of legacy graphical user interfaces
ASE '10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software EngineeringBusinesses are more and more modernizing the legacy systems they developed with Rapid Application Development (RAD), so that they can benefit from the new platforms and technologies. In these systems, the Graphical User Interface (GUI) layout is ...
Generating user interfaces from specifications produced by a reverse engineering process
WCRE '95: Proceedings of the Second Working Conference on Reverse EngineeringA framework for automatic graphical user interface code generation is developed. Tools to support this framework are built: (1) a parser, (2) generation rules, and (3) target code production. The parser reads specifications resulted from a reverse ...
Intuitive application-specific user interfaces for mobile devices
Mobility '07: Proceedings of the 4th international conference on mobile technology, applications, and systems and the 1st international symposium on Computer human interaction in mobile technologyThe user interfaces on current-day mobile devices are limited owing to their small form factor. In this paper, we propose intuitive user interfaces for two applications on mobile phones with built-in cameras, namely, a car-racing game and a map ...
Comments