161 research outputs found

    Exposing the Hidden-Web Induced by Ajax

    No full text
    AJAX is a very promising approach for improving rich interactivity and responsiveness of web applications. At the same time, AJAX techniques increase the totality of the hidden web by shattering the metaphor of a web ‘page’ upon which general search engines are based. This paper describes a technique for exposing the hidden web content behind AJAX by automatically creating a traditional multi-page instance. In particular we propose a method for crawling AJAX applications and building a state-flow graph modeling the various navigation paths and states within an AJAX application. This model is used to generate linked static HTML pages and a corresponding Sitemap. We present our tool called CRAWLJAX which implements the concepts discussed in this paper. Additionally, we present a case study in which we apply our approach to two AJAX applications and elaborate on the obtained results.Software Computer TechnologyElectrical Engineering, Mathematics and Computer Scienc

    Migrating Multi-page Web Applications to Single-page AJAX Interfaces

    No full text
    Recently, a new web development technique for creating interactive web applications, dubbed AJAX, has emerged. In this new model, the single-page web interface is composed of individual components which can be updated/replaced independently. With the rise of AJAX web applications classical multi-page web applications are becoming legacy systems. If until a year ago, the concern revolved around migrating legacy systems to web-based settings, today we have a new challenge of migrating web applications to single-page AJAX applications. Gaining an understanding of the navigational model and user interface structure of the source application is the first step in the migration process. In this paper, we explore how reverse engineering techniques can help analyze classic web applications for this purpose. Our approach, using a schema-based clustering technique, extracts a navigational model of web applications, and identifies candidate user interface components to be migrated to a single-page AJAX interface. Additionally, results of a case study, conducted to evaluate our tool, are presented Preprint accepted for publication in Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR'07), Amsterdam (The Netherlands) 21-23 March, 2007, IEEE Computer Society, 2007Software TechnologyElectrical Engineering, Mathematics and Computer Scienc

    Research issues in the automated testing of Ajax applications

    No full text
    Note: This paper is a pre-print of: Arie van Deursen and Ali Mesbah. Research Issues in the Automated Testing of Ajax Applications. In Proceedings 36th International Conference on Current Trend in Theory and Practice of Computer Science (SOFSEM), pp. 16-28. Lecture Notes in Computer Science 5901, Springer-Verlag, 2010. There is a growing trend to move desktop applications towards the web. This move is made possible through advances in web technologies collectively known as Asynchronous JavaScript and XML (Ajax). With Ajax, the classical model of browsing a series of pages is replaced by a JavaScript engine (running in the browser) taking control of user interaction, exchanging information updates with the web server instead of requesting the complete next page. The benefits of this move include no installation costs, automated upgrading for all users, increased interactivity, reduced user-perceived latency, and universal access, to name a few. Ajax, however, comes at a price: the asynchronous, stateful nature and the use of JavaScript make Ajax applications particularly error-prone, causing serious dependability threats. In this paper, we evaluate to what extent automated testing can be used to address these Ajax dependability problems. Based on an analysis of the current challenges in testing Ajax, we formulate directions for future research.Software Computer TechnologyElectrical Engineering, Mathematics and Computer Scienc

    A Component- and Push-based Architectural Style for Ajax Applications

    No full text
    Preprint of article published in: Journal of Systems and Software (Elsevier), 81 (12), 2008; doi:10.1016/j.jss.2008.04.005 A new breed of web application, dubbed ajax, is emerging in response to a limited degree of interactivity in large-grain stateless Web interactions. At the heart of this new approach lies a single page interaction model that facilitates rich interactivity. Also push-based solutions from the distributed systems are being adopted on the web for ajax applications. The field is, however, characterized by the lack of a coherent and precisely described set of architectural concepts. As a consequence, it is rather difficult to understand, assess, and compare the existing approaches. We have studied and experimented with several ajax frameworks trying to understand their architectural properties. In this paper, we summarize four of these frameworks and examine their properties and introduce the spiar architectural style which captures the essence of ajax applications. We describe the guiding software engineering principles and the constraints chosen to induce the desired properties. The style emphasizes user interface component development, intermediary delta-communication between client/server components, and push-based event notification of state changes through the components, to improve a number of properties such as user interactivity, user-perceived latency, data coherence, and ease of development. In addition, we use the concepts and principles to discuss various open issues in ajax frameworks and application development.Software Computer TechnologyElectrical Engineering, Mathematics and Computer Scienc

    Visualisation of Domain-Specific Modelling Languages Using UML

    No full text
    Currently, general-purpose modelling tools are often only used to draw diagrams for the documentation. The introduction of model-driven software development approaches involves the definition of domain-specific modelling languages that allow code generation. Although graphical representations of the involved models are important for documentation, the development of required visualisations and editors is cumbersome. In this paper we propose to extend the typical model-driven approach with the automatic generation of diagrams for documentation. We illustrate the approach using the Model Driven Architecture in the domains of software architecture and control systems. Preprint accepted for publication in 14th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS), Tucson (USA), March 26th-29th, 2007Software TechnologyElectrical Engineering, Mathematics and Computer Scienc

    An Adaptive Push/Pull Algorithm for AJAX Applications

    No full text
    Preprint of paper published in: AEWSE 2008 - Proceedings of the Third International Workshop on Adaptation and Evolution in Web Systems Engineering, 16 July 2008 Even though the AJAX paradigm helps web applications to become more responsive, AJAX alone does not provide an efficient mechanism for real-time data delivery. Use cases of applications that need such a service include stock tickers, auction sites or chat rooms. The user interface components of these applications must be kept up-to-date with the latest data from the server, and changes should be received immediately. There are two different static approaches used in the industry to provide real-time data delivery: Either the client pulls for the latest data, or the server pushes it to the client. However, such a static approach is not optimal, since both techniques have their own advantages and disadvantages. In this paper we present an adaptive algorithm that combines both solutions in order to increase scalability, network performance and userperceived latency.Software Computer TechnologyElectrical Engineering, Mathematics and Computer Scienc

    What your Plug-in Test Suites Really Test: An Integration Perspective on Test Suite Understanding

    No full text
    Author's version of the work published in: Empirical Software Engineering, 18 (5), 2013; doi:10.1007/s10664-012-9235-7 Software architectures such as plug-in and service-oriented architectures enable developers to build extensible software products, whose functionality can be enriched by adding or configuring components. A well-known example of such an architecture is Eclipse, best known for its use to create a series of extensible IDEs. Although such architectures give users and developers a great deal of flexibility to create new products, the complexity of the built systems increases. In order to manage this complexity developers use extensive automated test suites. Unfortunately, current testing tools offer little insight in which of the many possible combinations of components and components configurations are actually tested. The goal of this paper is to remedy this problem. To that end, we interview 25 professional developers on the problems they experience in test suite understanding for plug-in architectures. The findings have been incorporated in five architectural views that provide an extensibility perspective on plug-in-based systems and their test suites. The views combine static and dynamic information on plug-in dependencies, extension initialization, extension and service usage, and the test suites. The views have been implemented in ETSE, the Eclipse Plug-in Test Suite Exploration tool. We evaluate the proposed views by analyzing eGit, Mylyn, and a Mylyn connector.Software Computer TechnologyElectrical Engineering, Mathematics and Computer Scienc

    Using MDE for Generic Comparison of Views

    No full text
    We investigate the application of technologies for modeldriven engineering to check the conformance of two software models. This involves their model-based comparison, and visualisation of the results. To generalise our approach we use reflection, metamodel generalisation, and higher-order transformations. We apply our approach to assess the extent to which the implementation of an academic example system does not violate the constraints defined by its architecture specification. Preprint accepted for publication in the Proceedings of the 4th International Workshop on Model Design, Verification and Validation (MODEVVA 2007), 2007Software TechnologyElectrical Engineering, Mathematics and Computer Scienc

    Crawl-Based Analysis of Web Applications: Prospects and Challenges

    No full text
    In this paper we review five years of research in the field of automated crawling and testing of web applications. We describe the open source Crawljax tool, and the various extensions that have been proposed in order to address such issues as cross-browser compatibility testing, web application regression testing, and style sheet usage analysis. Based on that we identify the main challenges and future directions of crawl-based testing of web applications. In particular, we explore ways to reduce the exponential growth of the state space, as well as ways to involve the human tester in the loop, thus reconciling manual exploratory testing and automated test input generation. Finally, we sketch the future of crawl-based testing in the light of upcoming developments, such as the pervasive use of touch devices and mobile computing, and the increasing importance of cyber-security.Software TechnologyElectrical Engineering, Mathematics and Computer Scienc

    Reconstructing Requirements Traceability in Design and Test Using Latent Semantic Indexing

    No full text
    Managing traceability data is an important aspect of the software development process. In this paper we define a methodology, consisting of six steps, for reconstructing requirements views using traceability data. One of the steps concerns the reconstruction of the traceability data. We investigate to what extent Latent Semantic Indexing (LSI), an information retrieval technique, can help recovering the information needed for automatically reconstructing traceability of requirements during the development process. We experiment with different link selection strategies and apply LSI in multiple case studies varying in size and context. We discuss the results of a small lab study, a larger case study and a large industrial case study.Software TechnologyElectrical Engineering, Mathematics and Computer Scienc
    • …
    corecore