[发明专利]用户增强的反向工程有效
申请号: | 201180029767.1 | 申请日: | 2011-06-06 |
公开(公告)号: | CN102947791A | 公开(公告)日: | 2013-02-27 |
发明(设计)人: | S·杜塔;T·特里温;A·拜恩 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F3/14 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 陈斌 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用户 增强 反向 工程 | ||
技术领域
以下一般涉及代码库、二进制代码和数据库反向工程及代码库、二进制代码和数据库的视觉表示的领域。
背景技术
通常说来,图像具有数千字。对于试图在预先存在的代码库上工作或以其它方式创建代码库二进制代码或反向工程数据库的视觉表示的人而言,这种说法尤其正确。随着计算机硬件和软件功能性的进步,代码库已经变得越来越大且复杂。通常,很多不同的程序员将利用单个代码库或项目。这些人可能不熟悉代码库的所有元素,因此可能需要代码库的总“图”,或者他们可能需要关于代码库内的特定结构的信息。为了帮助具有该问题的人,已经开发出多种程序,其以流程图、运行图、时序图、树等方式提供代码库的图形表示。
通常可将提供代码库的图形表示的这些程序分成两组:静态分析制图程序和运行时间分析制图程序。静态分析程序更加普遍,但它们在很多方面受到限制。经历静态分析的代码库可能具有很多静态分析不能解决的“边界”。此外,静态分析不能确定代码库的实际功能,且它们可能不能定位错误和类似物。此外,静态代码库可能不能聚焦在代码库的概览以及特定类、函数、调用、算法、元素、值、参数、序列、分量、活动等。
类似,运行时间表示具有一系列问题。如果系统具有错误或差错,使得运行不能完成,则运行时间表示可能失败。此外,该运行仅可跟随动作的特定过程,且可能不会提供全部表示。其它问题可与静态和动态表示的任一个或两者相关联。
因此,需要克服静态和运行时间代码库图中的问题的系统和方法。
发明内容
在一实施例中,为了克服与代码库、数据库模式、二进制数据库等的静态和运行时间图形表示相关联的限制,可向用户提供在代码库、数据库模式、二进制数据库等的处理期间“聚焦”图形表示的生成的选项。例如,在大代码库的图形生成期间,用户可选择一个或多个类、项、算法、值、项、协议、序列、分量、活动、使用案例、进程等以限制图形表示生成的范围。例如,在代码库的图形表示的生成期间,用户可暂停图形生成,提供去除或选择图形生成的一个或多个元素的输入,这可将生成的剩余部分限制在仅与期望元素有关的那些子元素。
在另一个实施例中,图形生成可遇到一个或多个预定的边界条件。在遇到边界条件后,图形表示的生成可确定在没有附加指令的情况下它不能在预定的一组要求内完成图形生成。因此,生成可继续而不完成边界条件,直到生成已经创建它能创建的每个元素的表示,或者生成可在遇到边界条件时暂停并在继续生成的剩余部分之前请求用户输入。
可按各种方式定义边界条件。在一个实施例中,缺少存储器可能是边界条件。在另一个实施例中,关于生成将花费特定时间量的确定是边界条件。在又一个实施例中,关于代码的一个或多个部分需要来自外部数据库或源的输入的确定可以是边界条件。在另一个实施例中,当有代码库、数据库模式、二进制数据库等的可向函数、进程、调用等提供解的多个部分时,系统可向用户提示可能的解且用户然后可选择期望的解。此外,用户可向反向工程提供指令,使得生成将特定限制视为边界条件。换言之,边界条件也可以是用户定义的。本领域的技术人员将意识到以上不是边界条件的穷尽列表,而是仅仅提供几个示例以便一般地描述用户增强的反向工程。
在另一个实施例中,用户增强的反向工程可包括在图形表示的生成期间实时接收来自用户的输入的可能性并且还可包括检测一个或多个预定边界条件并向用户提供用于输入边界条件相关信息的界面的能力。因此,在图形表示的生成期间,用户可向系统提供输入以完成先前不可能的生成,并且用户还可在生成本身期间指导图形生成,因此聚焦在代码库、数据库模式、二进制数据库等的与用户有关的部分上。
在另一个实施例中,可在代码库等的静态生成期间和/或在代码库等的运行时间生成期间提供上述实施例中的任一种。在任意类型的生成期间,构想到可提供用于信息输入的用户界面以便允许用户聚焦代码库、数据库模式、二进制数据库等或允许用户满足对预先确定的边界条件的解的请求。
附图说明
图1描绘了其中可实现所公开的主题的示例计算机系统。
图2描绘用户增强的反向工程的各方面的操作的流程图。
图3描绘在用户增强的反向工程中的边界条件的各方面的操作的流程图。
图4描绘代码库、数据库模式、二进制数据库等的采样图形表示,其中代码库、数据库模式、二进制数据库等具有边界条件。
图5(a)-(b)描绘代码库、数据库模式、二进制数据库等的采样图形表示,其中已经从图形生成中排除代码库、数据库模式、二进制数据库等的一部分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180029767.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于情境的信息聚合系统
- 下一篇:一种滚轴式涂酱烤面包机