[发明专利]用于Web应用的竞争检测的方法和系统无效
申请号: | 201310128883.X | 申请日: | 2013-04-15 |
公开(公告)号: | CN103377128A | 公开(公告)日: | 2013-10-30 |
发明(设计)人: | J·杜比;B·派特罗夫;M·斯里德哈兰;M·维切夫 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 于静;张亚非 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 web 应用 竞争 检测 方法 系统 | ||
技术领域
本公开一般地涉及Web应用,更具体地说,涉及Web应用中的竞争条件的检测。
背景技术
现代网页日益变成功能全面的Web应用,具有丰富的用户界面和大量客户端侧代码和状态。Web平台具有应用开发的显著优势,包括快速部署更新,更轻松地跨台式计算机和移动设备进行移植,以及无缝的客户端-服务器集成。
随着其功能性变得更丰富,Web应用在Web平台中更多地使用异步构造。例如,可以通过注册事件处理机,以异步、事件驱动的方式处理用户交互和某些网络请求的完成。此外,站点越来越多地使用JavaScript代码本身的延迟或异步加载,以便加速呈现页面的其它部分并提高所感知的响应性。
异步性的使用可在Web应用中导致严重的并发性错误。因为网页中的JavaScript代码按顺序运行,所以与具有共享存储器多线程的Java等语言相比,很少意识到这些并发性错误。然而,此类错误会发生,因为事件分派、网络带宽、CPU速度等方面存在非确定性。
并发性错误已在实际Web应用中导致严重的缺陷。Mozilla的开发人员注意到,他们的回归测试套件中的许多非确定性故障都是由单元测试输入中的竞争条件引起的,从而产生有关如何避免此类问题的文档。在一段时间内,Hotmail电子邮件服务由于竞争而在Firefox Web浏览器内被中断,从而导致消息内容丢失。
发明内容
根据本公开的一个实施例,一种用于执行呈现引擎的方法包括:经由计算机网络接收计算机可读代码;以及在单个执行线程中将所述计算机可读代码呈现为显示内容,所述呈现引擎的特征在于所述呈现引擎在呈现所述计算机可读代码中的多个操作的之前发生关系(happens-before)。
根据本公开的一个实施例,一种用于执行呈现引擎的方法包括:经由计算机网络接收计算机可读代码;以及在单个执行线程中将所述计算机可读代码呈现为显示内容,所述呈现引擎的特征在于所述呈现引擎在呈现所述计算机可读代码中的多个存储器访问操作的逻辑存储器位置模型。
根据本公开的一个实施例,一种用于执行呈现引擎的方法包括:在单个执行线程中执行包括至少两个操作的Web应用;针对所述Web应用的多个插装(instrumentation)访问生成辅助图;以及检测所述Web应用的并发存储器访问并将其报告为竞争。
附图说明
下面将参考附图更详细地描述本公开的优选实施例:
图1是根据本公开的一个实施例的竞争检测方法的流程图;
图2是根据本公开的一个实施例的通用数据竞争实例;
图3是根据本公开的一个实施例的针对表单字段值的数据竞争;
图4是根据本公开的一个实施例的HTML竞争的一个实例;
图5是根据本公开的一个实施例的函数竞争的一个实例;
图6是根据本公开的一个实施例的事件分派竞争的一个实例;
图7是根据本公开的一个实施例的元素优先顺序的一个实例;
图8是根据本公开的一个实施例的异步脚本的一个实例;
图9是根据本公开的一个实施例的竞争检测的流程图;
图10是根据本公开的一个实施例的竞争检测器的示例性实施方式的流程图;以及
图11是根据本公开的一个实施例的用于实现针对案例管理应用分析的方法的计算机系统的示意图。
具体实施方式
根据本公开的一个实施例,可以检测Web应用中的并发性错误。当异步事件结合Web应用的呈现而导致竞争条件时,将发生并发性错误。并发性错误可能导致数据丢失或Web应用执行不正确的功能。这些错误在Web应用中难以发现,因为它们可能取决于用户交互。根据本公开的一个实施例,描述了网站构造的“之前发生”关系和用于捕获有状态交互的存储器访问的“逻辑模型”。所述逻辑模型与之前发生关系使能在Web应用中检测可导致并发性错误的竞争条件。
为了阐明Web应用中的异步性行为,描述了一种用于常用JavaScript和HTML特性的示例性之前发生关系。定义之前发生关系并非易事,因为JavaScript和标准HTML特性之间的交互复杂并且浏览器偏离规范。可以根据对相关规范、浏览器行为以及如何在实践中使用构造的研究,创建示例性之前发生关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310128883.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:配电支路智能负荷控制器
- 下一篇:一种低成本亚纳秒级时间间隔检测电路