[发明专利]动态语言中的类型推断在审
申请号: | 202210858709.X | 申请日: | 2022-07-20 |
公开(公告)号: | CN115686467A | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | I·阿卜杜勒阿齐兹;J·T·多尔比;K·斯里尼瓦斯 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 丁君军 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 语言 中的 类型 推断 | ||
本发明的一些实施例涉及动态语言中的类型推断。为了改进使用动态编程语言对计算机进行编程的技术过程,通过对动态编程语言中的文档库执行信息检索来生成将动态编程语言的类型映射到对应的函数和方法的训练数据的第一部分,和/或通过对以动态编程语言编写的多个预先存在的程序执行数据流分析来生成将程序变量映射到对应的函数和方法的训练数据的第二部分。在训练数据的第一部分和/或训练数据的第二部分上训练神经网络以推断动态编程语言中的未知类型。用经训练的神经网络进行推断以推断未知类型。基于经推断的未知类型来促进动态编程语言中的编程。可选地,执行所得程序。
背景技术
本发明涉及电气、电子和计算机领域,并且更具体地涉及动态编程语言、机器学习等。
动态编程语言是一类在运行时执行许多常见编程行为的高级编程语言,静态编程语言在编译期间执行这些行为。这样的行为包括例如通过添加新代码、通过扩展对象和定义、或通过修改类型系统来对程序进行扩展。
许多动态编程语言不强制执行任何种类的类型。然而,类型推断对于防止错误、提供更好的程序理解、通过代码生成提供更好的自动化等是重要的。
发明内容
本发明的原理提供用于动态语言中的类型推断的技术。在一个方面,用于改进使用动态编程语言对计算机进行编程的技术过程的示例性方法包括:通过对动态编程语言的文档库执行信息检索,生成训练数据的第一部分,该训练数据的第一部分将动态编程语言的类型映射到动态编程语言的对应的函数和方法;在训练数据的第一部分上训练神经网络,以推断动态编程语言的未知类型;通过基于对应的函数和方法的存在来推断未知类型,用经训练的神经网络执行推断,以推断针对以动态编程语言编写的代码的样本中的程序变量的未知类型;以及基于经推断的未知类型来促进动态编程语言中的编程。
在另一方面,用于改进使用动态编程语言对计算机进行编程的技术过程的另一示例性方法包括:通过对以该动态编程语言编写的多个预先存在的程序进行数据流分析来生成训练数据,该训练数据将该动态编程语言中的类型映射到该动态编程语言中的相应的函数和方法;在至少训练数据上训练神经网络,以推断动态编程语言中的未知类型;基于程序变量映射减少在推断期间要搜索的类型的数目;用经训练的神经网络执行推断,以推断未知类型;以及基于经推断的未知类型来促进动态编程语言中的编程。
在另一方面,一个示例性计算机包括一个体现计算机可执行指令的存储器;以及至少一个处理器,该至少一个处理器被耦合到该存储器上并且由这些计算机可执行指令可操作以便执行一种方法,该方法用于改进使用动态编程语言对该计算机进行编程的技术过程。该方法包括:实例化神经网络和搜索引擎;使用至少搜索引擎,通过对动态编程语言中的文档库执行信息检索,生成训练数据的第一部分,该的训练数据的第一部分将动态编程语言中的类型映射到动态编程语言中的对应的函数和方法;在训练数据的第一部分上训练神经网络,以推断动态编程语言的未知类型;通过基于对应的函数和方法的存在来推断未知类型,用经训练的神经网络执行推断,以推断针对以动态编程语言编写的代码的样本中的程序变量的未知类型;以及基于经推断的未知类型来促进动态编程语言中的编程。
在另一方面,另一示例性计算机包括体现计算机可执行指令的存储器;以及至少一个处理器,该至少一个处理器被耦合到该存储器上并且由这些计算机可执行指令可操作以便执行一种用于改进使用动态编程语言对该计算机进行编程的技术过程的方法。该方法包括:示例化神经网络和静态软件分析工具;使用至少静态软件分析工具,通过对以动态编程语言编写的多个预先存在的程序执行数据流分析,生成训练数据,该训练数据将动态编程语言中的程序变量映射到动态编程语言中的对应的函数和方法;在至少训练数据上训练神经网络,以推断动态编程语言的未知类型;基于程序变量映射减少在推断期间要搜索的类型的数目;用经训练的神经网络执行推断,以推断未知类型;以及基于经推断的未知类型来促进动态编程语言中的编程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210858709.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种物料的抓取方法
- 下一篇:半导体工艺用抛光组合物以及半导体器件的制备方法