Mining behavior models from user-intensive web applications

Many modern user-intensive applications, such as Web applications, must satisfy the interaction requirements of thousands if not millions of users, which can be hardly fully understood at design time. Designing applications that meet user behaviors, by efficiently supporting the prevalent navigation patterns, and evolving with them requires new approaches that go beyond classic software engineering solutions. We present a novel approach that automates the acquisition of user-interaction requirements in an incremental and reflective way. Our solution builds upon inferring a set of probabilistic Markov models of the users' navigational behaviors, dynamically extracted from the interaction history given in the form of a log file. We annotate and analyze the inferred models to verify quantitative properties by means of probabilistic model checking. The paper investigates the advantages of the approach referring to a Web application currently in use.

[1]  Mark Harman,et al.  Finding the Optimal Balance between Over and Under Approximation of Models Inferred from Execution Logs , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[2]  Jaideep Srivastava,et al.  Web usage mining: discovery and applications of usage patterns from Web data , 2000, SKDD.

[3]  Cesare Pautasso,et al.  REST: From Research to Practice , 2011 .

[4]  Sebastián Uchitel,et al.  Program abstractions for behaviour validation , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[5]  Jian Pei,et al.  Mining API patterns as partial orders from source code: from usage scenarios to specifications , 2007, ESEC-FSE '07.

[6]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[7]  Manuvir Das,et al.  Perracotta: mining temporal API rules from imperfect traces , 2006, ICSE.

[8]  Yuriy Brun,et al.  Synoptic: Summarizing System Logs with Refinement , 2010, SLAML.

[9]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[10]  Mira Mezini,et al.  Ieee Transactions on Software Engineering 1 Automated Api Property Inference Techniques , 2022 .

[11]  Joost-Pieter Katoen,et al.  How Fast and Fat Is Your Probabilistic Model Checker? An Experimental Performance Comparison , 2007, Haifa Verification Conference.

[12]  Arie van Deursen,et al.  Invariant-based automatic testing of AJAX user interfaces , 2009, 2009 IEEE 31st International Conference on Software Engineering.

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

[14]  Lars Grunske,et al.  Specification patterns for probabilistic quality properties , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[15]  Michael D. Smith,et al.  Using Path Profiles to Predict HTTP Requests , 1998, Comput. Networks.

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

[17]  Alexander L. Wolf,et al.  Discovering models of software processes from event-based data , 1998, TSEM.

[18]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[19]  Edmund M. Clarke,et al.  Learning Probabilistic Systems from Tree Samples , 2012, 2012 27th Annual IEEE Symposium on Logic in Computer Science.

[20]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[21]  David Lo,et al.  Automatic steering of behavioral model inference , 2009, ESEC/SIGSOFT FSE.

[22]  Yuriy Brun,et al.  Using dynamic execution traces and program invariants to enhance behavioral model inference , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[23]  Ravi Kumar,et al.  Are web users really Markovian? , 2012, WWW.

[24]  Qiang Yang,et al.  Web-Log Mining for Predictive Web Caching , 2003, IEEE Trans. Knowl. Data Eng..

[25]  Joost-Pieter Katoen,et al.  Discrete-Time Rewards Model-Checked , 2003, FORMATS.

[26]  Angelika Mueller Formal Modeling And Analysis Of Timed Systems , 2016 .

[27]  Leonardo Mariani,et al.  Dynamic Analysis for Diagnosing Integration Faults , 2011, IEEE Transactions on Software Engineering.

[28]  Holger Hermanns,et al.  Discrete-time rewards model-checked (to appear) , 2003 .

[29]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[30]  Joost-Pieter Katoen,et al.  A Markov reward model checker , 2005, Second International Conference on the Quantitative Evaluation of Systems (QEST'05).

[31]  Siau-Cheng Khoo,et al.  SMArTIC: towards building an accurate, robust and scalable specification miner , 2006, SIGSOFT '06/FSE-14.

[32]  Giordano Tamburrelli,et al.  Probabilistic Verification at Runtime for Self-Adaptive Systems , 2013, Assurances for Self-Adaptive Systems.

[33]  Yuriy Brun,et al.  Unifying FSM-inference algorithms through declarative specification , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[34]  Yuriy Brun,et al.  Leveraging existing instrumentation to automatically infer invariant-constrained models , 2011, ESEC/FSE '11.

[35]  Marta Z. Kwiatkowska,et al.  Stochastic Model Checking , 2007, SFM.

[36]  Pier Luca Lanzi,et al.  Mining interesting knowledge from weblogs: a survey , 2005, Data Knowl. Eng..

[37]  Matthew Richardson,et al.  Predicting clicks: estimating the click-through rate for new ads , 2007, WWW '07.

[38]  Jerri L. Ledford,et al.  Google Analytics , 2006 .

[39]  Haibin Liu,et al.  Combined mining of Web server logs and web contents for classifying user navigation patterns and predicting users' future requests , 2007, Data Knowl. Eng..

[40]  Ramesh R. Sarukkai,et al.  Link prediction and path analysis using Markov chains , 2000, Comput. Networks.

[41]  Christel Baier,et al.  Principles of model checking , 2008 .