Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2491411.2491426acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Mining behavior models from enterprise web applications

Published: 18 August 2013 Publication History

Abstract

Today's enterprise web applications demand very high release cycles---and consequently, frequent tests. Automating these tests typically requires a behavior model: A description of the states the application can be in, the transitions between these states, and the expected results. Furthermore one needs scripts to make the abstract actions (transitions) in the model executable. As specifying such behavior models and writing the necessary scripts manually is a hard task, a possible alternative could be to extract them from existing applications. However, mining such models can be a challenge, in particular because one needs to know when two states are equivalent, as well as how to reach that state. We present ProCrawl (PROcess CRAWLer), a generic approach to mine behavior models from (multi-user) enterprise web applications. ProCrawl observes the behavior of the application through its user interface, generates and executes tests to explore unobserved behavior. In our evaluation of three non-trivial web applications (an open-source shop system, an SAP product compliance application, and an open-source conference manager), ProCrawl produces models that precisely abstract application behavior and which can be directly used for effective model-based regression testing.

References

[1]
A. Bertolino, P. Inverardi, P. Pelliccione, and M. Tivoli. Automatic Synthesis of Behavior Protocols for Composable Web-Services. In ESEC/FSE ’09, pages 141–150, New York, NY, USA, 2009. ACM.
[2]
A. W. Biermann and J. A. Feldman. On the synthesis of finite-state machines from samples of their behavior. IEEE Transactions on Computers, C-21(6):592–597, 1972.
[3]
R. V. Binder. Testing Object-Oriented Systems: Models, Patterns, and Tools. Object Technology Series. Addison Wesley, 1999.
[4]
J. C. Corbett, M. B. Dwyer, J. Hatcliff, S. Laubach, C. S. Pasareanu, Robby, and H. Zheng. Bandera: extracting finite-state models from java source code. In ICSE ’00, pages 439–448, New York, NY, USA, 2000. ACM.
[5]
V. Dallmeier, M. Burger, T. Orth, and A. Zeller. Webmate: a tool for testing web 2.0 applications. In Proceedings of the Workshop on JavaScript Tools, JSTools ’12, pages 11–15, New York, NY, USA, 2012. ACM.
[6]
V. Dallmeier, N. Knopp, C. Mallon, S. Hack, and A. Zeller. Generating test cases for specification mining. In ISSTA ’10 Proceedings of the 19th international symposium on Software testing and analysis, pages 85–96, New York, NY, USA, 2010. ACM.
[7]
G. de Caso, V. Braberman, D. Garbervetsky, and S. Uchitel. Automated abstractions for contract validation. IEEE Transactions on Software Engineering, 38(1):141–162, 2012.
[8]
M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering, 27(2):99–123, 2001.
[9]
C. Flanagan and K. R. M. Leino. Houdini, an annotation assistant for esc/java. In Proceedings of the International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity, FME ’01, pages 500–517, London, UK, 2001. Springer-Verlag.
[10]
M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002.
[11]
W. Grieskamp, N. Kicillof, K. Stobie, and V. Braberman. Model-based quality assurance of protocol documentation: tools and methodology. Software Testing, Verification & Reliability, 21(1):55––71, Mar. 2011.
[12]
F. Gross, G. Fraser, and A. Zeller. Exsyst: Search-based gui testing. In ICSE ’12, pages 1423–1426, Piscataway, NJ, USA, 2012. IEEE Press.
[13]
A. Mesbah, A. Van Deursen, and S. Lenselink. Crawling Ajax-based web applications through dynamic analysis of user interface state changes. ACM Transactions on the Web, 6(1):1–30, Mar. 2012.
[14]
A. Mesbah, A. Van Deursen, and D. Roest. Invariant-based automatic testing of modern web applications. IEEE Transactions on Software Engineering, 38(1):35–53, Jan. 2012.
[15]
M. Pezze and M. Young. Software Testing and Analysis: Process, Principles and Techniques. John Wiley & Sons, 2007.
[16]
M. P. Robillard, E. Bodden, D. Kawrykow, M. Mezini, and T. Ratchford. Automated api property inference techniques. IEEE Transactions on Software Engineering, 39(5):613–637, May 2013.
[17]
M. Schur. Experimental specification mining for enterprise applications. In ESEC/FSE ’11, pages 388–391, New York, NY, USA, 2011. ACM.
[18]
M. Utting and B. Legeard. Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2007.
[19]
W. M. P. van der Aalst, V. Rubin, H. M. W. Verbeek, B. F. van Dongen, E. Kindler, and C. W. Günther. Process mining: a two-step approach to balance between underfitting and overfitting. Software and System Modeling, 9(1):87–111, 2010.
[20]
S. Wieczorek and A. Stefanescu. Improving testing of enterprise systems by model-based testing on graphical user interfaces. In ECBS ’10 Proceedings of the 2010 17th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems, pages 352–357, Washington, DC, USA, 2010. IEEE Computer Society.
[21]
T. Xie and D. Notkin. Mutually enhancing test generation and specification inference. In International Workshop on Formal Approaches to Testing of Software (FATES), pages 60–69. Springer, 2003.
[22]
T. Xie and D. Notkin. Automatic extraction of object-oriented observer abstractions from unit-test executions. In International Conference on Formal Engineering Methods (ICFEM), pages 290–305. Springer, 2004.
[23]
A. Zeller. Program analysis: A hierarchy. In ICSE Workshop on Dynamic Analysis (WODA 2003), pages 6–9, 2003.

Cited By

View all
  • (2023)DTester: Diversity-Driven Test Case Generation for Web ApplicationsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350055934:02(357-390)Online publication date: 26-Oct-2023
  • (2023)PTDETECTOR: An Automated JavaScript Front-end Library Detector2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00049(649-660)Online publication date: 11-Sep-2023
  • (2022)A Hybrid Approach for Inference between Behavioral Exception API Documentation and Implementations, and Its ApplicationsProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560434(1-13)Online publication date: 10-Oct-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE 2013: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
August 2013
738 pages
ISBN:9781450322379
DOI:10.1145/2491411
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 August 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Specification mining
  2. dynamic analysis
  3. model-based testing

Qualifiers

  • Research-article

Conference

ESEC/FSE'13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)DTester: Diversity-Driven Test Case Generation for Web ApplicationsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350055934:02(357-390)Online publication date: 26-Oct-2023
  • (2023)PTDETECTOR: An Automated JavaScript Front-end Library Detector2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00049(649-660)Online publication date: 11-Sep-2023
  • (2022)A Hybrid Approach for Inference between Behavioral Exception API Documentation and Implementations, and Its ApplicationsProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560434(1-13)Online publication date: 10-Oct-2022
  • (2021)SOSRepair: Expressive Semantic Search for Real-World Program RepairIEEE Transactions on Software Engineering10.1109/TSE.2019.294491447:10(2162-2181)Online publication date: 1-Oct-2021
  • (2021)Test model coverage analysis under uncertainty: extended versionSoftware and Systems Modeling10.1007/s10270-020-00848-9Online publication date: 9-Feb-2021
  • (2020)Visualizing Distributed System ExecutionsACM Transactions on Software Engineering and Methodology10.1145/337563329:2(1-38)Online publication date: 4-Mar-2020
  • (2019)Test Case Generation Based on Client-Server of Web Applications by Memetic Algorithm2019 IEEE 30th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE.2019.00029(206-216)Online publication date: Oct-2019
  • (2019)Automatically generating precise Oracles from structured natural language specificationsProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00035(188-199)Online publication date: 25-May-2019
  • (2019)Detecting Performance Bottlenecks Guided by Resource UsageIEEE Access10.1109/ACCESS.2019.29365997(117839-117849)Online publication date: 2019
  • (2019)Test Model Coverage Analysis Under UncertaintySoftware Engineering and Formal Methods10.1007/978-3-030-30446-1_12(222-239)Online publication date: 9-Sep-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media