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