Analysis and Testing of Ajax-based Single-page Web Applications

This dissertation has focused on better understanding the shifting web paradigm and the consequences of moving from the classical multi-page model to an Ajax-based single-page style. Specifically to that end, this work has examined this new class of software from three main software engineering perspectives. Software Architecture: to gain an abstract understanding of the key architectural properties of Ajax applications; Software Reengineering: to understand the implications of a migration from classical multi-page web systems to single-page Ajax variants. Software Analysis and Testing: to explore strategies for analyzing and testing this new breed of web application. The work presented in this dissertation aims at advancing the state-of-the-art in comprehending, analyzing, and testing standards-based single-page web applications, by means of a new architectural style, a significant set of techniques and tools, and case study reports. These contributions are aimed at helping software and web engineers better comprehend and deal with the complexity of highly dynamic and interactive web systems.

[1]  Christos Bouras,et al.  Estimating and eliminating redundant data transfers over the web: a fragment based approach: Research Articles , 2005 .

[2]  Jennifer Widom,et al.  Change detection in hierarchically structured information , 1996, SIGMOD '96.

[3]  Atif M. Memon An event-flow model of GUI-based applications for testing: Research Articles , 2007 .

[4]  Ivan S. Zapreev Model checking Markov chains : techniques and tools , 2008 .

[5]  Kevin C. Almeroth,et al.  Multicast delivery of web pages or how to make web servers pushy , 1998 .

[6]  Bastiaan Stephan Graaf,et al.  Model-Driven Evolution of Software Architectures , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[7]  David Garlan,et al.  Style-based reuse for software architectures , 1996, Proceedings of Fourth IEEE International Conference on Software Reuse.

[8]  A. Jefferson Offutt,et al.  Testing Web applications by modeling with FSMs , 2005, Software & Systems Modeling.

[9]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[10]  A. J. Markvoort Towards hybrid molecular simulations , 2006 .

[11]  Gürcan Gülesir,et al.  Evolvable Behavior Specifications Using Context-Sensitive Wildcards , 2008 .

[12]  Bertrand Meyer,et al.  Seven Principles of Software Testing , 2008, Computer.

[13]  Elaine J. Weyuker,et al.  On Testing Non-Testable Programs , 1982, Comput. J..

[14]  Tomas Krilavicius,et al.  Hybrid Techniques for Hybrid Systems , 2006 .

[15]  M. T. Ionita,et al.  Scenario-based system architecting : a systematic approach to developing future-proof system architectures , 2005 .

[16]  Paolo Tonella,et al.  A case study-based comparison of web testing techniques applied to AJAX web applications , 2008, International Journal on Software Tools for Technology Transfer.

[17]  EM Elena Bortnik,et al.  Formal methods in support of SMC design , 2008 .

[18]  R Ronald Ruimerman,et al.  Modeling and remodeling in bone tissue , 2005 .

[19]  Athula Ginige,et al.  Guest Editors' Introduction: Web Engineering - An Introduction , 2001, IEEE Multim..

[20]  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.

[21]  Magiel Bruntink,et al.  Renovation of idiomatic crosscutting concerns in embedded systems , 2005 .

[22]  Mehdi Jazayeri Species evolve, individuals age , 2005, IWPSE.

[23]  Arie van Deursen,et al.  A component- and push-based architectural style for ajax applications , 2008, J. Syst. Softw..

[24]  Raj Rajkumar,et al.  A Real-Time Push-Pull Communications Model for Distributed Real-Time and Multimedia Systems , 1999 .

[25]  Sridhar Alager,et al.  Hierarchy in Testing Distributed programs , 1993, AADEBUG.

[26]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[27]  Jeroen Eggermont,et al.  Data Mining using Genetic Programming : Classification and Symbolic Regression , 2005 .

[28]  J. Y. Yen,et al.  Finding the K Shortest Loopless Paths in a Network , 2007 .

[29]  Anirban Dasgupta,et al.  The discoverability of the web , 2007, WWW '07.

[30]  Arun Iyengar,et al.  A fragment-based approach for efficiently creating dynamic web content , 2005, TOIT.

[31]  Paolo Tonella,et al.  Statistical testing of Web applications , 2004, J. Softw. Maintenance Res. Pract..

[32]  Robert M. Hierons,et al.  Overcoming observability problems in distributed test architectures , 2006, Inf. Process. Lett..

[33]  Steve Hansen,et al.  Web Engineering: Creating a Discipline among Disciplines , 2001, IEEE Multim..

[34]  Tim Berners-Lee,et al.  WWW: Past, Present, and Future , 1996, Computer.

[35]  Arie van Deursen,et al.  Performance Testing of Data Delivery Techniques for AJAX Applications , 2009, J. Web Eng..

[36]  Ling Cheung,et al.  Reconciling nondeterministic and probabilistic choices , 2006 .

[37]  Antti Valmari,et al.  The State Explosion Problem , 1996, Petri Nets.

[38]  Arie van Deursen,et al.  A Comparison of Push and Pull Techniques for AJAX , 2007, 2007 9th IEEE International Workshop on Web Site Evolution.

[39]  Jacob Eisenstein,et al.  XIML: a common representation for interaction data , 2002, IUI '02.

[40]  Ricardo Corin,et al.  Analysis Models for Security Protocols , 2006 .

[41]  Stanley B. Zdonik,et al.  Balancing push and pull for data broadcast , 1997, SIGMOD '97.

[42]  Jasen Markovski,et al.  Real and stochastic time in process algebras for performance evaluation , 2008 .

[43]  Raluca Marin-Perianu,et al.  Wireless Sensor Networks in Motion - Clustering Algorithms for Service Discovery and Provisioning , 2008 .

[44]  Arie van Deursen,et al.  A Systematic Survey of Program Comprehension through Dynamic Analysis , 2008, IEEE Transactions on Software Engineering.

[45]  Richard N. Taylor,et al.  Extending the Representational State Transfer (REST) architectural style for decentralized systems , 2004, Proceedings. 26th International Conference on Software Engineering.

[46]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[47]  Jean Vanderdonckt,et al.  Graceful degradation of user interfaces as a design method for multiplatform systems , 2004, IUI '04.

[48]  Giuseppe A. Di Lucca,et al.  Comprehending Web applications by a clustering based approach , 2002, Proceedings 10th International Workshop on Program Comprehension.

[49]  Giuseppe A. Di Lucca,et al.  WARE: a tool for the reverse engineering of Web applications , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[50]  H.M.A. van Beek,et al.  Specification and analysis of Internet applications , 2005 .

[51]  Michael M. Gorlick,et al.  From representations to computations: the evolution of web architectures , 2007, ESEC-FSE '07.

[52]  Erik Wilde Hypertext Transfer Protocol (HTTP) , 1999 .

[53]  R. Boumen,et al.  Integration and test plans for complex manufacturing systems , 2007 .

[54]  Martijn van Veelen,et al.  Considerations on modeling for early detection of abnormalities in locally autonomous distributed systems , 2007 .

[55]  R. Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures (CHAPTER 5) , 2000 .

[56]  L. J. Morell Theoretical insights into fault-based testing , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[57]  Albrecht Schmidt,et al.  Adding Usability to Web Engineering Models and Tools , 2005, ICWE.

[58]  Eelco Dolstra,et al.  The purely functional software deployment model , 2006 .

[59]  Arie van Deursen,et al.  Migrating Multi-page Web Applications to Single-page AJAX Interfaces , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[60]  Jean Vanderdonckt,et al.  Flexible reverse engineering of web pages with VAQUISTA , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[61]  Stanley B. Zdonik,et al.  “Data in your face”: push technology in perspective , 1998, SIGMOD '98.

[62]  Augusto de Carvalho Fontes,et al.  SmartCrawl: a new strategy for the exploration of the hidden web , 2004, WIDM '04.

[63]  Emily Hill,et al.  Automated replay and failure detection for web applications , 2005, ASE '05.

[64]  Thomas Wolle,et al.  Computational aspects of treewidth : Lower bounds and network reliability , 2005 .

[65]  Nora Koch,et al.  The Expressive Power of UML-based Web Engineering1 , 2002 .

[66]  Bahareh Badban,et al.  Verification Techniques for Extensions of Equality Logic , 2006 .

[67]  Ali Mesbah,et al.  Exposing the Hidden-Web Induced by Ajax , 2008 .

[68]  Giovanni Vigna,et al.  Designing Distributed Applications with Mobile Code Paradigms , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[69]  Tim O'Reilly,et al.  What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software , 2007 .

[70]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[71]  Rainer Koschke,et al.  A framework for experimental evaluation of clustering techniques , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[72]  Jayant Madhavan,et al.  Google's Deep Web crawl , 2008, Proc. VLDB Endow..

[73]  David E. Culler,et al.  USENIX Association Proceedings of USITS ’ 03 : 4 th USENIX Symposium on Internet Technologies and Systems , 2003 .

[74]  de Ism Ivo Jong Integration and test strategies for complex manufacturing machines , 2008 .

[75]  Giuseppe A. Di Lucca,et al.  Testing Web-based applications: The state of the art and future trends , 2006, Inf. Softw. Technol..

[76]  Michael Benedikt,et al.  VeriWeb: Automatically Testing Dynamic Web Sites , 2002 .

[77]  Giuseppe Scanniello,et al.  Understanding cloned patterns in Web applications , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[78]  David Parsons Evolving Architectural Patterns For Web Applications , 2007, PACIS.

[79]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[80]  Harmen Kastenberg Graph-based software specification and verification , 2008 .

[81]  M. T. de Berg,et al.  Multi-functional geometric data structures , 2003 .

[82]  Liam Peyton,et al.  Framework testing of web applications using TTCN-3 , 2008, International Journal on Software Tools for Technology Transfer.

[83]  Robert S. Arnold Software Reengineering , 1993 .

[84]  M. G. van der Horst,et al.  Scalable block processing algorithms , 2008 .

[85]  Dmitri Jarnikov,et al.  QoS framework for video streaming in home networks , 2007 .

[86]  Vladimir I. Levenshtein,et al.  Binary codes capable of correcting deletions, insertions, and reversals , 1965 .

[87]  Ileana Buhan,et al.  Cryptographic keys from noisy data, theory and applications , 2008 .

[88]  D. T. Lee,et al.  A testing framework for Web application security assessment , 2005, Comput. Networks.

[89]  Pascal Durr,et al.  Resource-based Verification for Robust Composition of Aspects , 2008 .

[90]  Goran Frehse,et al.  Compositional verification of hybrid systems using simulation relations , 2005 .

[91]  Iris Loeb Natural Deduction, Sharing By Presentation , 2007 .

[92]  A. L. de Groot,et al.  Practical Automaton proofs in PVS , 2000 .

[93]  Michael Stonebraker,et al.  Migrating Legacy Systems: Gateways, Interfaces, and the Incremental Approach , 1995 .

[94]  Cjf Cas Cremers Scyther : semantics and verification of security protocols , 2006 .

[95]  Jesse James Garrett Ajax: A New Approach to Web Applications , 2007 .

[96]  Mary Lou Soffa,et al.  Coverage criteria for GUI testing , 2001, ESEC/FSE-9.

[97]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[98]  Martijn Warnier,et al.  Language based security for Java and JML , 2006 .

[99]  Ncwm Niels Braspenning Model-based integration and testing of high-tech multi-disciplinary systems , 2008 .

[100]  Alok Sinha Client-server computing , 1992, CACM.

[101]  Gabriele Lenzini,et al.  Integration of Analysis Techniques in Security and Fault-Tolerance , 2005 .

[102]  Giuliano Antoniol,et al.  Understanding Web applications through dynamic analysis , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[103]  Ian Sommerville,et al.  Software Engineering, 8. Auflage , 2007, it : Informatik.

[104]  G. Rozenberg,et al.  Effective models for the structure of ð-calculus processes with replication , 2001 .

[105]  Juan Visente Guillen Scholten,et al.  Mobile Channels for Exogenous Coordination of Distributed Systems: Semantics, Implementation and Composition , 2007 .

[106]  Jens R. Calamé,et al.  Testing reactive systems with data: enumerative methods and constraint solving , 2008 .

[107]  Anja Feldmann,et al.  Potential benefits of delta encoding and data compression for HTTP , 1997, SIGCOMM '97.

[108]  Martijn Hendriks,et al.  Model checking timed automata : techniques and applications , 2006 .

[109]  Richard C. Holt,et al.  MoJo: a distance metric for software clusterings , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[110]  Wolter Pieters,et al.  La volonté machinale: understanding the electronic voting controversy , 2008 .

[111]  Zhendong Su,et al.  Static detection of cross-site scripting vulnerabilities , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[112]  Aad Mathssen,et al.  Logical Calculi for Reasoning with Binding , 2008 .

[113]  Arie van Deursen,et al.  Crosscutting concerns in J2EE applications , 2005, Seventh IEEE International Symposium on Web Site Evolution.

[114]  Wolfgang Emmerich,et al.  Tigra- an architectural style for enterprise application integration , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[115]  Arie van Deursen,et al.  Automated security testing of web widget interactions , 2009, ESEC/FSE '09.

[116]  Stefano Ceri,et al.  Web Modeling Language (WebML): a modeling language for designing Web sites , 2000, Comput. Networks.

[117]  Jim Conallen,et al.  Building Web applications with UML , 1999 .

[118]  Jeroen Doumen,et al.  Searching in encrypted data , 2004 .

[119]  Massimiliano Di Penta,et al.  An approach to identify duplicated web pages , 2002, Proceedings 26th Annual International Computer Software and Applications.

[120]  Anton Wijs,et al.  What to do next? Analysing and optimising system behaviour in time , 2007 .

[121]  Giuseppe A. Di Lucca,et al.  Testing Web applications , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[122]  Paolo Tonella,et al.  Analysis and testing of Web applications , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[123]  Hasan Sözer,et al.  Architecting Fault-Tolerant Software Systems , 2009 .

[124]  Paolo Tonella,et al.  State-Based Testing of Ajax Web Applications , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[125]  Stan Jarzabek,et al.  An Investigation of Cloning in Web Applications , 2005, ICWE.

[126]  P. Zoeteweij,et al.  Composing constraint solvers , 2005 .

[127]  Robert Brijder,et al.  Models of natural computation : gene assembly and membrane systems , 2008 .

[128]  Gao Design and verification of lock-free parallel algorithms , 2005 .

[129]  Ivan Kurtev Ivanov,et al.  Adaptability of model transformations , 2005 .

[130]  Michael D. Ernst Static and dynamic analysis: synergy and duality , 2003 .

[131]  Giovanni Vigna,et al.  Understanding Code Mobility , 1998, IEEE Trans. Software Eng..

[132]  T. D. Vu,et al.  Semantics and applications of process and program algebra , 2007 .

[133]  Franca Garzotto,et al.  Towards a software engineering approach to Web site development , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[134]  G Giovanni Russello,et al.  Separation and adaptation of concerns in a shared data space , 2006 .

[135]  Daniel Kroening,et al.  Decision Procedures for Equality Logic and Uninterpreted Functions , 2008 .

[136]  David S. Rosenblum,et al.  A design framework for Internet-scale event observation and notification , 1997, ESEC '97/FSE-5.

[137]  Richard N. Taylor,et al.  PACE: an architectural style for trust management in decentralized applications , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[138]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[139]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[140]  Claes Wohlin,et al.  Empirical Research Methods in Software and Web Engineering , 2005 .

[141]  E Elena Mumford,et al.  Drawing graphs for cartographic applications , 2008 .

[142]  Paola Bonizzoni,et al.  An approximation algorithm for the shortest common supersequence problem: an experimental analysis , 2001, SAC.

[143]  Ana Sokolova,et al.  Coalgebraic analysis of probabilistic systems , 2005 .

[144]  Amjad Umar,et al.  Object-Oriented Client/Server Internet Environments , 1997 .

[145]  C.-B. Breunesse On JML: topics in tool-assisted verification of Java programs , 2006 .

[146]  Jean-Philippe Martin-Flatin,et al.  Push vs. pull in Web-based network management , 1998, Integrated Network Management VI. Distributed Management for the Networked Millennium. Proceedings of the Sixth IFIP/IEEE International Symposium on Integrated Network Management. (Cat. No.99EX302).

[147]  Peter Verbaan,et al.  The Computational Complexity of Evolving Systems , 2006 .

[148]  Anton Wijs,et al.  Silent steps in transition systems and Markov chains , 2007 .

[149]  H. Hansen Coalgebraic Modelling : Applications in Automata theory and Modal logic , 2009 .

[150]  U Uzma Khadim,et al.  Process algebras for hybrid systems : comparison and development , 2008 .

[151]  Arie van Deursen,et al.  Crawling AJAX by Inferring User Interface State Changes , 2008, 2008 Eighth International Conference on Web Engineering.

[152]  M. Kyas Verifying OCL Specifications of UML models , 2006 .

[153]  Juliana Freire,et al.  An adaptive crawler for locating hidden-Web entry points , 2007, WWW '07.

[154]  van Mpwj Michiel Osch Automated model-based testing of hybrid systems , 2009 .

[155]  Arjen van Weelden,et al.  Putting Types To Good Use , 2007 .

[156]  Gregg Rothermel,et al.  Improving web application testing with user session data , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[157]  Marcel Verhoef,et al.  Modeling and validating distributed embedded real-time control systems , 2009 .

[158]  Yee Wei Law Key management and link-layer security of wireless sensor networks: Energy-efficient attack and defense , 2005 .

[159]  J. Ketema,et al.  Bohm-Like Trees for Rewriting , 2006 .

[160]  Cfj Christian Lange,et al.  Assessing and improving the quality of modeling : a series of empirical studies about the UML , 2007 .

[161]  Arie van Deursen,et al.  An Architectural Style for Ajax , 2006, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[162]  Weisong Shi,et al.  Accelerating Dynamic Web Content Delivery Using Keyword-based Fragment Detection , 2005, J. Web Eng..

[163]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

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

[165]  D. Graaf,et al.  Mining semi-structured data, theoretical and experimental aspects of pattern evaluation , 2008 .

[166]  Filippo Lanubile,et al.  Finding function clones in Web applications , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[167]  Mohammad Ali Abam New data structures and algorithms for mobile data , 2007 .

[168]  Krithi Ramamritham,et al.  Maintaining temporal coherency of virtual data warehouses , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[169]  Christopher Krügel,et al.  SecuBat: a web vulnerability scanner , 2006, WWW '06.

[170]  Marc Abrams,et al.  UIML: An Appliance-Independent XML User Interface Language , 1999, Comput. Networks.

[171]  Cheun Ngen Chong Experiments in rights control : expression and enforcement , 2005 .

[172]  Erika Ábrahám,et al.  An Assertional Proof System for Multithreaded Java - Theory and Tool Support , 2005 .

[173]  Paolo Tonella,et al.  Using clustering to support the migration from static to dynamic web pages , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[174]  Bastiaan Heeren,et al.  Top quality type error Messages , 2005 .

[175]  A. vanDeursen,et al.  De architectuur van Ajax ontrafeld , 2006 .

[176]  Ryan Asleson,et al.  Foundations of Ajax , 2006 .

[177]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[178]  Kyuseok Shim,et al.  XTRACT: a system for extracting document type descriptors from XML documents , 2000, SIGMOD '00.

[179]  Clinton W. Smullen,et al.  An Experimental Study of AJAX Application Performance , 2008, J. Softw..

[180]  Robert F. Sproull,et al.  Principles of interactive computer graphics (2nd ed.) , 1979 .

[181]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[182]  Alberto H. F. Laender,et al.  Automatic generation of agents for collecting hidden Web pages for data extraction , 2004, Data Knowl. Eng..

[183]  Ali Mesbah Ajaxifying Classic Web Applications , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[184]  Arie van Deursen,et al.  Modelling and Generating AJAX Applications: A Model-Driven Approach , 2008, IWWOST@ICWE.

[185]  Ichiro Hasuo,et al.  Tracing Anonymity with Coalgebras , 2008 .

[186]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[187]  Nikolay Kavaldjiev,et al.  A run-time reconfigurable Network-on-Chip for streaming DSP applications , 2006 .

[188]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.0 , 1996, RFC.

[189]  Eleni Stroulia,et al.  User Interface Reverse Engineering in Support of Interface Migration to the Web , 2003, Automated Software Engineering.

[190]  A. Jefferson Offutt,et al.  Quality Attributes of Web Software Applications , 2002, IEEE Softw..

[191]  M. J. de Mol,et al.  Reasoning about functional programs : Sparkle, a proof assistant for Clean , 2009 .

[192]  Petros Zerfos,et al.  Downloading textual hidden web content through keyword queries , 2005, Proceedings of the 5th ACM/IEEE-CS Joint Conference on Digital Libraries (JCDL '05).

[193]  Mor Naaman,et al.  Evaluation of ESI and Class-Based Delta Encoding , 2003, WCW.

[194]  van Mj Muck Weerdenburg,et al.  Efficient rewriting techniques , 2009 .

[195]  Ajay Chander,et al.  JavaScript instrumentation for browser security , 2007, POPL '07.

[196]  Alessandro Orso,et al.  Improving test case generation for web applications using automated interface discovery , 2007, ESEC-FSE '07.

[197]  Giuseppe Scanniello,et al.  Identifying Clones in Dynamic Web Sites Using Similarity Thresholds , 2004, ICEIS.

[198]  Atif M. Memon,et al.  GUI ripping: reverse engineering of graphical user interfaces for testing , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[199]  T. Cook,et al.  Quasi-experimentation: Design & analysis issues for field settings , 1979 .

[200]  Laura Brandán Briones,et al.  Theories for Model-based Testing: Real-time and Coverage , 2007 .

[201]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[202]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[203]  Ka Lok Man,et al.  Formal specification and analysis of hybrid systems , 2006 .

[204]  Lori A. Clarke,et al.  A framework for event-based software integration , 1996, TSEM.

[205]  Atze Dijkstra Stepping through Haskell , 2000 .

[206]  de Hayco Jong Flexible heterogeneous software systems , 2007 .

[207]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[208]  Vittorio Trecordi,et al.  An architecture for effective push/pull Web surfing , 2000, 2000 IEEE International Conference on Communications. ICC 2000. Global Convergence Through Communications. Conference Record.

[209]  Ivan Kurtev,et al.  Adaptability of model transformations , 2005 .

[210]  Sandro Morasca,et al.  An Operational Process for Goal-Driven Definition of Measures , 2002, IEEE Trans. Software Eng..

[211]  M. T. de Berg,et al.  Algorithms for Fat Objects: Decompositions and Applications , 2004 .

[212]  Frank Tip,et al.  Finding bugs in dynamic web applications , 2008, ISSTA '08.

[213]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[214]  Lori L. Pollock,et al.  Automated Oracle Comparators for TestingWeb Applications , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[215]  AJ Arjan Mooij,et al.  Constructive formal methods and protocol standardization , 2006 .

[216]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[217]  David Garlan,et al.  Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments , 2002, WICSA.

[218]  T. van der Storm Component-based configuration, integration and delivery , 2003 .

[219]  Prashant J. Shenoy,et al.  Adaptive push-pull: disseminating dynamic web data , 2001, WWW '01.

[220]  Marius Adrian Marin,et al.  An Integrated System to Manage Crosscutting Concerns in Source Code , 2008 .

[221]  B. Gebremichael-Tesfagiorgis,et al.  Expressivity of Timed Automata Models , 2006 .

[222]  Siegfried Nijssen Mining Structured Data , 2006 .

[223]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[224]  A Adam Koprowski,et al.  Termination of rewriting and its certification , 2004 .

[225]  David E. Culler,et al.  SEDA: An Architecture for Scalable, Well-Conditioned Internet Services , 2001 .

[226]  Richard C. Holt,et al.  Architecture recovery of web applications , 2002, ICSE '02.

[227]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[228]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[229]  B. Kitchenham,et al.  Case Studies for Method and Tool Evaluation , 1995, IEEE Softw..

[230]  Jurgen Vinju,et al.  Analysis and transformation of source code by parsing and rewriting , 2005 .

[231]  Dave Crane,et al.  Ajax in Action , 2005 .

[232]  RH Rudolf Mak,et al.  Design and performance analysis of data-independent stream processing systems , 2008 .

[233]  Hock-Hai Teo,et al.  An empirical study of the effects of interactivity on web user attitude , 2003, Int. J. Hum. Comput. Stud..

[234]  Jan Bosch,et al.  Software Architecture Analysis of Usability , 2004, EHCI/DS-VIS.

[235]  M. Torabi Dashti,et al.  Keeping Fairness Alive : Design and formal verification of optimistic fair exchange protocols , 2008 .

[236]  Colin Potts,et al.  Software-engineering research revisited , 1993, IEEE Software.

[237]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[238]  Yanyan Wang,et al.  Automating experimentation on distributed testbeds , 2005, ASE.

[239]  Mohammad Reza Mousavi,et al.  Structuring structural operational semantics , 2005 .

[240]  V. Sundramoorthy,et al.  At Home in Service Discovery , 2006 .

[241]  Joost Noppen,et al.  Imperfect Information in Software Design Processes , 2007 .

[242]  Giuseppe Scanniello,et al.  Reengineering Web applications based on cloned pattern analysis , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[243]  Sriram Raghavan,et al.  Crawling the Hidden Web , 2001, VLDB.

[244]  Dirk Draheim,et al.  A source code independent reverse engineering tool for dynamic Web sites , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[245]  J. F. Allaire,et al.  Macromedia Flash MX: A next-generation rich client , 2002 .

[246]  Martin Bravenboer,et al.  Exercises in Free Syntax. Syntax Definition, Parsing, and Assimilation of Language Conglomerates , 2003 .

[247]  Robert H. Zakon,et al.  Hobbes' Internet Timeline , 1997, RFC.

[248]  Debra J. Richardson,et al.  The RELAY model of error detection and its application , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[249]  M. A. Valero Espada,et al.  Modal Abstraction and Replication of Processes with Data , 2005 .

[250]  Steve Hansen,et al.  Web Engineering: A New Discipline for Development of Web-Based Systems , 2001, Web Engineering.

[251]  Flavio D. Garcia Formal and Computational Cryptography: Protocols, Hashes and Commitments , 2008 .