arrow
返回

An empirical study on bugs in JavaScript engines

delete2023-03-01
delete3
PRE
AI
Z
Ziyuan Wang *
D
Dexin Bu
王南南 封面图
王南南 (Nannan Wang)
S
Sijie Yu
S
Shanyi Gou
A
Aiyue Sun
DOI:10.1016/j.infsof.2022.107105delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Context: JavaScript is a prototype-based dynamic type scripting language. The correct running of a JavaScript program depends on the correctness of both the program and the JavaScript engine.Objective: An in-depth understanding of the characteristics of bugs in JavaScript engines can help detect and fix them.Methods: We conduct an empirical study on the bugs in three mainstream JavaScript engines: V8, SpiderMonkey, and Chakra. Such an empirical study involves 19,019 bug reports, 16,437 revisions, 805 test cases, and root causes of randomly selected 540 bugs.Results: (1) The Compiler and the DOM are the most buggy component in V8 and SpiderMonkey, respectively. Most of the source files contain only one bug. (2) The scales of the testing programs that reveal bugs are usually small. Most bug fixes involve only limited modifications since the number of modified source files and lines of code modified are small. (3) Most bugs can be fixed within half a year (80.33% for V8 and 91.9% for SpiderMonkey). Only 4.33% of SpiderMonkey bugs need more than a year to fix. Bugs in SpiderMonkey are usually fixed faster than bugs in V8. (4) High priority tends to be assigned to Infrastructure bugs in V8 and Release Automation bugs in SpiderMonkey. The duration of bugs is not strictly correlated with their priorities. (5) Semantic bugs are the most common root causes of bugs. And among semantic bugs, the processing bugs, missing features bugs and function call bugs are more than others.Conclusion: This study deepens our understanding of bugs in JavaScript engines, and empirical results could indicate some potential problems during the detecting and fixing of bugs in JavaScript engines, assist developers of JavaScript engines in improving their development quality, assist maintainers in detecting and fixing bugs more effectively, and suggest users of JavaScript evade potential risks.
Keyword:
Empirical study
JavaScript engine
Software bug
SpiderMonkey
Chakra
V8

期刊

Information and Software Technology 封面图
Information and Software Technology
IF:
4.3
论文数:
3.8K
被引数:
7.7K

机构

暂无机构信息
引用论文

引用论文

Pixel CdTe semiconductor module to implement a sub-MeV imaging detector for astrophysics
err2017-03-13
err0
PREAI
errJ.-L. Gálvez; M. Hernanz; L. Álvarez; B. Artigues; J.-M. Álvarez; M. Ullán; G. Pellegrini; M. Lozano; E. Cabruja; R. Martínez; M. Chmeissani; C. Puigdengoles
err分享
err收藏
err分享
err收藏
Bug characteristics in open source software开源软件的Bug特征
err2013-06-07
err184
PREAI
errTan, Lin; Liu, Chen; Li, Zhenmin; Wang, Xuanhui; Zhou, Yuanyuan; Zhai, Chengxiang
err分享
err收藏
A multiplicative model of software defect repair times
err2009-08-19
err9
PREAI
errGokhale, Swapna S.; Mullen, Robert E.
err分享
err收藏
没有更多内容