Benefits, Challenges, and Usability Evaluation of DeloreanJS: A Back-in-Time Debugger for JavaScript

Share
Benefits, Challenges, and Usability Evaluation of DeloreanJS: A Back-in-Time Debugger for JavaScript

At the Pragmatics laboratory, we have developed and published DeloreanJS: A Back-in-Time Debugger for JavaScript. This debugger is a proof-of-concept of how continuations can be used to create a usable debugger. DeloreanJS is available at: http://pleger.cl/sites/deloreanjs. DOI: https://doi.org/10.7717/peerj-cs.1238


JavaScript Web applications are a common product in industry. As with most applications, Web applica- tions can acquire software flaws (known as bugs), whose symptoms are seen during the development stage and, even worse, in production. The use of debuggers is beneficial for detecting bugs. Unfortunately, most JavaScript debuggers (1) only support the “step into/through” feature in an execution program to detect a bug, and (2) do not allow developers to go back-in-time at the application execution to take actions to detect the bug accurately. For example, the second limitation does not allow developers to modify the value of a variable to fix a bug while the application is running or test if the same bug is triggered with other values of that variable.

Using concepts such as continuations and static analysis, this paper presents a usable debugger for JavaScript, named DeloreanJS, which enables developers to go back-in-time in different execution points and resume the execution of a Web application to improve the understanding of a bug, or even experiment with hypothetical scenarios around the bug. Using an online and available version, we illustrate the benefits of DeloreanJS through five examples of bugs in JavaScript. Here, you can read the abstract:

Although DeloreanJS is developed for JavaScript, a dynamic prototype-based object model with side effects (mutable variables), we discuss our proposal with the state-of-art/practice of debuggers in terms of features. For example, modern browsers like Mozilla Firefox include a debugger in their distribution that only support for the breakpoint feature. However, DeloreanJS uses a graphical user interface that considers back-in-time features. The aim of this study is to evaluate and compare the usability of DeloreanJS and Mozilla Firefox’s debugger using the System Usability Scale approach. We requested 30 undergraduate students from two computer science programs to solve five tasks. Among the findings, we highlight two results. First, we found that 100% (15) of participants recommended DeloreanJS, and only 53% (8) recommended Firefox’s debugger to complete the tasks. Second, whereas the average score for DeloreanJS is 71.6 (“Good”), the average score for Firefox’s debugger is 55.8 (“Acceptable”).

Read more

Factors that Drive Market Share and the Oligopolistic Character of Cross-border B2C Ecommerce: An agent-based scenario analysis approach

Factors that Drive Market Share and the Oligopolistic Character of Cross-border B2C Ecommerce: An agent-based scenario analysis approach

We have published this paper in the journal Simulation: Transactions of the Society for Modeling and Simulation International. DOI: https://doi.org/10.1177/00375497241296542 ABSTRACT: Business-to-Consumer (B2C) e-commerce has become a dominant, continuously evolving force in global retail. Most consumers today make cross-border purchases in

By Paul Leger
Efficiency Analysis of Engineering Classes: A DEA Approach Encompassing Active Learning and Expositive Classes Towards Quality Education

Efficiency Analysis of Engineering Classes: A DEA Approach Encompassing Active Learning and Expositive Classes Towards Quality Education

We have published in the journal Environmental Science & Policy. DOI: https://doi.org/10.1016/j.envsci.2024.103856 ABSTRACT: The science, technology, engineering, and mathematics (STEM) education research delves into the core of sustainable development goals (SDGs), including the pillars of quality education (SDG4), robust economic growth (SDG8)

By Paul Leger