[发明专利]呈现代码实体调用之间的差异有效
申请号: | 201880039816.1 | 申请日: | 2018-05-21 |
公开(公告)号: | CN110741354B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | J·莫拉 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京世辉律师事务所 16093 | 代理人: | 王俊 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 呈现 代码 实体 调用 之间 差异 | ||
呈现代码实体调用之间的差异包括标识代码实体的多个调用族。每个族基于多个属性被定义,这些属性标识代码实体的一类运行时行为。第一族的(多个)第一属性被标识。这些(多个)第一属性实质上有助于将代码实体的第一类调用分类在第一族内。类似地,第二族的(多个)第二属性被标识。这些(多个)第二属性实质上有助于将代码实体的第二类调用分类在第二族内。基于一个或多个第一属性与一个或多个第二属性之间的差异,呈现代码实体的至少两个调用之间的差异。
本申请要求2017年06月14日递交的,标题为“PRESENTING DIFFERENCES BETWEENCODE ENTITY INVOCATIONS”、申请号为15/622,841的美国发明专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本公开的示例实施例总体涉及计算机领域,特别地涉及用于呈现代码实体调用之间的差异的方法和系统。
背景技术
当在软件应用的开发期间编写代码时,开发人员通常花费大量时间来“调试”代码以查找运行时错误和其他源代码错误。在这样做时,开发人员可以采取若干方法来重现源代码错误并将其本地化,诸如基于不同的输入来观察程序的行为、插入调试代码(例如,打印变量值、追踪执行分支等)、暂时移除代码部分等。追踪运行时错误以查明代码错误可能会占用应用开发时间的很大一部分。
为了协助开发人员进行代码调试过程,已经开发了许多类型的调试应用(“调试器”)。这些工具向开发人员提供跟踪、可视化和更改计算机代码的执行的能力。例如,调试器可以将代码指令的执行可视化,可以在代码执行期间的不同时间处呈现代码变量值,可以使得开发人员能够更改代码执行路径,和/或可以使得开发人员能够设置关于感兴趣的代码单元的“断点”和/或“观察点”(其在执行过程中到达时导致代码的执行被挂起)等等。
新兴的调试应用形式实现“时间行程”、“反向”或“历史”调试。通过“时间行程”调试,由跟踪应用将程序(例如,诸如线程之类的可执行实体)的执行记录/跟踪到一个或多个跟踪文件中。然后,(多个)这些跟踪文件可以被用来稍后重放程序的执行,以进行正向和反向分析。例如,“时间行程”调试器可以使得开发人员能够设置正向断点/观察点(如常规调试器)以及反向断点/观察点。
发明内容
本文中的实施例通过利用重新编码的跟踪文件数据和机器学习来在用户界面处标识和呈现可执行实体的不同调用之间的运行时差异,从而扩展时间行程调试器的实用性。例如,实施例可以利用对跟踪文件数据的机器学习,以基于它们的运行时行为的差异(例如,执行了哪些代码块,执行了哪些代码块序列,遇到了什么异常等)来将同一可执行实体的不同调用分类为不同族。实施例还可以标识哪些运行时行为属性有助于将不同的调用分类为不同族。使用这样的知识,实施例可以可视地呈现实体的不同调用之间的差异,包括例如哪些运行时差异有助于以不同方式执行的实体,代码的覆盖范围由不同调用执行,由不同调用所采取的代码路径,哪些条件有助于采取不同分支的调用等等。
在一些实施例中,一种用于呈现代码实体调用之间的一个或多个差异的方法包括:标识要对其执行差异分析的代码实体。该方法还包括标识代码实体的多个调用族。每个族基于多个属性被定义,这些属性标识代码实体的至少一类运行时行为。该方法还包括:标识第一族的一个或多个第一属性和第二族的一个或多个第二属性,一个或多个第一属性实质上有助于将代码实体的第一类调用分类在第一族内,一个或多个第二属性实质上有助于将代码实体的第二类调用分类在第二族内。该方法还包括基于一个或多个第一属性与一个或多个第二属性之间的差异来呈现代码实体的至少两个调用之间的差异。
提供本发明内容以简化的形式介绍一些概念,这些概念将在下面的详细描述中被进一步描述。本发明内容既无意标识所要求保护的主题的关键特征或必要特征,也无意用于帮助确定所要求保护的主题的范围。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880039816.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于配置车辆的入侵检测系统的图形用户接口工具
- 下一篇:低功率多核相干性