A high-level modeling language for the efficient design, implementation, and testing of Android applications

  • Mohamad JaberEmail author
  • Yliès Falcone
  • Kinan Dak-Al-Bab
  • John Abou-Jaoudeh
  • Mostafa El-Katerji
Regular Paper


Developing mobile applications remains difficult, time consuming, and error prone, in spite of the number of existing platforms and tools. In this paper, we develop MoDroid, a high-level modeling language to ease the development of Android applications. MoDroid allows developing models representing the core of applications. MoDroid provides Android programmers with the following advantages: (1) models are built using high-level primitives that abstract away several implementation details; (2) it allows the definition of interfaces between models to automatically compose them; (3) a native Android application can be automatically generated along with the required permissions definition; (4) it supports efficient testing execution that operates on models. MoDroid is fully implemented and was used to develop several non-trivial Android applications.


MetaModel Android Testing Permission 


  1. 1.
    Amalfitano, D., Fasolino, A.R., Tramontana, P., Ta, B.D., Memon, A.M.: Mobiguitar–a tool for automated model-based testing of mobile apps. IEEE Softw, NN(N), NN-NN (2014)Google Scholar
  2. 2.
    Apache. Cordova (2011).
  3. 3.
  4. 4.
    Au, K.W.Y., Zhou, Y.F., Huang, Z., Lie, D.: Pscout: analyzing the android permission specification. In: Proceedings of the 2012 ACM conference on Computer and communications security, pp. 217–228. ACM, New York (2012)Google Scholar
  5. 5.
    Bartel, A., Klein, J., Le Traon, Y., Monperrus, M.: Automatically securing permission-based software by reducing the attack surface: an application to android. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, pp. 274–277. ACM, New York (2012)Google Scholar
  6. 6.
    EclEmma. Jacoco java code coverage libraryGoogle Scholar
  7. 7.
    Feng, Y., Anand, S., Dillig, I., Aiken, A.: Semantics-based detection of android malware through static analysis. In: SIGSOFT FSE, Apposcopy (2014)Google Scholar
  8. 8.
    Eclipse Foundation. Xcore is an extended concrete syntax for ecore that, in combination with xbase, transforms it into a fully fledged programming language with high quality tools reminiscent of the java development tools (2011)Google Scholar
  9. 9.
    Google. Testing instrumentation (2007)Google Scholar
  10. 10.
    Google. Application exerciser monkey (2010)Google Scholar
  11. 11.
  12. 12.
    Google. Espresso (2013)Google Scholar
  13. 13.
    jQuery Team. Jquery mobile (2010).
  14. 14.
    Pivotal Labs. Robolectric (2010)Google Scholar
  15. 15.
    Mitchell, E.: App Inventor 2: Tutorial: The fast and easy way to create Android apps, vol. 1 (2014)Google Scholar
  16. 16.
    Palmieri, M., Singh, I., Cicchetti, A.: Comparison of cross-platform mobile development tools. In: 16th International Conference on Intelligence in Next Generation Networks, ICIN 2012, pp. 179–186. Berlin, Germany (2012)Google Scholar
  17. 17.
    Terence Parr. String template (2000)Google Scholar
  18. 18.
    Renas Reda. Robotium (2009)Google Scholar
  19. 19.
    Rösler, F., Nitze, A., Schmietendorf, A.: Towards a mobile application performance benchmark. In: ICIW 2014, The Ninth International Conference on Internet and Web Applications and Services, pp. 55–59 (2014)Google Scholar
  20. 20.
    Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: eclipse modeling framework. Pearson Education, USA (2003)Google Scholar
  21. 21.
    Adobe Systems. Phonegap (2009).
  22. 22.
    Wolf, F., Huffstadt, K.: Mobile enterprise application development-a cross-platform framework. FHWS Sci. J. 33 (2013)Google Scholar
  23. 23.
    Yang, W., Prasad, M.R., Xie, T.: A grey-box approach for automated gui-model generation of mobile applications. Fundamental Approaches to Software Engineering–16th International Conference. FASE 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Proceedings, pp. 250–265. Italy, Rome (2013)Google Scholar
  24. 24.
    Zheng, Y., Kell, S., Bulej, L., Sun, H., Binder, W.: Comprehensive multi-platform dynamic program analysis for java and android. IEEE Softw. (99), 1 (2015)Google Scholar
  25. 25.
    Zneika, M., Loulou, H., Houacine, F., Bouzefrane, S.: Towards a modular and lightweight model for android development platforms. In: IEEE International Conference on Green Computing and Communications and IEEE Internet of Things and IEEE Cyber, Physical and Social Computing, pp. 2129–2132 (2013)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • Mohamad Jaber
    • 1
    Email author
  • Yliès Falcone
    • 2
  • Kinan Dak-Al-Bab
    • 1
  • John Abou-Jaoudeh
    • 1
  • Mostafa El-Katerji
    • 1
  1. 1.American University of BeirutBeirutLebanon
  2. 2.Univ. Grenoble-AlpesInria, Laboratoire d’Informatique de GrenobleGrenobleFrance

Personalised recommendations