Typilus: 神经类型提示
本文提出了一种基于概率类型推断和图神经网络的 TypeScript 类型推断方案,采用源代码分析生成类型依赖图,并在相关的类型变量之间传递信息来进行类型预测,可预测标准类型和用户自定义类型,并且比现有技术在库类型上表现提高了 14%。
Apr, 2020
该研究提出了一种概率类型推理框架,在 TypeScript 文件中预测缺失的类型。该框架将来自类型系统的逻辑约束与来自命名约定的深度学习模型提取的自然约束相结合,优于先前使用单一信息的模型。
Apr, 2020
本文介绍了一种基于深度相似性学习的层次神经网络模型,用于类型推断,以实现 Python 编程的机器学习自动类型补全。Type4Py 是一种新方法,它是在人工验证的类型检查数据集上训练和评估,其平均倒数排名为 77.1%,是现有方法 Typilus 和 TypeWriter 的改进。同时,作者还发布了 Visual Studio Code 插件以帮助开发者进行类型的自动补全。
Jan, 2021
OpenTau 为解决基于 LLMs 进行自动化类型预测中的问题而构建了一个基于搜索的方法,包括提出了一个新的衡量类型预测质量的度量方式、给出了一种基于树形程序分解的生成类型搜索空间的方法以及针对 LLMs 的 fill-in-the-type 微调方法。在新的 TypeScript 类型预测数据集上评估我们的工作,结果表明,在所有文件中有 47.4% 的文件通过类型检查(相对改善 14.5%),每个文件的总体错误率为 3.3 个类型错误。
May, 2023
本文介绍了 TypeWriter,它是一种将概率类型预测与基于搜索的类型验证相结合的方法,可用于 Python,通过从部分注释的代码库中学习函数的返回和参数类型,预测结果明显优于以往的类型预测模型,并在 Facebook 等公司应用。
Dec, 2019
使用机器学习自动推断类型限定符的可插入式类型系统研究,提出了一种编码最小数据流提示的新型表示方式 NaP-AST,并评估了多种模型架构,包括图变换网络(Graph Transformer Network),图卷积网络(Graph Convolutional Network)和大型语言模型。研究中还验证了这些模型在 12 个开源项目中的性能,并进行了一个可行性研究,结果发现在大约 16k 个类时性能有所提升,在约 22k 个类时由于过拟合而恶化。
Jun, 2024
CodeTIDAL5 是一种基于 Transformer 的模型,用于可靠地预测类型注释,并从程序的代码属性图中提取使用片段,其在 ManyTypes4TypeScript 基准测试上优于当前最先进的神经类型推理系统 7.85%,总体准确率达到 71.27%。
Oct, 2023
DeepType 是一种将符号信息显式地集成到神经网络推理过程中的模型,它通过构建类型系统并将其用于限制神经网络输出的符号结构来解决判断结构以及有效地捕捉信息的问题。在实验中,它用于 Entity Linking 任务,优于人工设计类型系统或最近使用深度学习相似性度量的方案,同时使用符号信息可以无需重新训练即可集成新实体。
Feb, 2018
本文提出了一种新的类型推理算法 TypeT5,通过机器学习和固定语境的方式,使用先进的 pre-trained language model CodeT5,对 Python 和 JavaScript 程序中缺失的类型进行预测,并采用迭代解码方法处理相关代码元素之间的信息传递,从而提高了对带有稀有和复杂类型的程序的准确性。
Mar, 2023
本研究提出了一种混合类型推断方法 HiTyper,它基于静态推断和深度学习,用于 Python 等动态编程语言。实验结果表明,HiTyper 比最先进的深度学习模型表现更好,并且在推断罕见类型方面具有 30%以上的增加。仅考虑 HiTyper 的静态部分,它比现有的静态类型推断工具推断出 2 倍到 3 倍的类型。
May, 2021