13 research outputs found

    XFix: An Automated Tool for the Repair of Layout Cross Browser Issues

    Get PDF
    Differences in the rendering of a website across different browsers can cause inconsistencies in its appearance and usability, resulting in Layout Cross Browser Issues (XBIs). Such XBIs can negatively impact the functionality of a website as well as users’ impressions of its trustworthiness and reliability. Existing techniques can only detect XBIs, and therefore require developers to manually perform the labor intensive task of repair. In this demo paper we introduce our tool, XFix, that automatically repairs layout XBIs in web applications. To the best of our knowledge, XFix is the first automated technique for generating XBI repairs

    Automated Repair of Layout Cross Browser Issues Using Search-Based Techniques

    Get PDF
    A consistent cross-browser user experience is crucial for the success of a website. Layout Cross Browser Issues (XBIs) can severely undermine a website’s success by causing web pages to render incorrectly in certain browsers, thereby negatively impacting users’ impression of the quality and services that the web page delivers. Existing Cross Browser Testing (XBT) techniques can only detect XBIs in websites. Repairing them is, hitherto, a manual task that is labor intensive and requires significant expertise. Addressing this concern, our paper proposes a technique for automatically repairing layout XBIs in websites using guided search-based techniques. Our empirical evaluation showed that our approach was able to successfully fix 86% of layout XBIs reported for 15 different web pages studied, thereby improving their cross-browser consistency

    A Systematic Literature Review in Cross-browser Testing

    Get PDF
    Many users access web pages from different browsers looking for the same user experience in all of them. However, there are several causes that produce compatibility issues. Those defects affect functionalities and user interface components. In this paper we present a systematic literature review which aims to find and summarize existing techniques, tools and challenges related to crossbrowser testing. According to the results, the most used technique is the visual analysis. However, there are still challenges to face. The most important challenge is the identification of dynamic components in the user interface. Cross-browser compatibility topics are getting importance according to an increment in published articles. Nevertheless, there are techniques that are not completely developed yet and do not fully support test automation practices.Facultad de Informátic

    A Systematic Literature Review in Cross-browser Testing

    Get PDF
    Many users access web pages from different browsers looking for the same user experience in all of them. However, there are several causes that produce compatibility issues. Those defects affect functionalities and user interface components. In this paper we present a systematic literature review which aims to find and summarize existing techniques, tools and challenges related to crossbrowser testing. According to the results, the most used technique is the visual analysis. However, there are still challenges to face. The most important challenge is the identification of dynamic components in the user interface. Cross-browser compatibility topics are getting importance according to an increment in published articles. Nevertheless, there are techniques that are not completely developed yet and do not fully support test automation practices.Facultad de Informátic

    A Systematic Literature Review in Cross-browser Testing

    Get PDF
    Many users access web pages from different browsers looking for the same user experience in all of them. However, there are several causes that produce compatibility issues. Those defects affect functionalities and user interface components. In this paper we present a systematic literature review which aims to find and summarize existing techniques, tools and challenges related to crossbrowser testing. According to the results, the most used technique is the visual analysis. However, there are still challenges to face. The most important challenge is the identification of dynamic components in the user interface. Cross-browser compatibility topics are getting importance according to an increment in published articles. Nevertheless, there are techniques that are not completely developed yet and do not fully support test automation practices.Facultad de Informátic

    Una revisión sistemática de la literatura en pruebas de compatibilidad web

    Get PDF
    Los usuarios acceden a aplicaciones web desde diferentes navegadores esperando obtener la misma experiencia de usuario. Sin embargo diversas causas producen defectos de compatibilidad que afectan negativamente las funcionalidades y la interfaz gráfica. En este trabajo se busca identificar, analizar y sintetizar las técnicas, herramientas y desafíos encontrados en artículos científicos publicados sobre pruebas de compatibilidad web. La metodología elegida es la revisión sistemática de la literatura. Se analizaron y sintetizaron los hallazgos para responder los interrogantes propuestos. La técnica de pruebas más elegida es el análisis visual. El principal desafío detectado es la detección de elementos variables. La compatibilidad web es cada vez más importante de acuerdo al crecimiento de las publicaciones, pero aún no se han desarrollado técnicas adecuadas soportadas por herramientas automatizadas.XIV Workshop de Ingeniería de Software (WIS).Red de Universidades con Carreras en Informática (RedUNCI

    Cross-Browser Rendering using Headless Server-Side Browsers

    Get PDF
    Hoje em dia são usados variados browsers para navegar pela Web, desde os mais conhecidos, Internet Explorer, Google Chrome, Safari ou Mozilla Firefox incluindo browsers menos conhecidos tal como o Opera. Estes browsers são tipicamente pedaços de software proprietários pertencentes às empresas que os criaram, e como tal, variam no seu funcionamento, de interesse para esta tese, no processamento de ficheiros HTML, CSS e Javascript que leva à geração de paginas web diferentes resultando em experiências de utilizadores também diferentes.De forma a homogeneizar as diferenças entre browsers, a ideia de testar e renderizar páginas de forma cross browser foi proposta e têm sido alvo de investigação e desenvolvimento. Renderização cross browser é a capacidade de gerar uma interface gráfica também conhecida como uma página web, de acordo com o browser em uso. Desta forma, desenvolvedores de web podem testar com mais facilidade de que forma o seu código se comporta em diferentes ambientes de execução.No entanto esta tecnologia pode ser usada para mais do que permitir um desenvolvedor de web testar o seu código, também pode ser usado para detectar falhas de seguranças. À medida que a internet cresce e se torna um dos meios de comunicação mais pertinentes para um grande leque de áreas, desde o entretenimento à banca, torna-se também o meio onde ataques informáticos ocorrem cada vez mais. Entre os ataques cibernéticos mais prejudiciais, o mais pertinente e de particular interesse para esta dissertação são os ataques de injecção de código do lado do cliente.Uma das maneiras para detectar estes tipos de ataques é por verificar se o código fonte de uma página web varia de alguma forma com a versão "limpa" fornecido pelo dono do site, onde nenhuma modificação local foi efectuada. Ao fazer uso de renderizações cross browser, torna-se possível minimizar os erros de algoritmos de detecção de código malicioso ao eliminar diferenças de renderização inerentes a cada browser especifico. Como tal, esta dissertação pretende fornecer a base para o desenvolvimento de uma ferramenta que permita a identificação e categorização das diferenças entre páginas web renderizadas do lado do cliente e o código original do servidor do site que são consideradas inofensivas.Nowadays many different browsers are used to navigate the Web, ranging from the most well known, Internet Explorer, Chrome, Safari or Firefox to less well known browsers such as Opera. These browsers are typically proprietary to the companies they belong to, hence, differing in their operations, of particular interest to this dissertation, the processing of HTML, CSS and JavaScript files which leads to the generation of different web pages, resulting in slightly different user experiences.In order to homogenize the differences between browsers, the idea of cross browser testing and rendering has become a topic of research. Cross browser rendering is the ability to generate a user interface also known as a web page, according to the browser specified. This way developers may test with more ease how their code behaves under different execution environments.However this technology can be used for more than enabling a web developer to test their code, it can also be used to detect security breaches. As the Internet becomes an ever-growing, relevant de facto tool in communication flow for a wide range of areas, from entertainment to banking, it also becomes the target medium for cyber attacks to occur. Amongst the most harmful cyber attack in existence, of particular interest to this thesis are Client-side Injection attacks.One of the ways in which these types of attacks can be detected is by checking whether a webpages source code somehow varies from a "clean" version provided by the web host, which has undergone no local modifications. By leveraging cross browser rendering, it becomes possible to minimize errors in malicious code detection algorithms by eliminating the rendering differences inherent to each particular browser. As such, this dissertation intends to provide the basis for a tool which allows the identification and categorisation of differences between client-side web pages and the original server code which are considered harmless

    Automatic Identification of Presentation Failures in Responsive Web Pages

    Get PDF
    With the increasing number and variety of devices being used to access the World Wide Web, providing a good browsing experience to all users, regardless of device, is a critical task. To do this, many web developers now use responsive web design (RWD) to build web pages that provide a bespoke layout tailored to the specific characteristics of the device in use, normally the viewport width. However, implementing responsive web pages is an error-prone task, as web page elements can behave in unpredictable ways as the viewport expands and contracts. This leads to presentation failures — errors in the visual appearance of the web page. As well-designed responsive web pages can have an array of benefits, identifying presentation failures quickly and accurately is an important task. Unfortunately, current approaches to detecting presentation failures in web pages are insufficient. The huge number of different viewport widths that require support makes thorough checking of the layout on all devices infeasible. Furthermore, the current range of developer tools only provide limited support for testing responsive web pages. This thesis tackles these problems by making the following contributions. First, it proposes the responsive layout graph (RLG), a model of the dynamic layout of modern responsive web pages. Then, it explores how the RLG can be used to automatically detect potentially unseen side-effects of small changes to the source code of a web page. Next, it investigates the detection of several common types of layout failures, leveraging implicit oracle information in place of an explicit oracle. Experiments showed both the approach for detecting potentially unseen side-effects and the approach for identifying common types of layout failure to be highly effective. The manual effort required by the user is further reduced by an approach that automatically grouped related failures together. Finally, a case study of 33 real-world responsive layout failures investigates how difficult such failures are to fix. These approaches have all been implemented into a software tool, ReDeCheck, which helps web developers create better responsive web pages

    Eliminating Code Duplication in Cascading Style Sheets

    Get PDF
    Cascading Style Sheets (i.e., CSS) is the standard styling language, widely used for defining the presentation semantics of user interfaces for web, mobile and desktop applications. Despite its popularity, CSS has not received much attention from academia. Indeed, developing and maintaining CSS code is rather challenging, due to the inherent language design shortcomings, the interplay of CSS with other programming languages (e.g., HTML and JavaScript), the lack of empirically- evaluated coding best-practices, and immature tool support. As a result, the quality of CSS code bases is poor in many cases. In this thesis, we focus on one of the major issues found in CSS code bases, i.e., the duplicated code. In a large, representative dataset of CSS code, we found an average of 68% duplication in style declarations. To alleviate this, we devise techniques for refactoring CSS code (i.e., grouping style declarations into new style rules), or migrating CSS code to take advantage of the code abstraction features provided by CSS preprocessor languages (i.e., superset languages for CSS that augment it by adding extra features that facilitate code maintenance). Specifically for the migration transformations, we attempt to align the resulting code with manually-developed code, by relying on the knowledge gained by conducting an empirical study on the use of CSS preprocessors, which revealed the common coding practices of the developers who use CSS preprocessor languages. To guarantee the behavior preservation of the proposed transformations, we come up with a list of preconditions that should be met, and also describe a lightweight testing technique. By applying a large number of transformations on several web sites and web applications, it is shown that the transformations are indeed presentation-preserving, and can effectively reduce the amount of duplicated code in CSS

    New Fundamental Technologies in Data Mining

    Get PDF
    The progress of data mining technology and large public popularity establish a need for a comprehensive text on the subject. The series of books entitled by "Data Mining" address the need by presenting in-depth description of novel mining algorithms and many useful applications. In addition to understanding each section deeply, the two books present useful hints and strategies to solving problems in the following chapters. The contributing authors have highlighted many future research directions that will foster multi-disciplinary collaborations and hence will lead to significant development in the field of data mining
    corecore