Skip to main content
Log in

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

  • Research Paper
  • Published:
Science China Information Sciences Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

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

  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

  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

  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

  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

  6. Ghiani G, Paternó F, Spano L D, et al. An environment for end-user development of web mashups. Int J Human-Comput Studies, 2016, 87: 38–64

    Article  Google Scholar 

  7. Liu X Z, Huang G, Zhao Q, et al. iMashup: a mashup-based framework for service composition. Sci China Inf Sci, 2014, 57: 012101

    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

    Article  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

  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

  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

  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

  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

  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

  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

  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

  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

  18. Ma Y, Lu X, Liu X Z, et al. Data-driven synthesis of multiple recommendation patterns to create situational Web mashups. Sci China Inf Sci, 2013, 56: 082109

    Google Scholar 

  19. Lee J, Garduño 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

  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

  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

  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

  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

  24. Ma Y, Liu X Z, Du R G, et al. Droidlink: automated generation of deep links for android apps. 2016. ArXiv: 1605.06928

  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

  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

  29. Grabler F, Agrawala M, Li W, et al. Generating photo manipulation tutorials by demonstration. ACM Trans Graph, 2009, 28: 66

    Article  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

  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

  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

  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

  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

  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

  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

  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

Download references

Acknowledgements

This work was supported by National Key R&D Program of China (Grant No. 2018YFB1004800).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Liwei Shen.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zheng, J., Shen, L., Peng, X. et al. MashReDroid: enabling end-user creation of Android mashups based on record and replay. Sci. China Inf. Sci. 63, 202101 (2020). https://doi.org/10.1007/s11432-019-2646-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11432-019-2646-2

Keywords

Navigation