Treffer: Benefits, challenges, and usability evaluation of DeloreanJS: a back-in-time debugger for JavaScript.

Title:
Benefits, challenges, and usability evaluation of DeloreanJS: a back-in-time debugger for JavaScript.
Authors:
Leger P; Escuela de Ingeniería, Universidad Católica del Norte, Coquimbo, Elqui, Chile., Ruiz F; Escuela de Ingeniería, Universidad Católica del Norte, Coquimbo, Elqui, Chile., Fukuda H; Shibaura Institute of Technology, Tokyo, Japan., Cardozo N; Universidad de Los Andes, Bógota, Colombia.
Source:
PeerJ. Computer science [PeerJ Comput Sci] 2023 Feb 24; Vol. 9, pp. e1238. Date of Electronic Publication: 2023 Feb 24 (Print Publication: 2023).
Publication Type:
Journal Article
Language:
English
Journal Info:
Publisher: PeerJ Inc Country of Publication: United States NLM ID: 101660598 Publication Model: eCollection Cited Medium: Internet ISSN: 2376-5992 (Electronic) Linking ISSN: 23765992 NLM ISO Abbreviation: PeerJ Comput Sci Subsets: PubMed not MEDLINE
Imprint Name(s):
Original Publication: San Diego, CA : PeerJ Inc., [2015]-
Contributed Indexing:
Keywords: Debugger; JavaScript; Programming language; Software engineering; Usability evaluation; Web applications
Entry Date(s):
Date Created: 20230622 Latest Revision: 20230626
Update Code:
20250114
PubMed Central ID:
PMC10280413
DOI:
10.7717/peerj-cs.1238
PMID:
37346625
Database:
MEDLINE

Weitere Informationen

JavaScript Web applications are a common product in industry. As with most applications, Web applications 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 article 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. 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% (eight) 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").
(©2023 Leger et al.)

The authors declare there are no competing interests.