基于AJAX的Web应用原子性违反检测及定位

来源 :南京大学 | 被引量 : 0次 | 上传用户:anjo888
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Web应用是一种客户端(或用户界面)运行于一个Web浏览器上的软件应用。一个前端Web应用程序包括HTML页面、CSS样式文件以及相关的JavaScript脚本等。AJAX(Asynchronous Javascript And XML)是 Web 应用中异步调用的最普遍、最有效的实现,但异步调用的回调机制在增加客户端处理事务吞吐量的同时,会造成浏览器端和服务器端之间的并发缺陷。Web应用原子性违反是一类特殊的并发缺陷:原子区域被异步事件的回调机制打断的操作。异步事件的触发和回调执行在一个原子区域上的操作应该是连续的,而当这一连续的原子性操作间产生一个异步请求行为,使得当前异步事件和另一个异步事件的回调操作间的顺序变成不确定,最终影响输出结果,并可能造成商品超卖、系统崩溃等严重问题。现有研究通常采用静态分析方法进行Web应用原子性违反检测,具有高覆盖率的优点,但还存在精确度低、不能分析JavaScript动态特性等不足。为此,根据JavaScript的特性和动态分析框架Jalangi,我们实现了一种结合动态分析和约束求解的JavaScript原子性违反检测及定位工具AVChecker(Atomicity Violation Checker的缩写)。AVChecker包括5大模块:动态插桩、原子区域识别、原子性违反检测、事件建模和原子性违反定位,各部分功能如下:(1)动态插桩模块首先通过插桩记录数据流和控制流信息,然后提取Web应用程序中与JavaScript函数相关的一些元素信息,包括XHR对象、对应DOM调用的API、匿名回调函数等。(2)原子区域识别模块主要分析JavaScript函数的调用关系,包括回调函数的调用,然后识别出回调阶段完整的函数执行链,用于识别出三种类型的原子区域:HTML,CSS 和 JavaScript。(3)原子性违反检测模块首先构造活动间事件约束,包括事件间的原子区域约束和事件内的函数约束,然后对约束进行重新编码,再将SMT求解器作为求解工具来检测是否存在原子性违反。(4)事件建模模块主要将收集到的Trace中信息转换为一个完整的事件模型Aevent,包括对XHR对象的建模、DOM元素的识别和提取以及JavaScript 回调函数的处理。(5)原子性违反定位模块实现了细粒度的并发缺陷定位,即首先采用有限状态自动机表达AJAX的周期,并根据动态事件模型Aevent,设计规则将Trace转换成基于Aevent的Trace,再依据检测到的原子性违反结果定位到造成违反的Aevent 事件对 TAP。实验中的网站选自Alexa-top500,我们从中选取了 22个包含稳定原子性违反的网站。实验结果表明:AVChecker可以有效检测出Web应用中基于AJAX的原子性违反,误报率较低(18%);准确率可达到81.96%,好于现有的检测工具EventRacer,并且能检测出更多DOM类型的问题(175个VS94个)。定位实验结果表明我们算法的定位成功率达到84.5%。
其他文献
本人根据实际项目的开发需求,通过研究大量文献资料,详细分析并设计了鞍山科技大学办公自动化系统,并运用ASP技术完成了系统的实现.本文首先介绍了基于Web的办公自动化系统的
在计算机智能技术发展逐渐成熟,应用不断深入的背景下,本文对证券智能分析系统进行了探讨和设计。按绪论、系统设计、产生式系统和多层感知器的组织顺序,文章对研究理论和意义、
由于计算机技术的高速发展,符合边疆少数民族语言特色的办公自动化软件的开发就成为了一个亟待解决的问题。因为办公软件开发的复杂性以及自身技术力量不足,因此,在开发中,沿
随着Internet技术的不断发展,特别是企业级平台的广泛应用,提高网络软件的伸缩性(Scalability)与可用性(Availability)正受到越来越多的重视。J2EE集群通过负载平衡与容错两种
  并行计算技术出现三十余年来,在很多方面得到应用,并取得很大成就,不但并行计算技术自身得到很大的发展,其它科学研究领域也因此获益颇大。中国科学院“十五”信息化建设重点
本文以机票图像为例,提出了一种将图像的背景信息与前景信息分离,对同类图像仅保存一幅背景,再对其分别进行编码的多种类海量机票图像的压缩方法,与对图像直接进行压缩的方法相比
本文通过对数据仓库设计展开研究,提出了数据仓库建模的新方法:利用领域知识来指导数据仓库设计。认为领域内存在着同一概念多种词汇表示和同一词汇多种含义的语义异构问题,
信息飞速发展的今天,NGN(Next Generation Network—下一代网络的简称)脚步日益临近。基于NGN平台的各种电信设备纷纷进入商用实战阶段。媒体网关(Media Gateway)即是NGN体系
随着中国互联网产业的飞速发展,电子邮件正成为一种快捷,经济的现代通信技术手段。它为人们的工作、生活、娱乐提供了极大的便利。然而,我们在享受电子邮件为我们带来的方便
元数据注册(Metadata Registry,MR),是在元数据的发布和应用中支持多种元数据互操作的机制,这些机制包括元数据的检索与识别、集成与转换、复用与挖掘等。元数据注册的发展可