[发明专利]用于动态类型语言的代码审查辅助的方法、系统、制品、和设备在审
申请号: | 202010201140.0 | 申请日: | 2020-03-20 |
公开(公告)号: | CN112148585A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | M·卡兰扎;M·阿戈斯坦姆;J·高茨克里奇;A·海内克;C·马丁内斯-斯佩索特;M·拉米雷斯洛伊扎;M·M·U·阿拉姆;S·周 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/04 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉;何焜 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 动态 类型 语言 代码 审查 辅助 方法 系统 制品 设备 | ||
公开了用于动态类型语言的代码审查辅助的方法、设备、系统和制品。用于分析代码段的示例设备包括:函数标识器,该函数标识器用于标识代码段中包括的第一函数调用的第一输入;参数类型向量(PTV)估计器模型,该参数类型向量(PTV)估计器模型用于基于第一输入来估计第一数据结构,该PTV估计器模型经由所审查的代码的集合生成;PTV确定器,该PTV确定器用于基于第一输入的数据参数类型来生成第二数据结构;误差比较器,该误差比较器用于基于第一数据结构和第二数据结构来确定第一重构误差;以及推荐生成器,该推荐生成器用于在第一重构误差不满足推荐阈值时,生成用于审查第一函数调用的第一推荐。
技术领域
本公开总体上涉及代码审查技术,并且更具体地涉及用于动态类型语言的代码审查辅助的方法、系统、制品和设备。
背景技术
静态类型语言(如C、C+、Java、Fortran等)在编译代码时检查变量类型(如浮点、整数、字符串等)。动态类型语言(如Python、JavaScript、Ruby、Perl等)不需要编译并且不需要在代码运行时检查这些语言中使用的变量类型。因此,利用动态类型语言编写的脚本中的错误经常在运行期间被发现。
代码审查通过允许多个编程者通过审查和编辑源代码来检查软件,从而确保软件质量。源代码通常上传到在线储存库,诸如在源代码已被上传之后,审查者可以在源代码中查找并校正错误。透彻的且迭代的代码审查过程可以帮助确保软件的质量。
附图说明
图1是根据本公开的教导构造的代码审查系统的图示。
图2是图1的机器编程引擎的框图。
图3是图2的参数类型向量(PTV)确定器的框图。
图4-图6是表示可以被执行以实现图1-图2的机器编程引擎的机器可读指令的流程图。
图7是被构造用于执行图4-图6中的指令以实现图1和/或图2的机器编程引擎的示例处理平台的框图。
这些图并未按比例绘制。替代地,层或区域的厚度可在附图中被放大。一般来说,在整个(多个)附图和所附书面描述中将使用相同的附图标记来指代相同或相似的组件。
当标识多个元素或组件时,本文使用描述符“第一”、“第二”、“第三”等。除非基于它们的使用上下文另有规定或理解,否则此类描述符并非旨在赋予优先级或时间顺序的任何含义,而仅仅是为了便于理解所公开的示例而分别指代多个元件或组件的标签。在一些示例中,描述符“第一”可以用于指代详细描述中的元素,而在权利要求中可以使用诸如“第二”或“第三”之类的不同描述符来指代相同的元素。在此类情况下,应当理解,此类描述符仅用于易于引用多个要素或组件。
具体实施方式
在下列具体实施方式中,参考了作为本说明书一部分的附图,其中通过图示说明示出了可实践的具体示例。足够详细地描述这些实施例以使本领域的技术人员能够实施该主题,且应该理解,可利用其他实施例并且可以在不背离本公开的主题的范围的情况下作出逻辑、机械、电气和其他的改变。因此,下列具体实施方式被提供以描述示例实现方式,并且不被当作对本公开中所描述主题的范围的限制。来自下列描述的不同方面的某些特征可被组合,以形成下文所讨论的主题的更新的方面。
当介绍本公开的各实施例的要素时,冠词“一(a,an)”、“该(the)”和“所述(said)”旨在意指存在这些要素中的一个或多个。术语“包含”、“包括”、“具有”旨在是包含性的,并且意指除了所列举的要素之外还可能存在附加要素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010201140.0/2.html,转载请声明来源钻瓜专利网。