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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
available here https://github.com/statops/mcrawlert.git.
- 2.
References
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
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
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
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
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)
Fernandez, J.C.: An implementation of an efficient algorithm for bisimulation equivalence. Sci. Comput. Programm. 13, 13–219 (1989)
Google: Ui/application exerciser Monkey. http://developer.android.com/tools/help/monkey.html, Last Accessed Jan 2015
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
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)
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)
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)