Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3361242.3361250acmotherconferencesArticle/Chapter ViewAbstractPublication PagesinternetwareConference Proceedingsconference-collections
research-article

Extracting Mapping Relations for Mobile User Interface Transformation

Published: 28 October 2019 Publication History

Abstract

The development of mobile apps has become the current mantra for any business' success. The rise of many types of mobile devices and mobile OS has instantly created the need to develop multiple versions for the same app. In order to grasp as much market share as possible, it is desirable to have all the versions of an app demonstrate similar user interface (UI) appearances, to make users feel comfortable when switching from one platform to another and more likely to stick to the app. However, to ensure consistent UIs among cross-platform versions can be a challenging and costly endeavor, since different platforms have their own UI controls and programming languages. In this paper, we propose an automatic approach to transforming mobile app UIs across platforms, and illustrate our approach by transforming the UIs of iOS apps to Android ones. We leverage the enormous existing apps carefully designed by developers to achieve similar UI effects between iOS and Android versions, since these apps contain valuable knowledge of mapping relations between the iOS and Android UI controls. Starting from the reverse engineering of these apps, our approach separates each user interface into modules of adequate sizes. Then it maps the modules from both versions that contribute to the same visual and functional effect, and automatically mines the mapping relations. By applying the mined relations, our approach has successfully transformed the iOS app UIs into Android app UIs, as confirmed by a series of experiments.

References

[1]
Xamarin, "Xamarin," Aug. 2017. [Online]. Available: https://developers.xamarin.com/
[2]
Google, "J2objc," Aug. 2017. [Online]. Available: https://github.com/google/j2objc
[3]
Adobe, "Adobe phonegap," Aug. 2017. [Online]. Available: https://phonegap.com/
[4]
Apache, "Apache cordova," Aug. 2017. [Online]. Available: http://cordova.apache.org/
[5]
Sencha, "Sencha," Aug. 2017. [Online]. Available: https://www.sencha. com/
[6]
Myappconverter, "Myappconverter," Aug. 2017. [Online]. Available: https://apps.myappconverter.com/
[7]
MyappconverterWeb, "Myappconverterdocument," Aug. 2017. [Online]. Available: https://docs.myappconverter.com/
[8]
Appium, "Appium," Aug. 2017. [Online]. Available: http://appium.io/slate/en/master/
[9]
Android, "Android developer," Aug. 2017. [Online]. Available: https://developer.android.com/reference/classes.html
[10]
iOS, "ios developer," Aug. 2017. [Online]. Available: https://developer.apple.com/ios/human-interface-guidelines/ui-controls/buttons/
[11]
Coding, "Coding," Aug. 2017. [Online]. Available: https://github.com/Coding/Coding-iOS
[12]
Wocall, "Wocall," Aug. 2017. [Online]. Available: https://gitbug.com/Quotation/Whocall
[13]
PlainReader, "Plainreader," Aug. 2017. [Online]. Available: https://github.com/guojiubo/PlainReader
[14]
DouBan, "Douban," Aug. 2017. [Online]. Available: https://gutbuh.com/TonnyTao/DoubanAlbum
[15]
zulip, "zulip," Aug. 2017. [Online]. Available: https://github.com/zulip/zulipios-legacy
[16]
Doppio, "Doppio," Aug. 2017. [Online]. Available: https://github.com/chroman/Doppio
[17]
News-YC, "News-yc," Aug. 2017. [Online]. Available: https://github.com/grp/newsyc
[18]
WNXHuntForCity, "Wnxhuntforcity," Aug. 2017. [Online]. Available: https://github.com/ZhongTaoTian/WNXHuntForCity
[19]
M. Palmieri, I. Singh, and A. Cicchetti, "Comparison of cross-platform mobile development tools," 2012 16th International Conference on Intelligence in Next Generation Networks, pp. 179--186, 2012.
[20]
A. Holzinger, P. Treitler, and W. Slany, "Making apps useable on multiple different mobile platforms: On interoperability for business application development on smartphones," International Conference on Availability, Reliability, and Security, pp. 176--189, 2012.
[21]
S. Xanthopoulos and S. Xinogalos, "A comparative analysis of cross-platform development approaches for mobile applications," Proceedings of the 6th Balkan Conference in Informatics, pp. 213--220, 2013.
[22]
V. Tunali and S. Zafer, "Comparison of popular cross-platform mobile application development tools," Celal Bayar University: Faculty of Technology Department of Software Engineering, Maltepe University: Faculty of Engineering and Natural Sciences Department of Software Engineering, 2015.
[23]
J. Friberg, "Evaluation of cross-platform development for mobile devices," 2014.
[24]
N. Boushehrinejadmoradi, V. Ganapathy, S. Nagarakatte, and L. Iftode, "Testing cross-platform mobile app development frameworks (t)," 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 441--451, 2015.
[25]
S. Barnett, R. Vasa, and J. Grundy, "Bootstrapping mobile app development," Proceedings of the 37th International Conference on Software Engineering-Volume 2, pp. 657--660, 2015.
[26]
M. Brambilla, J. Cabot, and M. Wimmer, "Model-driven software engineering in practice," Synthesis Lectures on Software Engineering, vol. 3, no. 1, pp. 1--207, 2017.
[27]
T.-D. Nguyen and J. Vanderdonckt, "User interface master detail pattern on android," Proceedings of the 4th ACM SIGCHI symposium on Engineering interactive computing systems, pp. 299--304, 2012.
[28]
A. Ribeiro and A. R. da Silva, "Evaluation of xis-mobile, a domain specific language for mobile application development," Journal of Software Engineering and Applications, vol. 7, no. 11, p. 906, 2014.
[29]
H. Heitkötter, T. A. Majchrzak, and H. Kuchen, "Cross-platform model- driven development of mobile applications with md 2," Proceedings of the 28th Annual ACM Symposium on Applied Computing, pp. 526--533, 2013.
[30]
M. E. Joorabchi, M. Ali, and A. Mesbah, "Detecting inconsistencies in multi-platform mobile apps," 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE), pp. 450--460, 2015.
[31]
W. S. El-Kassas, B. A. Abdullah, A. H. Yousef, and A. M. Wahba, "Enhanced code conversion approach for the integrated cross-platform mobile development (icpmd)," IEEE Transactions on Software Engineering, vol. 42, no. 11, pp. 1036--1053, 2016.
[32]
A. Gokhale, V. Ganapathy, and Y. Padmanaban, "Inferring likely mappings between apis," Proceedings of the 2013 International Conference on Software Engineering, pp. 82--91, 2013.
[33]
M. P. Robillard, E. Bodden, D. Kawrykow, M. Mezini, and T. Ratchford, "Automated api property inference techniques," IEEE Transactions on Software Engineering, vol. 39, no. 5, pp. 613--637, 2013.
[34]
H. Zhong, S. Thummalapenta, T. Xie, L. Zhang, and Q. Wang, "Mining api mapping for language migration," Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1, pp. 195--204, 2010.
[35]
R. Nix and J. Zhang, "Classification of android apps and malware using deep neural networks," 2017 International Joint Conference on Neural Networks (IJCNN), pp. 1871--1878, 2017.
[36]
X. Gu, H. Zhang, D. Zhang, and S. Kim, "Deep api learning," Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 631--642, 2016.
[37]
V. Srivastava, M. D. Bond, K. S. McKinley, and V. Shmatikov, "A security policy oracle: Detecting security holes using multiple api implementations," ACM SIGPLAN Notices, vol. 46, no. 6, pp. 343--354, 2011.
[38]
S. Wang, T. Liu, and L. Tan, "Automatically learning semantic features for defect prediction," 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE), pp. 297--308, 2016.
[39]
E. Wong, T. Liu, and L. Tan, "Clocom: Mining existing source code for automatic comment generation," 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), pp. 380--389, 2015.
[40]
R. Holmes, R. Cottrell, R. J. Walker, and J. Denzinger, "The end-to-end use of source code examples: An exploratory study," 2009 IEEE International Conference on Software Maintenance, pp. 555--558, 2009.
[41]
F. Lv, H. Zhang, J.-g. Lou, S. Wang, D. Zhang, and J. Zhao, "Codehow: Effective code search based on api understanding and extended boolean model (e)," 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 260--270, 2015.
[42]
C. McMillan, M. Grechanik, D. Poshyvanyk, Q. Xie, and C. Fu, "Portfolio: finding relevant functions and their usage," Proceedings of the 33rd International Conference on Software Engineering, pp. 111-- 120, 2011.

Cited By

View all
  • (2024)Trans-Compiler-Based Conversion from Cross-Platform Applications to Native ApplicationsAnnals of Emerging Technologies in Computing10.33166/AETiC.2024.04.0018:4(1-29)Online publication date: 1-Oct-2024
  • (2023)Mobile Application Code Generation Approaches: A SurveyAdvances in Model and Data Engineering in the Digitalization Era10.1007/978-3-031-23119-3_10(136-148)Online publication date: 10-Jan-2023
  • (2023)Automated library mapping approach based on cross‐platform for mobile development programming languagesSoftware: Practice and Experience10.1002/spe.328154:5(683-703)Online publication date: 19-Oct-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Internetware '19: Proceedings of the 11th Asia-Pacific Symposium on Internetware
October 2019
179 pages
ISBN:9781450377010
DOI:10.1145/3361242
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 October 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Code transformation
  2. Cross-platform development
  3. Graphical user interface
  4. Mobile applications

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • the National Natural Science Foundation of China
  • the Jiangsu key R & D Plan of China
  • the National Key R & D Program of China

Conference

Internetware '19

Acceptance Rates

Internetware '19 Paper Acceptance Rate 20 of 35 submissions, 57%;
Overall Acceptance Rate 55 of 111 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)1
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Trans-Compiler-Based Conversion from Cross-Platform Applications to Native ApplicationsAnnals of Emerging Technologies in Computing10.33166/AETiC.2024.04.0018:4(1-29)Online publication date: 1-Oct-2024
  • (2023)Mobile Application Code Generation Approaches: A SurveyAdvances in Model and Data Engineering in the Digitalization Era10.1007/978-3-031-23119-3_10(136-148)Online publication date: 10-Jan-2023
  • (2023)Automated library mapping approach based on cross‐platform for mobile development programming languagesSoftware: Practice and Experience10.1002/spe.328154:5(683-703)Online publication date: 19-Oct-2023

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media