ALEX: Mixed-Mode Learning of Web Applications at Ease

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.

[1]  Fides Aarts,et al.  Tomte : bridging the gap between active learning and real-world systems , 2014 .

[2]  A. Nerode,et al.  Linear automaton transformations , 1958 .

[3]  Andreas Zeller,et al.  Mining Workflow Models from Web Applications , 2015, IEEE Transactions on Software Engineering.

[4]  Bernhard Steffen,et al.  The Open-Source LearnLib - A Framework for Active Automata Learning , 2015, CAV.

[5]  Frits W. Vaandrager,et al.  Automata Learning through Counterexample Guided Abstraction Refinement , 2012, FM.

[6]  Bengt Jonsson,et al.  Inferring Compact Models of Communication Protocol Entities , 2010, ISoLA.

[7]  Bernhard Steffen,et al.  Introduction to Active Automata Learning from a Practical Perspective , 2011, SFM.

[8]  Valérie Issarny,et al.  Formal Methods for Eternal Networked Software Systems , 2011, Lecture Notes in Computer Science.

[9]  Therese Bohlin,et al.  Regular Inference for Communication Protocol Entities , 2008 .

[10]  Manfred Broy,et al.  Part I. Testing of Finite State Machines , 2004, Model-Based Testing of Reactive Systems.

[11]  Ed Brinksma Formal Methods for Conformance Testing: Theory Can Be Practical , 1999, CAV.

[12]  Andreas Podelski,et al.  Verification of GUI Applications: A Black-Box Approach , 2014, ISoLA.

[13]  Tiziana Margaria,et al.  Dynamic testing via automata learning , 2007, International Journal on Software Tools for Technology Transfer.

[14]  Harald Raffelt,et al.  LearnLib: a library for automata learning and experimentation , 2005, FMICS '05.

[15]  Bernhard Steffen,et al.  Tutorial: Automata Learning in Practice , 2014, ISoLA.

[16]  Andreas Zeller,et al.  Mining behavior models from enterprise web applications , 2013, ESEC/FSE 2013.

[17]  Oliver Niese,et al.  An integrated approach to testing complex systems , 2003 .

[18]  Mihalis Yannakakis,et al.  Black Box Checking , 1999 .

[19]  Joeri de Ruiter,et al.  Formal Models of Bank Cards for Free , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[20]  Paola Inverardi,et al.  Automatic synthesis of behavior protocols for composable web-services , 2009, ESEC/FSE '09.

[21]  Dana Angluin,et al.  Learning Regular Sets from Queries and Counterexamples , 1987, Inf. Comput..

[22]  Bernhard Steffen,et al.  Learning register automata: from languages to program structures , 2014, Machine Learning.

[23]  Martin Burger,et al.  WebMate: Generating Test Cases for Web 2.0 , 2013, SWQD.

[24]  Bengt Jonsson,et al.  Generating models of infinite-state communication protocols using regular inference with abstraction , 2015, Formal Methods Syst. Des..

[25]  Hardi Hungar,et al.  Model Generation by Moderated Regular Extrapolation , 2002, FASE.

[26]  Hardi Hungar,et al.  Behavior-based model construction , 2002, International Journal on Software Tools for Technology Transfer.

[27]  Dawn Xiaodong Song,et al.  Inference and analysis of formal models of botnet command and control protocols , 2010, CCS '10.

[28]  George C. Necula,et al.  Guided GUI testing of android apps with minimal restart and approximate learning , 2013, OOPSLA.

[29]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[30]  Tiziana Margaria,et al.  Dynamic Testing Via Automata Learning , 2007, Haifa Verification Conference.

[31]  Tiziana Margaria,et al.  Next Generation LearnLib , 2011, TACAS.

[32]  Frits W. Vaandrager,et al.  Inference and Abstraction of the Biometric Passport , 2010, ISoLA.