Proceedings Article10.1145/2568225.2568268
Understanding JavaScript event-based interactions
Saba Alimadadi,Sheldon Sequeira,Ali Mesbah,Karthik Pattabiraman +3 more
- 31 May 2014
- pp 367-377
TL;DR: This work proposes a generic technique for capturing low-level event-based interactions in a web application and mapping those to a higher-level behavioural model, which is transformed into an interactive visualization, representing episodes of triggered causal and temporal events, related JavaScript code executions, and their impact on the dynamic DOM state.
read more
Abstract: Web applications have become one of the fastest growing types of software systems today. Despite their popularity, understanding the behaviour of modern web applications is still a challenging endeavour for developers during development and maintenance tasks. The challenges mainly stem from the dynamic, event-driven, and asynchronous nature of the JavaScript language. We propose a generic technique for capturing low-level event-based interactions in a web application and mapping those to a higher-level behavioural model. This model is then transformed into an interactive visualization, representing episodes of triggered causal and temporal events, related JavaScript code executions, and their impact on the dynamic DOM state. Our approach, implemented in a tool called Clematis, allows developers to easily understand the complex dynamic behaviour of their application at three different semantic levels of granularity. The results of our industrial controlled experiment show that Clematis is capable of improving the task accuracy by 61%, while reducing the task completion time by 47%.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Discovering bug patterns in JavaScript
Quinn Hanam,Fernando Brito,Ali Mesbah +2 more
- 01 Nov 2016
TL;DR: A novel semi-automatic technique, called BugAID, is proposed, for discovering the most prevalent and detectable bug patterns in JavaScript, based on unsupervised machine learning using language-construct-based changes distilled from AST differencing of bug fixes in the code.
106
A Survey of Dynamic Analysis and Test Generation for JavaScript
Esben Andreasen,Liang Gong,Anders Møller,Michael Pradel,Marija Selakovic,Koushik Sen,Cristian-Alexandru Staicu +6 more
TL;DR: This article surveys dynamic program analysis and test generation techniques for JavaScript targeted at improving the correctness, reliability, performance, security, and privacy of JavaScript-based software.
Don't Call Us, We'll Call You: Characterizing Callbacks in Javascript
Keheliya Gallaba,Ali Mesbah,Ivan Beschastnikh +2 more
- 01 Oct 2015
TL;DR: An empirical study to characterize JavaScript callback usage across a representative corpus of 138 JavaScript programs, with over 5 million lines of JavaScript code, finds that on average, every 10th function definition takes a callback argument and that over 43% of all callback-accepting function callsites are anonymous.
Node.fz: Fuzzing the Server-Side Event-Driven Architecture
James C. Davis,Arun Thekumparampil,Dongyoon Lee +2 more
- 23 Apr 2017
TL;DR: This study shows the forms that atomicity violations and ordering violations take in the EDA context, and points out the limitations of existing concurrency error detection tools developed for client-side EDA applications.
48
Understanding asynchronous interactions in full-stack JavaScript
Saba Alimadadi,Ali Mesbah,Karthik Pattabiraman +2 more
- 14 May 2016
TL;DR: This work proposes a technique for capturing a behavioural model of full-stack JavaScript applications' execution that is temporal and context-sensitive to accommodate asynchronous events, as well as the scheduling and execution of lifelines of callbacks.
46
References
•Journal Article
[''R"--project for statistical computing].
TL;DR: An introduction to the R project for statistical computing (www.R-project.org) is presented to make the professional community aware of "R" as a potent and free software for graphical and statistical analysis of medical data.
3.4K
•Book
Experimentation in Software Engineering: An Introduction
Claes Wohlin,Per Runeson,Martin Höst,Magnus C. Ohlsson,Bjöorn Regnell,Anders Wesslén +5 more
- 27 Sep 2011
TL;DR: The purpose of Experimentation in Software Engineering: An Introduction is to introduce students, teachers, researchers, and practitioners to experimentation and experimental evaluation with a focus on software engineering, and to provide guidelines for performing experiments evaluating methods, techniques and tools in software engineering.
3.1K
A review of overview+detail, zooming, and focus+context interfaces
TL;DR: The aim is to provide a succinct summary of the state-of-the-art interface schemes, to illuminate both successful and unsuccessful interface strategies, and to identify potentially fruitful areas for further work.
Program understanding: challenge for the 1990's
TL;DR: In the Program Understanding Project at IBM's Research Division, work began in late 1986 on tools which could help programmers in two key areas: static analysis (reading the code) and dynamic analysis (running the code). The work is reported in the companion papers by Cleveland and by Pazel in this issue as mentioned in this paper.
450
A Systematic Survey of Program Comprehension through Dynamic Analysis
TL;DR: A systematic literature survey aimed at the identification and structuring of research on program comprehension through dynamic analysis is reported on, which offers insight in what constitutes the main contributions of the field and supports the task of identifying gaps and opportunities.