[发明专利]分析二进制码有效
| 申请号: | 200680051763.2 | 申请日: | 2006-12-28 |
| 公开(公告)号: | CN101336428A | 公开(公告)日: | 2008-12-31 |
| 发明(设计)人: | M·C·范宁;N·P·奎热拉;G·J·凡 | 申请(专利权)人: | 微软公司 |
| 主分类号: | G06F17/00 | 分类号: | G06F17/00;G06F17/30 |
| 代理公司: | 上海专利商标事务所有限公司 | 代理人: | 顾嘉运 |
| 地址: | 美国华*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 分析 二进制码 | ||
技术领域
本发明涉及用于分析二进制代码的方法和系统。
背景技术
计算机系统和相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已改变了人们生活和工作的方式。计算机系统现在通常执行许多任务(例如,文字处理、调度和数据库管理),这些任务在计算机系统出现以前是人工执行的。最近,计算机系统已被彼此耦合,并被耦合到其他电子设备,以形成计算机系统和其他电子设备可以在其上传送电子数据的有线和无线计算机网络。结果,在计算机系统处执行的许多任务(例如,语音通信、访问电子邮件、控制家用电子设备、Web浏览、以及打印文档)包括多个计算机系统和/或其他电子设备之间经由有线和/或无线计算机网络的通信(例如,电子消息交换)。
从而,存在可响应于软件应用程序的执行而可由通用计算系统实现的大量的各种功能和应用程序。然而,计算系统的效用和功能依赖于源代码的正确编码,源代码被编译或解释成实际上由处理器执行的二进制指令。如果存在编码或设计错误(通常被称为“隐错”),则这将常常导致与预期行为的背离。
此外,软件编程员和设计者的创造性导致日益复杂且强大的软件应用程序。作为其复杂性。
在其他代码分析机制中,针对进行源控制的经编译代码进行远程(例如,基于服务器)的分析。某些分析是资源密集的且完成会花费大量时间(例如,数小时)。在某些环境中,将这种类型的分析卸载给远程(以及潜在更强大)的计算机是有利的。使远程计算机系统执行分析释放了用于开发代码的开发员的计算机,而不会使资源密集的分析消耗资源。
然而,远程分析相比本地分析生成结果要花费长得多的时间,例如通常彻夜进行。因此,远程分析与本地代码分析相比在生成结果时有更长等待时间。在众多开发环境中,开发人员不能等待数个小时以便接收登录的结果(例如,这可能要求基于这些结果的进一步修改)。
此外,为了实现远程代码分析,可要求开发人员开发用于通过调查和解决来管理问题的基础结构(例如,管理结果数据库的web应用程序)。远程代码分析也阻止开发人员执行代码分析(例如,过程间分析)在登录之前预先分析一组预期的改变。另外,在开发过程期间利用现有的远程代码分析技术通常是太过昂贵的。从而,在某些开发环境中,开发人员由于时间和成本的限制转而使用较不强大的本地代码分析。
发明内容
本发明涉及用于分析二进制代码的方法、系统和计算机程序产品。在某些实施例中,接收二进制代码和代码分析规则。至少一个代码分析规则指示与二进制代码的功能有关的查询。用被配置成确定查询结果的分析代码实现查询。确定查询的有效结果不被高速缓存在结果存储中。作为响应,调用分析代码来确定查询的结果。该结果被高速缓存在结果存储中,使得当在将来接收查询时,可从结果存储访问结果而不必调用分析代码来确定结果。返回查询的结果,且所述方法进一步包括:确定所述查询的有效结果被高速缓存在结果存储中;检索被高速缓存的结果以避免对所述分析代码的进一步调用;以及返回所述查询的结果。
在其他实施例中,接收二进制代码和代码分析规则。至少一个代码分析规则指示与二进制代码的功能有关的查询。用被配置成确定查询结果的分析代码实现查询。确定经高速缓存的查询结果被高速缓存在结果存储中。在调用用来确定查询的结果的分析代码之后,经高速缓存的结果被高速缓存到结果存储中。确定结果是有效的。检索经高速缓存的结果,以避免对分析代码的进一步调用。返回经高速缓存的查询的结果;其中,所述方法进一步包括:确定所述查询的有效结果没有被高速缓存在结果存储中或被高速缓存的结果无效;调用所述分析代码以确定所述查询的结果;将所述结果高速缓存到结果存储中,以便当将来接收到所述查询时可以从所述结果存储访问所述结果而不必调用所述分析代码来确定所述结果。
在本发明的另一实施例中,揭示了一种用于分析二进制代码的计算机系统,包括:
一个或多个处理器;
系统存储器;以及
一个或多个其上存储代码分析模块的计算机可执行指令的计算机可读存储介质,所述代码分析模块被配置成执行以下动作:
接收二进制代码;
接收代码分析规则,至少一个代码分析规则指示与所述二进制代码的功能相关联的查询,所述查询用被配置成确定所述查询的结果的分析代码来实现;
确定所述查询的有效的经高速缓存的结果是否被高速缓存在结果存储中;
当有效结果未被高速缓存时:
调用所述分析代码来确定所述查询的结果;以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680051763.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种烤全羊包装盒
- 下一篇:一种风机盘管端板和侧板的结构





