Skip to main content

Model Inference of Mobile Applications with Dynamic State Abstraction

  • Conference paper
  • First Online:
Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing 2015

Abstract

We propose an automatic testing method of mobile applications, which also learns formal models expressing navigational paths and application states. We focus on the quality of the models to later perform analysis (verification or test case generation). In this context, our algorithm infers formal and exact models that capture the events applied while testing, the content of the observed screens and the application environment changes. A key feature of the algorithm is that it avoids the state space explosion problem by dynamically constructing state equivalence classes to slice the state space domain of an application in a finite manner and to explore these equivalence classes. We implemented this algorithm on the tool MCrawlT that was used for experimentations. The results show that MCrawlT achieves significantly better code coverage than several available tools in a given time budget.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    available here https://github.com/statops/mcrawlert.git.

  2. 2.

    https://code.google.com/p/robotium/.

References

  1. Amalfitano, D., Fasolino, A., Tramontana, P.: A gui crawling-based technique for android mobile application testing. In: Software Testing, Verification and Validation Workshops (ICSTW), 2011 IEEE Fourth International Conference on, pp. 252–261 (2011). doi:10.1109/ICSTW.2011.77

  2. Anand, S., Naik, M., Harrold, M.J., Yang, H.: Automated concolic testing of smartphone apps. In: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE ’12, pp. 1–11. ACM, New York, NY, USA (2012). doi:10.1145/2393596.2393666

  3. Artzi, S., Kiezun, A., Dolby, J., Tip, F., Dig, D., Paradkar, A., Ernst, M.: Finding bugs in web applications using dynamic test generation and explicit-state model checking. IEEE Trans. Softw. Eng. 36(4), 474–494 (2010). doi:10.1109/TSE.2010.31

    Article  Google Scholar 

  4. Choi, W., Necula, G., Sen, K.: Guided gui testing of android apps with minimal restart and approximate learning. SIGPLAN Not. 48(10), 623–640 (2013). doi:10.1145/2544173.2509552, http://doi.acm.org/10.1145/2544173.2509552

    Google Scholar 

  5. Cohen, M.B., Gibbons, P.B., Mugridge, W.B., Colbourn, C.J.: Constructing test suites for interaction testing. In: Proceeding of the 25th International Conference on Software Engineering, pp. 38–48 (2003)

    Google Scholar 

  6. Fernandez, J.C.: An implementation of an efficient algorithm for bisimulation equivalence. Sci. Comput. Programm. 13, 13–219 (1989)

    Google Scholar 

  7. Google: Ui/application exerciser Monkey. http://developer.android.com/tools/help/monkey.html, Last Accessed Jan 2015

  8. Machiry, A., Tahiliani, R., Naik, M.: Dynodroid: An input generation system for android apps. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2013, pp. 224–234. ACM, New York, NY, USA (2013). doi:10.1145/2491411.2491450

  9. Memon, A., Banerjee, I., Nagarajan, A.: Gui ripping: Reverse engineering of graphical user interfaces for testing. In: Proceedings of the 10th Working Conference on Reverse Engineering, WCRE ’03, pp. 260–269. IEEE Computer Society, Washington, DC, USA (2003)

    Google Scholar 

  10. Mesbah, A., van Deursen, A., Lenselink, S.: Crawling Ajax-based web applications through dynamic analysis of user interface state changes. ACM Trans. Web (TWEB) 6(1), 1–30 (2012)

    Article  Google Scholar 

  11. Salva, S., Laurençot, P., Zafimiharisoa, S.R.: Model inference of mobile applications with dynamic state abstraction. Techincal Report, LIMOS (2015). http://sebastien.salva.free.fr/RR-15-01.pdf

  12. Yang, W., Prasad, M.R., Xie, T.: A grey-box approach for automated gui-model generation of mobile applications. In: Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering, FASE’13, pp. 250–265. Springer, Berlin (2013). doi:10.1007/978-3-642-37057-1_19

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sébastien Salva .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Salva, S., Laurençot, P., Zafimiharisoa, S.R. (2016). Model Inference of Mobile Applications with Dynamic State Abstraction. In: Lee, R. (eds) Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing 2015. Studies in Computational Intelligence, vol 612. Springer, Cham. https://doi.org/10.1007/978-3-319-23509-7_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-23509-7_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-23508-0

  • Online ISBN: 978-3-319-23509-7

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics