logo

SCIENCE CHINA Information Sciences, Volume 63 , Issue 10 : 202101(2020) https://doi.org/10.1007/s11432-019-2646-2

MashReDroid: enabling end-user creation of Android mashups based on record and replay

More info
  • ReceivedJun 3, 2019
  • AcceptedAug 9, 2019
  • PublishedSep 16, 2020

Abstract

To allow end users to combine different apps for accomplishing various goals, it is desired that they can create mashups of mobile apps in an on-demand fashion.The end user creation of mobile mashups, however, is complicated by the fact that many apps do not expose interfaces for mashup and the lack of user friendly interfaces for end user programming.In this paper, we propose MashReDroid, an end user programming approach for the creation of Android mashups that incorporates the behaviors of backend apps into the execution of a host app.MashReDroid automatically transforms Android apps into mashup enabled apps.It then allows end users to create mashups by recording the interactions between host apps and backend apps and run mashups by replaying the interactions.Our evaluation shows that MashReDroid supports a variety of real scenarios and users can easily create and use mashups with a very low overhead.


References

[1] Xu Q, Erman J, Gerber A, et al. Identifying diverse usage behaviors of smartphone apps. In: Proceedings of the 11th ACM SIGCOMM Internet Measurement Conference, Berlin, 2011. 329--344. Google Scholar

[2] Ma Y, Liu X Z, Yu M H, et al. Mashdroid: an approach to mobile-oriented dynamic services discovery and composition by in-app search. In: Proceedings of the 2015 IEEE International Conference on Web Services, New York, 2015. 725--730. Google Scholar

[3] Wong J, Hong J I. Making mashups with marmite: towards end-user programming for the web. In: Proceedings of the 2007 Conference on Human Factors in Computing Systems, San Jose, 2007. 1435--1444. Google Scholar

[4] Stolee K T, Elbaum S G. Refactoring pipe-like mashups for end-user programmers. In: Proceedings of the 33rd International Conference on Software Engineering, Waikiki, 2011. 81--90. Google Scholar

[5] Cappiello C, Matera M, Picozzi M, et al. Dashmash: a mashup environment for end user development. In: Proceedings of the 11th International Conference on Web Engineering, Paphos, 2011. 152--166. Google Scholar

[6] Ghiani G, Paternò F, Spano L D. An environment for End-User Development of Web mashups. Int J Human-Comput Studies, 2016, 87: 38-64 CrossRef Google Scholar

[7] Liu X Z, Huang G, Zhao Q. iMashup: a mashup-based framework for service composition. Sci China Inf Sci, 2014, 57: 1-20 CrossRef Google Scholar

[8] Daniel F, Matera M, Weiss M. Next in Mashup Development: User-Created Apps on the Web. IT Prof, 2011, 13: 22-29 CrossRef Google Scholar

[9] Cappiello C, Matera M, Picozzi M. End-user development of mobile mashups. In: Proceedings of the 2nd International Conference on Design, User Experience, and Usability, Las Vegas, 2013. 641--650. Google Scholar

[10] Rana J, Morshed S, Synnes K. End-user creation of social apps by utilizing web-based social components and visual app composition. In: Proceedings of the 22nd International Conference on World Wide Web, New York, 2013. 1205--1214. Google Scholar

[11] Azim T, Riva O, Nath S. ulink: enabling user-defined deep linking to app content. In: Proceedings of the 14th Annual International Conference on Mobile Systems, Applications, and Services, Singapore, 2016. 305--318. Google Scholar

[12] Gomez L, Neamtiu I, Azim T, et al. Reran: timing- and touch-sensitive record and replay for android. In: Proceedings of the 2013 International Conference on Software Engineering, Piscataway, 2013. 72--81. Google Scholar

[13] Hu Y J, Azim T, Neamtiu I. Versatile yet lightweight record-and-replay for android. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, Pittsburgh, 2015. 349--366. Google Scholar

[14] Zheng J H, Peng X, Yang J C, et al. Colladroid: automatic augmentation of android application with lightweight interactive collaboration. In: Proceedings of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing, New York, 2017. 2462--2474. Google Scholar

[15] Erenkrantz J R, Gorlick M, Suryanarayana G, et al. From representations to computations: the evolution of web architectures. In: Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, New York, 2007. 255--264. Google Scholar

[16] Hartmann B, Wu L, Collins K, et al. Programming by a sample: rapidly creating web applications with d.mix. In: Proceedings of the 20th Annual ACM Symposium on User Interface Software and Technology, New York, 2007. 241--250. Google Scholar

[17] Lin J, Wong J, Nichols J, et al. End-user programming of mashups with vegemite. In: Proceedings of the 14th International Conference on Intelligent User Interfaces, New York, 2009. 97--106. Google Scholar

[18] Ma Y, Lu X, Liu X Z. Data-driven synthesis of multiple recommendation patterns to create situational Web mashups. Sci China Inf Sci, 2013, 56: 1-16 CrossRef Google Scholar

[19] Lee J, Gardu no L, Walker E, et al. A tangible programming tool for creation of context-aware applications. In: Proceedings of the 13th ACM International Joint Conference on Pervasive and Ubiquitous Computing, Zurich, 2013. 391--400. Google Scholar

[20] Wang R, Chen S Z, Feng Z Y, et al. A client microservices automatic collaboration framework based on fine-grained app. In: Proceedings of 2018 IEEE International Conference on Services Computing (SCC), 2018. 25--32. Google Scholar

[21] Zhou D H, Lee Y J. Design and implementation of location-aware semantic mobile mashups. In: Proceedings of the International Conference on Intelligent Science and Technology, 2018. 72--76. Google Scholar

[22] Cassani V, Gianelli S, Matera M, et al. On the role of context in the design of mobile mashups. In: Proceedings of International Rapid Mashup Challenge, 2016. 108--128. Google Scholar

[23] Daniel F, Matera M, Quintarelli E, et al. Context-aware access to heterogeneous resources through on-the-fly mashups. In: Proceedings of International Conference on Advanced Information Systems Engineering, 2018. 119--134. Google Scholar

[24] Ma Y, Liu X Z, Du R G, et al. Droidlink: automated generation of deep links for android apps. 2016,. arXiv Google Scholar

[25] Ma Y, Hu Z N, Liu Y X, et al. Aladdin: automating release of deep-link apis on android. In: Proceedings of the World Wide Web Conference, 2018. 1469--1478. Google Scholar

[26] Cypher A, Halbert D C. Watch What I do: Programming by Demonstration. Cambridge: MIT Press, 1993. Google Scholar

[27] Lieberman H. Your Wish is my Command: Programming by Example. San Francisco: Morgan Kaufmann, 2001. Google Scholar

[28] Leshed G, Haber E M, Matthews T, et al. Coscripter: automating & sharing how-to knowledge in the enterprise. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2008. 1719--1728. Google Scholar

[29] Grabler F, Agrawala M, Li W. Generating photo manipulation tutorials by demonstration. ACM Trans Graph, 2009, 28: 1 CrossRef Google Scholar

[30] Li T J J, Azaria A, Myers B A. Sugilite: creating multimodal smartphone automation by demonstration. In: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, 2017. 6038--6049. Google Scholar

[31] Li T J J, Li Y C, Chen F L, et al. Programming iot devices by demonstration using mobile apps. In: Proceedings of International Symposium on End User Development, 2017. 3--17. Google Scholar

[32] Li T J J, Riva O. Kite: building conversational bots from mobile apps. In: Proceedings of the 16th Annual International Conference on Mobile Systems, Applications, and Services, 2018. 96--109. Google Scholar

[33] Shen Y L, Nama S, Jin H X. Teach once and use everywhere--building ai assistant eco-skills via user instruction and demonstration. In: Proceedings of the 17th Annual International Conference on Mobile Systems, Applications, and Services, 2019. 606--607. Google Scholar

[34] Bellal Z, Benslimane S M, Elouali N. Using programming by demonstration for multimodality in mobile-human interactions. In: Proceedings of the 29th Conference on l'Interaction Homme-Machine, 2017. 243--251. Google Scholar

[35] Zhang Y, Huang G, Liu X Z, et al. Refactoring android java code for on-demand computation offloading. In: Proceedings of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Tucson, 2012. 233--248. Google Scholar

[36] Lin Y, Radoi C, Dig D. Retrofitting concurrency for android applications through refactoring. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Hong Kong, 2014. 341--352. Google Scholar

[37] Lin Y, Okur S, Dig D. Study and refactoring of android asynchronous programming (t). In: Proceedings of the 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), Washington, 2015. 224--235. Google Scholar

Copyright 2020  CHINA SCIENCE PUBLISHING & MEDIA LTD.  中国科技出版传媒股份有限公司  版权所有

京ICP备14028887号-23       京公网安备11010102003388号