JavaScript引擎缺陷的实证研究

来源 :南京邮电大学 | 被引量 : 0次 | 上传用户:bae2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
JavaScript是Web前端开发中最主要的程序设计语言之一,在TIOBE发布的程序设计语言排行榜中长期居于前列。作为一种解释型语言,JavaScript的代码经内嵌在Web浏览器中的JavaScript引擎解析后执行。目前已存在诸多JavaScript引擎,其中V8、SpiderMonkey和Chakra的使用最为广泛,三者的市场占有率之和高达84%。被正确实现的JavaScript引擎是JavaScript正确运行的必要前提,但与其他软件一样,JavaScript引擎中也必然存在着各种已被发现和未被发现的缺陷。这些缺陷会给JavaScript语言的使用者带来困惑,给Web项目的构建造成阻碍。本文立足于V8、SpiderMonkey和Chakra三个主流JavaScript引擎的缺陷跟踪系统,对JavaScript引擎中的缺陷进行实证研究,研究内容包括JavaScript引擎缺陷在时间和空间上的分布情况、用于检测缺陷的测试用例的特征、缺陷修复所涉及的代码范围、缺陷优先级与缺陷所在组件以及缺陷修复时长之间的相关性和缺陷发生的根本原因。通过以上研究,可以帮助JavaScript引擎的开发、测试和维护人员更高效地开发和维护JavaScript引擎,帮助JavaScript语言使用者规避部分常见的缺陷。本文具体工作如下:1.基于三个主流JavaScript引擎缺陷报告中的一般性信息,研究被重新打开的缺陷报告以及被重复提交的缺陷报告的基本情况。研究发现:缺陷报告中重新打开的报告和重复打开的报告数量占比较小,不会给JavaScript引擎开发人员和维护人员带来冗余的工作量,也不会影响我们后续实验分析结果的有效性。2.基于缺陷报告中与缺陷触发相关的信息,研究触发缺陷的测试用例。研究发现:JavaScript引擎缺陷报告中仅少量报告提供了测试用例,分析结果表明这部分测试用例虽然代码规模较小,但仍能很好的检测出缺陷。因此,在设计测试用例时应专注于小规模但复杂的测试用例而非规模庞大却简单的测试用例,这样才能高效地查找和验证JavaScript引擎缺陷。3.基于JavaScript引擎中的缺陷修复信息,研究修复缺陷的过程。通过分析代码修改行数、文件修改个数和修复时长,研究发现:绝大多数缺陷修复时所涉及的代码行数更改量和文件更改个数都比较小,同时绝大多数缺陷的修复时长也比较短。4.基于缺陷报告中的优先级信息,研究缺陷优先级在不同组件中的分布情况,以及缺陷优先级与缺陷修复时长之间的相关性。研究发现V8系统中Parser组件中高优先级的缺陷数量占比最高,在SpiderMonkey系统中则是General组件。这与该组件在系统中的重要性是相符的。尽管在直觉上高优先级的缺陷应被尽快修复,但缺陷优先级与缺陷修复时长之间不存在相关性,其原因可能是高优先级缺陷的修复难度较高,可能是往往需要更长的时间确认该缺陷,也可能是修复团队人力资源不足。5.基于对缺陷报告的根本原因分析,研究JavaScript引擎中缺陷发生的根本原因和分布情况。研究发现,三个JavaScript引擎中的大多数缺陷都属于语义错误,而类似于平台、性能等方面的缺陷比较少。
其他文献
为了提高物联网所提供应用服务的质量,应该对如何提升其任务调度效率进行研究。对于调度问题,传统算法所使用的盲目搜索策略会导致计算资源被大量浪费等问题,因此本文采用群体智能优化算法,以达到使任务调度更智能、更精准、更稳定和更低能耗的目的。群体智能优化算法蕴含着非盲目搜索的随机性,计算时间控制较好,可解决复杂的优化问题,将其引入物联网任务调度研究之中有着重要的理论价值和现实意义。首先,利用混沌映射,对丛
随着社会上智能手机和移动互联网的发展,智能手机已经慢慢成为我们必不可少的生活工具,人们把钱财资金、学习资料等信息都从线下转移到了线上操作。与此同时,智能终端中存储了大量的个人信息,这些信息中包括了大量的隐私信息,包括电话、账户密码、短信、照片等信息。这些信息可能会被一些恶意软件收集并传输到网络上,用户们的隐私信息被当作了获利数据到处售卖,信息的泄露会给智能手机用户带来巨大的损失。为了防范这些恶意软
生活于哀牢山、无量山一带的哈尼族,千百年来,随着自然环境、社会环境与文化环境的变迁,其文化不断交融和发展,创造了举世瞩目的农耕文明以及纷繁多样的乐舞文化,木雀舞便是哈尼族梯田稻作文化与宗教祭祀文化相结合所产生的代表性舞蹈样式,也是极具仿生意味的民间舞蹈。本文以哈尼族木雀舞仿生元素在教学组合编创中的运用研究为目的,采用交叉研究的方法,将仿生学中的相关理论运用于哈尼族木雀舞的研究。在哈尼族木雀舞民族、
佤族是一个跨界民族,主要分布于我国云南的西南地区,其中居住于沧源岩帅地区的佤族自称“布饶”。在佤族族群漫长的历史进程中,形成了与之相对应用来表述文化和情感的重要媒介,也就是“音乐”,并在具体的音乐事象中存在着特有的复杂因素。“音乐”是佤族人民智慧的结晶,是佤族人历史生活的写照,具有鲜明的地域性和民族性。本研究主要通过深描沧源岩帅地区佤族村寨的历史族源、宗教信仰、民风民俗等社会生活,聚焦音乐人类学研
凭借较高的频谱利用率,正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)技术获得了广泛的应用,然而对于传统的OFDM接收机而言,由于其采用高比特模数转换器(Analog-to-digital Converter,ADC),导致整个系统有较大的功率损耗。因此,为了降低功率损耗,在OFDM系统中采用低比特ADC对接收信号进行量化。然而,低比特
目标跟踪技术当前是计算机视觉领域的一个重要的研究方向,在智能交通、视频监控、人机交互和自动驾驶等系统中广泛的运用。人为给定跟踪目标的初始信息,视觉目标跟踪算法能够准确地预测在接下来连续视频帧序列中跟踪目标的具体位置、尺度变化和行动轨迹等动态信息。跟踪场景种类繁多,背景环境复杂且多变,并且目标运动必然会产生形变、遮挡、模糊等问题,因此建立一个既准确鲁棒又满足实时性的视觉目标跟踪系统一直被认为是极富有
X射线计算机断层成像技术(X-ray Computed Tomography,CT)是一种临床常见、可提供清晰人体解剖结构图像的诊断工具。虽然限制CT设备扫描角度可有效降低患者所受电离辐射,但会导致在某些扫描角度上投影数据的部分缺失,最终使得重建出的CT图像质量大幅下降。因此,如何在CT投影数据不完整情况下重建出符合临床诊断需要、高质量的CT图像具有重要的社会价值和理论研究价值。为了提高部分扫描角
作为口腔临床诊断的重要工具,X线头影测量分析技术首先需要定位投影测量图像中的解剖特征点。由此可见,特征点的定位精度会对后续的口腔临床诊断产生重要影响。目前临床上仍然主要采用人工方式对特征点进行标记,定位速度慢、精度上受到主观因素影响较大,无法应对目前国内口腔临床日益剧增的门急诊量。因此,发展X线头影测量图像解剖特征点自动定位技术有重要理论价值和临床应用前景。为了提高X线头影测量图像解剖特征点定位速
随着深度学习的再度兴起,深度神经网络尤其是卷积神经网络在计算机视觉、自然语言处理等领域展现出极大的优势,广泛地应用于图像分类、目标检测、语义分割、语音信号处理、医学图像分析、遥感图像分析等实际应用及许多边缘计算场景。本文的主要研究内容如下:(1)在检测起重机表面锈蚀缺陷的各类方法中,人工巡检效率低下、传统手工设计特征的目标检测方法检测准确率较差。YOLOv3是一种更适用于边缘计算场景的快速目标检测
水彩画由于丰富的艺术表现力,在非真实感绘制领域备受关注。传统的水彩风格化算法能实现对水彩艺术效果的真实渲染,但算法复杂度较高,仅适用于高性能的台式设备。本文提出基于智能手机的水彩风格化绘制技术的研究,从绘制效果和算法效率的角度出发,在智能手机上实现对水彩画艺术效果的真实、高效模拟。本文的主要工作包括提出了一种水彩风格化绘制算法框架,研究了风格化绘制算法的优化方法,实现了一个基于Android手机平