CN102681933B - 针对web兼容性和互操作性的代码顾问 - Google Patents

针对web兼容性和互操作性的代码顾问 Download PDF

Info

Publication number
CN102681933B
CN102681933B CN201210018531.4A CN201210018531A CN102681933B CN 102681933 B CN102681933 B CN 102681933B CN 201210018531 A CN201210018531 A CN 201210018531A CN 102681933 B CN102681933 B CN 102681933B
Authority
CN
China
Prior art keywords
api
code
computer
message
webpage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210018531.4A
Other languages
English (en)
Other versions
CN102681933A (zh
Inventor
M.A.西尔比
A.M.罗斯
J.A.穆尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102681933A publication Critical patent/CN102681933A/zh
Application granted granted Critical
Publication of CN102681933B publication Critical patent/CN102681933B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

各种实施例提供调查工具以使得网页内容能得以分析。在至少一些实施例中,在后面被称作“代码顾问”的调查工具允许跟踪应用编程接口(API)的使用。通过在网页脚本执行时跟踪API使用,代码顾问能确定关于网页内容是否存在兼容性和/或互操作性问题。如果确实存在问题,在至少一些实施例中,代码顾问能选择与该问题相关联的一个或多个消息且能提供指南以使得该问题能得以解决。

Description

针对web兼容性和互操作性的代码顾问
背景技术
以前,当改变web平台时,开发者不易于识别在其网站上的网页在利用新web平台时是否会遇到问题。因此,开发者不得不读取关于新平台的文档并手动地跟踪代码变化以评估兼容性和互操作性问题。可替换地,开发者不得不运行针对源代码的表达以执行源代码分析。现有工具通常为静态的且常常并不提供对于兼容性问题所需的冲突解决方案。
发明内容
提供此发明内容以便以简化形式介绍概念的选择,这些概念将在下面在具体实施方式中进一步描述。此发明内容不预期标识所要求保护的主题的关键特征或必要特征,也不预期用于限制所要求保护的主题的范围。
各种实施例提供调查工具以使得网页内容能够得以分析。在至少一些实施例中,以下被称作“代码顾问”的调查工具允许跟踪应用编程接口(API)的使用。通过在网页脚本执行时跟踪API使用,代码顾问能确定关于网页内容是否存在兼容性和/或互操作性问题。如果确实存在问题,那么在至少一些实施例中,代码顾问能选择与该问题相关联的一个或多个消息且能提供指南以使得该问题能得以解决。
附图说明
在所有附图中使用相同的附图标记来表示同样的特征。
图1图示了其中本文所述的各种原理可以根据一个或多个实施例采用的操作环境。
图2图示了可以根据一个或多个实施例采用的系统架构。
图3图示了根据一个或多个实施例的web浏览器调查工具用户接口。
图4图示了根据一个或多个实施例的web浏览器调查工具用户接口的各方面。
图5图示了根据一个或多个实施例的web浏览器调查工具用户接口的问题解决方案方面。
图6图示了根据一个或多个实施例的web浏览器调查工具用户接口和仿真网页。
图7是描述根据一个或多个实施例的方法中的步骤的流程图。
图8图示了能用于实施一个或多个实施例的实例系统。
具体实施方式
概述
各种实施例提供调查工具,被称作“代码顾问”,以使得网页内容能得以分析。在至少一些实施例中,代码顾问允许跟踪应用编程接口(API)的使用。通过在网页脚本执行时跟踪API使用,代码顾问能确定关于网页内容是否存在任何兼容性和/或互操作性问题。如果确实存在问题,则在至少一些实施例中,代码顾问能选择与该问题相关联的一个或多个消息且能提供指南以使得该问题能得以解决。如本文所使用的,术语“问题”将被理解为以实例而非限制的方式包括与网页与web浏览器交互的方式相关联的兼容性和/或互操作性问题。
在至少一些实施例中,如果识别出问题,则可以为用户或开发者显示消息。消息能提供问题的描述使得开发者被告知该问题。作为替代或作为补充,消息能提供旨在减轻问题的可选的修复(fix)选项。该修复选项当被选择时能动态地提供针对该问题的修复。在一些情况下,动态修复能仿真网页预期的行为,因此提供关于该问题的立即反馈以及在至少一些情况下提供其解决方案。
在下文的讨论中,提供标题为“操作环境”的部分且其描述了其中能采用一个或多个实施例的一个环境。之后,标题为“实例实施例”的部分描述了其中可采用代码顾问的实例实施例。接下来,标题为“实例方法”的部分描述了根据一个或多个实施例的方法。最后,标题为“实例系统”的部分描述了能用于实施一个或多个实施例的系统。
现考虑其中能实施一个或多个实施例的实例操作环境。
操作环境
图1大体上以100图示出根据一个或多个实施例的操作环境。环境100包括计算设备102,计算设备102具有一个或多个处理器104,一个或多个计算机可读存储介质106和驻留在计算机可读存储介质上且可由处理器(一个或多个)执行的一个或多个应用108。计算机可读存储介质可以实例而非限制的方式包括通常与计算设备相关联的所有形式的易失性和非易失性存储器和/或存储介质。这样的介质能包括ROM、RAM、闪存、硬盘、可移动的介质等等。计算设备的一个具体实例在下面在图8中示出和描述。
此外,计算设备102包括呈web浏览器110形式的软件应用。可使用任何合适的web浏览器,其实例可从本文件的受让人和其它途径获得。此外,计算机可读存储介质106可包括代码顾问111,代码顾问111如上下文所述那样操作。代码顾问111能实施为独立组件,其可由应用108和浏览器110利用。作为替代或作为补充,代码顾问111能实施为应用108或浏览器110的部分,例如浏览器开发工具。
在一个或多个实施例中,代码顾问111能访问或另外地利用位于计算设备102上的模块,例如本地模块112。本地模块112可为与代码顾问和其功能相关联的库模块。作为补充或替代,本地模块112可为被创建以供浏览器110使用的定制模块。模块实例在下文中描述。
在操作中,代码顾问模块111结合从网站接收的网页内容执行。代码顾问111能在构成浏览器平台的API上注册一个或多个超驰(override)。这允许代码顾问111有效地“缠绕”API并监视与API及其由特定网页的使用相关联的输入、状态和输出值。因此,当由网页调用特定API时,代码顾问111拦截该调用且将该调用重导向至相关联的模块,例如本地模块112之一。该模块可以知道所述API、它的操作以及它在操作情形下应如何执行。因此,设计模块以检查与API调用相关联的参数和值并评估是否存在兼容性或互操作性问题。API参数和值的检查以及因此是否存在与API相关联的特定问题的确定,使得代码顾问111能够在适合时选择可显示的消息,可以显示该可显示的消息以提供关于该问题的信息并在至少一些实施例中提供其解决方案。
此外,环境100包括诸如因特网的网络116和一个或多个网站118,可从这些网站接收内容或向这些网站发送内容。这样的内容可包括网页内容,诸如HTML、脚本等等,其可由代码顾问111如上下文中所述的那样操作。网络116也可表示内联网,计算设备102可通过内联网与一个或多个网络设备120通信。
网络设备120可实施为任何网络设备,诸如(以实例而非限制的方式)网络服务器;台式计算机;便携式计算机;手持计算机(例如个人数字助理(PDA))、蜂窝电话等等。网络设备120也可包含可由代码顾问111访问和加载的模块。这些模块可以包括远程模块122和共用模块124。能由第三方开发者创建和共用这些共用模块124。
计算设备102可实施为任何合适的计算设备,诸如(以实例而非限制的方式)台式计算机;便携式计算机;手持计算机(例如个人数字助理(PDA))、蜂窝电话等等。
已描述了实例操作环境,现考虑如何根据一个或多个实施例执行问题检测的讨论。
实例实施例
图2大体上以200图示出根据一个或多个实施例的实例架构。在此实施例中,由代理204接收网页HTML202。代理204包括注入器206,注入器206被配置成在网页HTML202开始处插入一个或多个脚本元素,其组合由脚本元素/网页HTML208图解地表示。插入的脚本元素可为任何合适类型的脚本元素,包括(以实例而非限制的方式)Java脚本元素等等。脚本元素(一个或多个)使得附加的代码能够由浏览器在执行网页HTML202之前来执行。在另一实施例中,脚本元素(一个或多个)可与网页HTML同时执行。
在图示和描述的实施例中,浏览器210包括加载器模块212、注册模块214、代码顾问216和一个或多个模块222。
在一个实施例中,加载器模块212接收脚本元素/网页HTML208。在接收脚本元素/网页HTML208时,加载器模块212加载包括代码顾问216的架构框架。此外,加载器模块212也可加载一个或多个模块222,其被设计成分析API调用,如上下文所述的那样。尽管图2将代码顾问216和模块222图示为位于浏览器210内,不预期将代码顾问216和模块222描绘为限于这一个实施例。照此,代码顾问216可在浏览器210“顶部”运行。作为替代或补充,模块222可在浏览器顶部运行且可或可不与代码顾问216整合。
在一个或多个实施例中,注册模块214允许模块222向代码顾问216注册代码以在由网页调用应用编程接口(API)之前或之后执行。因此,模块222向注册模块214注册代码以便指导代码顾问216“缠绕”相关联的API并监视与调用API相关联的参数和值。
可使用任何合适类型的技术来执行缠绕,如将由本领域技术人员了解的那样。但作为一个实例,可利用微软的Detours(绕路)技术来执行缠绕。可使用其它技术,诸如下文所述的那些。
在图示和描述的实施例中,代码顾问216包含预处理代码220和后处理代码226,它们与模块222一致地工作。
预处理代码220和后处理代码226使模块222能够监视与网页且更具体而言网页代码224的相对应API调用相关联的参数和值。当网页开始在浏览器210内执行时,网页代码224可以对代码顾问缠绕的API做出API调用。API调用由API调用拦截器模块218拦截。
在操作中,当API调用拦截器模块218拦截API调用时,代码顾问216使用预处理代码220来使得API调用被重导向至由模块222表示的模块。模块222在实际完成对API的调用之前分析API的输入值。输入值包括API调用参数、自变量等等。
模块222能确定API调用的一个或多个输入值是否存在问题且若存在问题,可以发送与该问题有关的消息到消息显示模块228,消息显示模块228能使得消息被显示给用户,其实例在下文提供。
如果对于API调用的输入值未检测到问题(或者在修复了任何问题的情况下),能由网页代码224实际做出API调用且后处理代码226能监视作为API调用的结果的任何返回值。由后处理代码确定的返回值然后被提供给适当的模块222以进行处理从而识别关于返回值是否存在任何问题。如果识别存在问题,则模块222可以发送与该问题有关的消息到消息显示模块228使得可以显示适当的消息。
消息显示模块228可以允许显示各种类型的消息。
作为实例,考虑图3,图3在300处一般地图示出根据一个或多个实施例的web浏览器调查工具用户接口。在此实例中,web浏览器302具有与地址栏304中的URL“www.bing.com”相关联的文本。页面306已在内部加载浏览器302,浏览器302包含文本316和两个空框架318。以最小化视图示出代码顾问308。在此实施例中,代码顾问308显示在网页306的顶部。但是,其它代码顾问显示也是可能的,包括但不限于在浏览器的chrome中显示,例如作为侧边栏等。在此实例中,代码顾问308具有与之相关联的三种类型的消息:错误消息310、警告消息312和信息消息314。尽管说明了这三种类型的消息,但可以利用其它类型的消息。
在图示和描述的实施例中,错误消息310和数字一起显示,该数字指示可用于查看的错误消息的数量。同样,警告消息312和信息消息314也指示其相应消息的数量。可替换地,如果对于消息类型不存在任何消息,可以没有消息类型的显示。
在一个或多个实施例中,可以扩展与代码顾问308相关联的显示。举例而言,通过点击代码顾问,其可扩展为提供附加信息的形式。作为扩展的代码顾问308的实例,考虑图4,其使用来自图3的同样的标号。
在图4中,代码顾问408被显示为网页内的窗口306。如上文所讨论的那样,可利用其它的显示。在一个实施例中,代码顾问408包含一系列标签以允许用户容易地导航代码顾问408的内容。
当前选择消息日志标签410。消息日志标签410包含查看选项,诸如示出错误418以允许容易地将消息分类和管理。除了图示的查看选项之外能利用其它查看选项。
消息日志标签410也包含错误消息412。在此实例中,错误消息412可为在图3中的代码顾问308中所显示的错误消息310的更长解释说明。错误消息412能提供其与哪个API相关联的指示且能附加地描述关于API调用发生的错误。错误消息412还能提供错误描述的解释说明,诸如“这是针对互操作性和顺应性的故意变化”。或者,当鼠标在单独窗口中在错误上悬停时可提供这些描述。
在一个或多个实施例中,可显示错误消息412,以及用户采取行动的提示。行动可为选项的选择,诸如修复选项414和/或调试选项416。
在此实例中,修复选项414能允许用户确认所显示的错误消息412并使得修复能够针对错误来实施。作为实例,考虑图5。
此处,响应于用户选择修复选项414,不再显示错误消息412。而是,信息消息512告知用户针对错误消息412的修复已实现。在替代实施例中,可以显示错误消息412和信息消息512这二者。
在一个或多个实施例中,所实现的修复可以显示为网页的仿真行为。仿真行为可以立即显示或者可以直到用户刷新页面才显示,最小化代码顾问,或者执行另一行动。所实现的修复能允许通过利用到不同于网页正调用的API的重导向来显示仿真行为。在一个实施例中,可以由模块,诸如上文所述的模块222来指定到不同API的重导向。在一个实例中,仿真行为可为基于到先前版本的浏览器的浏览器API的重导向的遗留行为(legacybehavior)。
如图6中所示的那样,可最小化代码顾问308以包括上文所述的消息类型。网页306现包含在先前未显示的框架318内显示的图片。由所实现的修复所提供的仿真行为允许页面像网页正预期的那样执行。
此外,在一些实施例中,错误消息412(图5)显示调试选项416。当被检查或另外被选择时,调试选项416提供如何解决错误消息412的指南。指南的实例包括但不限于:到用户文档中的链接;到代码中的链接;突出显示或另外在视觉上指示的代码;关于符合标准的附加信息;到代码中发生错误的区域的导航;和/或关于该问题的代码列表。此外,调试选项可在由其本身选择时或者在利用修复选项414选择时提供代码的自动校正。
考虑到各种实施例,现考虑能根据一个或多个实施例实施的实例方法。
实例方法
图7是描述根据一个或多个实施例的方法中的步骤的流程图。该方法可结合任何合适的硬件、软件、固件或其组合来实施。在至少一些实施例中,该方法的各方面能由诸如上文所述的适当配置的代码顾问来实施。
步骤700从网页接收应用编程接口(API)调用。能使用任何合适的API调用。举例而言,在至少一些实施例中,API调用可包括由网页对与浏览器相关联的API做出的API调用。
步骤702确定关于API调用是否存在问题。这种确定能通过使用缠绕相关联的API的代码组件来执行。在至少一些实施例中,代码组件可被配置成通过监视由调用所提供的输入值、网页的状态值和作为API调用结果的输出或返回值中的一种或多种来处理API调用。网页的状态值可包括(以实例而非限制的方式)与元素、风格、Java脚本或Java脚本框架相关联的状态。这些问题可包括任何合适类型的兼容性或互操作问题。
对确定存在问题做出响应,步骤704选择与该问题相关联的可显示消息且使得该消息被显示。
在至少一些实施例中,对于与网页相关联的所有API,可重复步骤700-704。在其它实施例中,对于用户可定制的指定API可重复步骤700-704。可替换地,步骤700-704可对于存在可用于缠绕API的代码组件的那些API重复。
描述了根据一个或多个实施例的实例方法,现考虑能用于实施上文所述的实施例中的一个或多个的实例系统。
实例系统
图8示出能用于实施上文所述的各种实施例的实例计算设备800。计算设备800可为例如图1的计算设备102或任何其它合适的计算设备。
计算设备800包括一个或多个处理器或处理单元802,一个或多个存储器和/或存储组件804,一个或多个输入/输出(I/O)设备806和总线808,总线808允许各种组件和设备彼此通信。总线808表示多种类型总线结构中的任何的一个或多个,包括使用多种总线架构中任何架构的存储器总线或存储器控制器、外围总线、加速图形端口和处理器或本地总线。总线808可包括有线和/或无线总线。
存储器/存储组件804表示一个或多个计算机存储介质。组件804可包括易失性介质(诸如随机存取存储器(RAM)和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。组件804可包括固定介质(例如,RAM、ROM、固定硬驱动器等)以及可移动的介质(例如,闪存驱动器、可移动的硬驱动器、光盘等)。
一个或多个输入/输出设备806允许用户向计算设备800录入命令和信息,且也允许向用户和/或其它组件或设备提供信息。输入设备的实例包括键盘、光标控制设备(例如,鼠标)、麦克风、扫描仪等。输出设备的实例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡等。
本文可在软件或程序模块的一般情形下描述各种技术。一般而言,软件包括例程、程序、目标、组件、数据结构等等,其执行特定任务或实施特定抽象数据类型。这些模块和技术的实施方式可存储在或传输于某种形式的计算机可读介质上。计算机可读介质可为可由计算设备存取的任何一个或多个可用介质。举例而言但并无限制意义地,计算机可读介质可包括“计算机可读存储介质”。
“计算机可读存储介质”包括以任何方法或技术实施的易失性和非易失性、可移动和不可移动的介质,其用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储技术;CD-ROM、数字多用盘(DVD)或其它光学存储设备;磁盒、磁带、磁盘存储设备或其它磁存储设备;或可用于存储能由计算机访问的所需信息的任何其它介质。
结论
各种实施例提供调查工具,被称作“代码顾问”,以使得网页内容能得以分析。在至少一些实施例中,代码顾问允许跟踪应用编程接口(API)的使用。通过在网页脚本执行时跟踪API使用,代码顾问能确定关于网页内容是否存在任何兼容性和/或互操作性问题。如果确实存在问题,在至少一些实施例中,代码顾问能选择与该问题相关联的一个或多个消息且能提供指南以使得问题能够得以解决。
尽管以特定于结构特征和/或方法行为的语言描述了主题,应了解在所附权利要求中限定的主题不必限于上文所述的特定特征或行为。而是,上文所述的特定特征和行为被公开为实施权利要求的实例形式。

Claims (10)

1.一种计算机实施的方法,包括:
从网页接收应用编程接口(API)调用;
通过使用代码组件来确定关于API调用是否存在问题,所述代码组件缠绕相关联的API且被配置成处理API调用且通过检测API调用的输入值是否存在问题来识别与所述API调用相关联的一个或多个问题,并且如果未检测到API调用的输入值存在问题,则利用包括网页的代码做出API调用,并监视与API调用相关联的返回值;以及
对于确定存在问题做出响应,将API调用重导向至一个不同的API。
2.根据权利要求1所述的计算机实施的方法,还包括选择与问题相关联的可显示消息,所述可显示消息包括多个数字,所述多个数字中的每一个指示对应于多个消息类型中的一个的多少消息可用于查看,其中,所述可显示消息包括:
错误消息,
警告消息,或者
信息消息。
3.根据权利要求2所述的计算机实施的方法,还包括:
显示所述可显示消息;以及
提示用户采取行动。
4.根据权利要求3所述的计算机实施的方法,其中所述行动包括:
选择修复选项来允许显示仿真行为,或者,
选择调试选项。
5.根据权利要求4所述的计算机实施的方法,其中,所述仿真行为包括接收调用的先前版本的浏览器的遗留行为。
6.根据权利要求4所述的计算机实施的方法,其中,所述仿真行为动态地且实时地显示。
7.一种用于分析网页的系统,包括:
一个或多个处理器(104);以及
计算机可读的存储介质(106),其收录计算机可读指令,当所述计算机可读指令由一个或多个处理器执行时使得所述一个或多个处理器实施工具(111),所述工具(111)被配置成:
加载与已插入于网页内的脚本元素相关联的至少一个模块;
允许至少一个模块缠绕至少一个应用编程接口(API),根据来自注册模块的注册代码指导缠绕,所述注册代码在API被调用之后执行;
加载其中插入了所述脚本元素的网页;以及
使用至少一个模块处理所述网页对所述API的一次或多次调用,包括:
确定是否存在关于所述一次或多次调用的问题,以及
对于确定存在问题做出响应,将所述一次或多次调用重导向至一个不同的API。
8.根据权利要求7所述的系统,其中,处理所述一次或多次调用包括监视与所述API有关的信息,所述信息包括:
输入值;
返回值;或者
网页状态。
9.根据权利要求8所述的系统,其中所述网页状态包括与以下相关联的状态:
元素;
风格;
Java脚本;或者
Java脚本框架。
10.根据权利要求7所述的系统,其中所述工具实施为独立工具。
CN201210018531.4A 2011-01-20 2012-01-20 针对web兼容性和互操作性的代码顾问 Expired - Fee Related CN102681933B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/010,552 US20120192155A1 (en) 2011-01-20 2011-01-20 Code advisor for web compatibility and interoperability
US13/010,552 2011-01-20
US13/010552 2011-01-20

Publications (2)

Publication Number Publication Date
CN102681933A CN102681933A (zh) 2012-09-19
CN102681933B true CN102681933B (zh) 2016-05-18

Family

ID=46516307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210018531.4A Expired - Fee Related CN102681933B (zh) 2011-01-20 2012-01-20 针对web兼容性和互操作性的代码顾问

Country Status (4)

Country Link
US (1) US20120192155A1 (zh)
EP (1) EP2666103A4 (zh)
CN (1) CN102681933B (zh)
WO (1) WO2012099758A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942137B (zh) * 2013-01-23 2017-08-25 腾讯科技(深圳)有限公司 浏览器兼容性测试方法及装置
CA2907583A1 (en) * 2013-03-18 2014-09-25 Cloudmask Systems and methods for intercepting, processing, and protecting user data through web application pattern detection
US9262237B2 (en) 2013-12-17 2016-02-16 International Business Machines Corporation Automating software availability management based on API versioning
US9507649B2 (en) 2014-05-29 2016-11-29 Apple Inc. Web browser for spoofing supported features
US20160012426A1 (en) * 2014-07-11 2016-01-14 Google Inc. Hands-free transactions with a challenge and response
US9513671B2 (en) 2014-08-01 2016-12-06 Microsoft Technology Licensing, Llc Peripheral retention device
US10191986B2 (en) 2014-08-11 2019-01-29 Microsoft Technology Licensing, Llc Web resource compatibility with web applications
US9705637B2 (en) 2014-08-19 2017-07-11 Microsoft Technology Licensing, Llc Guard band utilization for wireless data communication
US9397723B2 (en) 2014-08-26 2016-07-19 Microsoft Technology Licensing, Llc Spread spectrum wireless over non-contiguous channels
US9424048B2 (en) 2014-09-15 2016-08-23 Microsoft Technology Licensing, Llc Inductive peripheral retention device
CN107480055A (zh) * 2017-07-26 2017-12-15 网易(杭州)网络有限公司 测试方法、装置、计算可读存储介质和计算设备
CN116595284B (zh) * 2023-07-13 2023-10-03 太平金融科技服务(上海)有限公司 网页系统运行方法、装置、设备、存储介质和程序

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6968539B1 (en) * 1999-09-30 2005-11-22 International Business Machines Corporation Methods and apparatus for a web application processing system
US7203946B2 (en) * 1999-10-11 2007-04-10 Hewlett-Packard Development Company, L.P. System and method for intercepting, instrumenting and characterizing usage of an application programming interface
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US7055146B1 (en) * 2001-03-08 2006-05-30 Microsoft Corporation Method and system for dynamically inserting modifications for identified programs
US6918066B2 (en) * 2001-09-26 2005-07-12 International Business Machines Corporation Method and system for evaluating applications on different user agents
US7383556B1 (en) * 2002-02-08 2008-06-03 Mcafee, Inc. Extractor system, method and computer program product for managing network access on a per-application basis
US8140489B2 (en) * 2004-03-24 2012-03-20 Oracle International Corporation System and method for analyzing content on a web page using an embedded filter
US7549144B2 (en) * 2005-02-22 2009-06-16 Microsoft Corporation Custom API modeling for source code static analysis simulator
GB0521792D0 (en) * 2005-10-26 2005-12-07 Ibm A method, apparatus and computer program for validating source code
CN100492301C (zh) * 2005-12-23 2009-05-27 国际商业机器公司 避免软件冲突的方法和系统
US7853646B2 (en) * 2006-01-26 2010-12-14 International Business Machines Corporation Assured validation for facade method invocations
US8418142B2 (en) * 2008-01-22 2013-04-09 Oracle International Corporation Architecture for data validation
US20090217241A1 (en) * 2008-02-22 2009-08-27 Tetsuro Motoyama Graceful termination of a web enabled client
JP4653230B2 (ja) * 2008-09-22 2011-03-16 株式会社エヌ・ティ・ティ・ドコモ Api検査装置及び状態監視装置
CN100568255C (zh) * 2008-10-07 2009-12-09 珠海金山软件股份有限公司 一种网页防挂马的方法
CN102204167B (zh) * 2008-10-31 2015-07-01 电子湾有限公司 测试应用编程接口(api)调用的方法、系统和响应仿真器
US20110066973A1 (en) * 2009-09-11 2011-03-17 Apple Inc. Rendering System Log Data
CN101650659B (zh) * 2009-09-15 2013-07-03 福建升腾资讯有限公司 XPe操作系统中自动安装保存Activex控件的装置及其方法
US8516471B2 (en) * 2009-10-06 2013-08-20 International Business Machines Corporation Detecting impact of operating system upgrades
CN101799855B (zh) * 2010-03-12 2012-08-22 北京大学 一种基于ActiveX组件模拟的网页木马检测方法
US8832836B2 (en) * 2010-12-30 2014-09-09 Verisign, Inc. Systems and methods for malware detection and scanning

Also Published As

Publication number Publication date
EP2666103A4 (en) 2018-01-03
EP2666103A2 (en) 2013-11-27
WO2012099758A2 (en) 2012-07-26
WO2012099758A3 (en) 2013-01-10
CN102681933A (zh) 2012-09-19
US20120192155A1 (en) 2012-07-26

Similar Documents

Publication Publication Date Title
CN102681933B (zh) 针对web兼容性和互操作性的代码顾问
US8239835B2 (en) Automated software testing framework using independent test scripts
Little et al. Koala: capture, share, automate, personalize business processes on the web
US9720811B2 (en) Unified model for visual component testing
US20090183072A1 (en) Embedded user assistance for software applications
CN101171571A (zh) 分析和组织软件应用程序中的物件的设备
CN103810089A (zh) 自动测试基于姿态的应用
EP3411796A1 (en) Methods and systems for software related problem solution
CN106776334A (zh) 基于注释生成测试用例方法及装置
Watanabe et al. Acceptance tests for validating ARIA requirements in widgets
US10169204B2 (en) Real-time usage checking of dynamically generated program output
Marenkov et al. A tool for design-time usability evaluation of web user interfaces
Kendall et al. Risk-Based software development practices for create multiphysics HPC software applications
Khaerunnisa et al. Comparative study of robot framework and cucumber as bdd automated testing tools
Højelse et al. Git-truck: Hierarchy-oriented visualization of git repository evolution
Silva Quality Assurance Framework for Low-Code Development Platforms
Babaian et al. Applying design principles for enhancing enterprise system usability
Marenkov et al. Design-time web usability evaluation with guideliner
Palanque et al. Improving interactive systems usability using formal description techniques: application to healthcare
Rovik Using Model Based Systems Engineering to Improve Design Decisions and Communications in Student CubeSat Projects
Winkler et al. A Systematic Literature Review of DevOps Success Factors and Adoption Models
Turaga et al. A guide and best practices for R/Bioconductor tool integration in Galaxy
Rai Extending automated testing to high-level software requirements: A study on the feasibility of automated acceptance-testing
JP2006294013A (ja) 制御プログラム開発支援装置
Bhuva GenderMag’s Socio-Technical Artifacts “Grow up” To Expand GenderMag’s Impact

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150629

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150629

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160518

Termination date: 20190120

CF01 Termination of patent right due to non-payment of annual fee