ALEX: Mixed-Mode Learning of Web Applications at Ease

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9953)


In this paper, we present ALEX, a web application that enables non-programmers to fully automatically infer models of web applications via active automata learning. It guides the user in setting up dedicated learning scenarios, and invites her to experiment with the available options in order to infer models at adequate levels of abstraction. In the course of this process, characteristics that go beyond a mere “site map” can be revealed, such as hidden states that are often either specifically designed or indicate errors in the application logic. Characteristic for ALEX is its support for mixed-mode learning: REST and web services can be executed simultaneously in one learning experiment, which is ideal when trying to compare back-end and front-end functionality of a web application. ALEX has been evaluated in a comparative study with 140 undergraduate students, which impressively highlighted its potential to make formal methods like active automata learning more accessible to a non-expert crowd.


Active automata learning Mixed-mode learning Specification mining Web services Web applications 


  1. 1.
    Aarts, F., Tomte: bridging the gap between active learning and real-world systems. Ph.D. thesis, Radboud University Nijmegen (2014)Google Scholar
  2. 2.
    Aarts, F., de Ruiter, J., Poll, E.: Formal models of bank cards for free. In: 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 461–468, March 2013Google Scholar
  3. 3.
    Aarts, F., Heidarian, F., Kuppens, H., Olsen, P., Vaandrager, F.: Automata learning through counterexample guided abstraction refinement. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 10–27. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-32759-9_4 CrossRefGoogle Scholar
  4. 4.
    Aarts, F., Jonsson, B., Uijen, J.: Generating models of infinite-state communication protocols using regular inference with abstraction. In: Petrenko, A., Simão, A., Maldonado, J.C. (eds.) ICTSS 2010. LNCS, vol. 6435, pp. 188–204. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16573-3_14 CrossRefGoogle Scholar
  5. 5.
    Aarts, F., Schmaltz, J., Vaandrager, F.: Inference and abstraction of the biometric passport. In: Margaria, T., Steffen, B. (eds.) ISoLA 2010, Part I. LNCS, vol. 6415, pp. 673–686. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16558-0_54 CrossRefGoogle Scholar
  6. 6.
    Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75(2), 87–106 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Arlt, S., Ermis, E., Feo-Arenis, S., Podelski, A.: Verification of GUI applications: a black-box approach. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 236–252. Springer, Heidelberg (2014). doi: 10.1007/978-3-662-45234-9_17 Google Scholar
  8. 8.
    Bertolino, A., Inverardi, P., Pelliccione, P., Tivoli, M.: Automatic synthesis of behavior protocols for composable web-services. In: Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC, FSE 2009, pp. 141–150. ACM, New York (2009)Google Scholar
  9. 9.
    Bohlin, T., Jonsson, B.: Regular inference for communication protocol entities. Technical report, Department of Information Technology, Uppsala University, Schweden (2009)Google Scholar
  10. 10.
    Brinksma, E.: Formal methods for conformance testing: theory can be practical. In: Halbwachs, N., Peled, D. (eds.) CAV 1999. LNCS, vol. 1633, pp. 44–46. Springer, Heidelberg (1999). doi: 10.1007/3-540-48683-6_6 CrossRefGoogle Scholar
  11. 11.
    Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A.: Part I. testing of finite state machines. In: Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems. LNCS, vol. 3472, pp. 1–3. Springer, Heidelberg (2005). doi: 10.1007/11498490_1 CrossRefGoogle Scholar
  12. 12.
    Cho, C.Y., Babić, D., Shin, R., Song, D.: Inference and analysis of formalmodels of botnet command and control protocols. In: Proceedings of the 2010 ACM Conference on Computer and Communications Security, CCS 2010, Chicago, Illinois, USA, pp. 426–440. ACM (2010)Google Scholar
  13. 13.
    Choi, W., Necula, G., Sen, K.: Guided GUI testing of android apps with minimal restart and approximate learning. In: Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2013, pp. 623–640. ACM, New York (2013)Google Scholar
  14. 14.
    Chow, T.S.: Testing software design modeled by finite-state machines. IEEE Trans. Softw. Eng. 4(3), 178–187 (1978)CrossRefzbMATHGoogle Scholar
  15. 15.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  16. 16.
    Dallmeier, V., Burger, M., Orth, T., Zeller, A.: WebMate: generating test cases for web 2.0. In: Winkler, D., Biffl, S., Bergsmann, J. (eds.) SWQD 2013. LNBIP, vol. 133, pp. 55–69. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-35702-2_5 Google Scholar
  17. 17.
    Hagerer, A., Hungar, H.: Model generation by moderated regular extrapolation. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, p. 80. Springer, Heidelberg (2002). doi: 10.1007/3-540-45923-5_6 CrossRefGoogle Scholar
  18. 18.
    Howar, F., Isberner, M., Steffen, B.: Tutorial: automata learning in practice. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 499–513. Springer, Heidelberg (2014). doi: 10.1007/978-3-662-45234-9_34 Google Scholar
  19. 19.
    Hungar, H., Steffen, B.: Behavior-based model construction. Int. J. Softw. Tools Technol. Transf. 6(1), 4–14 (2004)CrossRefzbMATHGoogle Scholar
  20. 20.
    Isberner, M., Howar, F., Steffen, B.: Learning register automata: from languages to program structures. Mach. Learn. 96(1), 65–98 (2014). doi: 10.1007/s10994-013-5419-7 MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Isberner, M., Howar, F., Steffen, B.: The Open-source LearnLib: a framework for active automata learning. In: CAV 2015 (2015, accepted)Google Scholar
  22. 22.
    Jonsson, B.: Formal methods for eternal networked software systems. In: 11th International School on Formal Methods for the Design of Computer, Communication and Software Systems, SFM 2011, Bertinoro, Italy, 13–18 June 2011, pp. 327–349 (2011). Advanced lecturesGoogle Scholar
  23. 23.
    Merten, M., Steffen, B., Howar, F., Margaria, T.: Next generation LearnLib. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 220–223. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-19835-9_18 CrossRefGoogle Scholar
  24. 24.
    Nerode, A.: Linear automaton transformations. Proc. Am. Math. Soc. 9(4), 541–544 (1958)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Niese, O.: An integrated approach to testing complex systems. Ph.D. thesis, University of Dortmund, Germany (2003)Google Scholar
  26. 26.
    Peled, D., Vardi, M.Y., Yannakakis, M.: Black box checking. In: Wu, J., Chanson, S.T., Gao, Q. (eds.) Proceedings of FORTE 1999, pp. 225–240. Kluwer Academic (1999)Google Scholar
  27. 27.
    Raffelt, H., Steffen, B.: LearnLib: a library for automata learning and experimentation. In: Baresi, L., Heckel, R. (eds.) FASE 2006. LNCS, vol. 3922, pp. 377–380. Springer, Heidelberg (2006). doi: 10.1007/11693017_28 CrossRefGoogle Scholar
  28. 28.
    Raffelt, H., Steffen, B., Margaria, T.: Dynamic testing via automata learning. In: Yorav, K. (ed.) HVC 2007. LNCS, vol. 4899, pp. 136–152. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-77966-7_13 CrossRefGoogle Scholar
  29. 29.
    Schur, M., Roth, A., Zeller, A.: Mining behavior models from enterprise web applications. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pp. 422–432. ACM (2013)Google Scholar
  30. 30.
    Schur, M., Roth, A., Zeller, A.: Mining workflow models from web applications. IEEE Trans. Softw. Eng. 41(12), 1184–1201 (2015)CrossRefGoogle Scholar
  31. 31.
    Steffen, B., Howar, F., Merten, M.: Introduction to active automata learning from a practical perspective. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 256–296. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-21455-4_8 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.Chair for Programming SystemsTU Dortmund UniversityDortmundGermany
  2. 2.The Irish Software Research CenterUniversity of Limerick/LeroLimerickIreland

Personalised recommendations