Cargando…
Benefits, challenges, and usability evaluation of DeloreanJS: a back-in-time debugger for JavaScript
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. Unfortunat...
Autores principales: | , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
PeerJ Inc.
2023
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10280413/ https://www.ncbi.nlm.nih.gov/pubmed/37346625 http://dx.doi.org/10.7717/peerj-cs.1238 |
_version_ | 1785060788827848704 |
---|---|
author | Leger, Paul Ruiz, Felipe Fukuda, Hiroaki Cardozo, Nicolás |
author_facet | Leger, Paul Ruiz, Felipe Fukuda, Hiroaki Cardozo, Nicolás |
author_sort | Leger, Paul |
collection | PubMed |
description | 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”). |
format | Online Article Text |
id | pubmed-10280413 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2023 |
publisher | PeerJ Inc. |
record_format | MEDLINE/PubMed |
spelling | pubmed-102804132023-06-21 Benefits, challenges, and usability evaluation of DeloreanJS: a back-in-time debugger for JavaScript Leger, Paul Ruiz, Felipe Fukuda, Hiroaki Cardozo, Nicolás PeerJ Comput Sci World Wide Web and Web Science 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”). PeerJ Inc. 2023-02-24 /pmc/articles/PMC10280413/ /pubmed/37346625 http://dx.doi.org/10.7717/peerj-cs.1238 Text en ©2023 Leger et al. https://creativecommons.org/licenses/by/4.0/This is an open access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited. |
spellingShingle | World Wide Web and Web Science Leger, Paul Ruiz, Felipe Fukuda, Hiroaki Cardozo, Nicolás 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 |
title_full | Benefits, challenges, and usability evaluation of DeloreanJS: a back-in-time debugger for JavaScript |
title_fullStr | Benefits, challenges, and usability evaluation of DeloreanJS: a back-in-time debugger for JavaScript |
title_full_unstemmed | Benefits, challenges, and usability evaluation of DeloreanJS: a back-in-time debugger for JavaScript |
title_short | Benefits, challenges, and usability evaluation of DeloreanJS: a back-in-time debugger for JavaScript |
title_sort | benefits, challenges, and usability evaluation of deloreanjs: a back-in-time debugger for javascript |
topic | World Wide Web and Web Science |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10280413/ https://www.ncbi.nlm.nih.gov/pubmed/37346625 http://dx.doi.org/10.7717/peerj-cs.1238 |
work_keys_str_mv | AT legerpaul benefitschallengesandusabilityevaluationofdeloreanjsabackintimedebuggerforjavascript AT ruizfelipe benefitschallengesandusabilityevaluationofdeloreanjsabackintimedebuggerforjavascript AT fukudahiroaki benefitschallengesandusabilityevaluationofdeloreanjsabackintimedebuggerforjavascript AT cardozonicolas benefitschallengesandusabilityevaluationofdeloreanjsabackintimedebuggerforjavascript |