利用图神经网络推断 Javascript 类型
本文提出了一种基于概率类型推断和图神经网络的 TypeScript 类型推断方案,采用源代码分析生成类型依赖图,并在相关的类型变量之间传递信息来进行类型预测,可预测标准类型和用户自定义类型,并且比现有技术在库类型上表现提高了 14%。
Apr, 2020
CodeTIDAL5 是一种基于 Transformer 的模型,用于可靠地预测类型注释,并从程序的代码属性图中提取使用片段,其在 ManyTypes4TypeScript 基准测试上优于当前最先进的神经类型推理系统 7.85%,总体准确率达到 71.27%。
Oct, 2023
使用机器学习自动推断类型限定符的可插入式类型系统研究,提出了一种编码最小数据流提示的新型表示方式 NaP-AST,并评估了多种模型架构,包括图变换网络(Graph Transformer Network),图卷积网络(Graph Convolutional Network)和大型语言模型。研究中还验证了这些模型在 12 个开源项目中的性能,并进行了一个可行性研究,结果发现在大约 16k 个类时性能有所提升,在约 22k 个类时由于过拟合而恶化。
Jun, 2024
本文介绍了如何使用图表示代码的句法和语义结构,并使用基于图的深度学习方法来学习对程序结构进行推理的方法。作者在两个任务上对该方法进行了评估:VarNaming 和 VarMisuse,结果表明使用已知结构的建模方法具有优势,并且可以在许多情况下学习推理有意义的变量名和解决 VarMisuse 任务,并且 VarMisuse 还可以发现成熟开源项目中的错误。
Nov, 2017
我们提出了一种将语义类型预测问题扩展到 JSON 数据的方法,使用 JSON 路径来标记类型。我们使用图神经网络来理解 JSON 文档集合中的结构信息,并在多种情况下超过了现有模型的性能,展现了我们模型理解复杂 JSON 数据以及在 JSON 相关数据处理任务中的潜在用途。
Jul, 2023
该研究提出了一种概率类型推理框架,在 TypeScript 文件中预测缺失的类型。该框架将来自类型系统的逻辑约束与来自命名约定的深度学习模型提取的自然约束相结合,优于先前使用单一信息的模型。
Apr, 2020
本文提出了一种新的类型推理算法 TypeT5,通过机器学习和固定语境的方式,使用先进的 pre-trained language model CodeT5,对 Python 和 JavaScript 程序中缺失的类型进行预测,并采用迭代解码方法处理相关代码元素之间的信息传递,从而提高了对带有稀有和复杂类型的程序的准确性。
Mar, 2023
这项研究解决了在关系表中检测语义列类型的挑战,提出了一种使用图神经网络的新方法,既改进了预测准确度,又允许语言模型聚焦于不同关系表的信息,并在语义类型检测方面优于现有的算法。
Apr, 2024
OpenTau 为解决基于 LLMs 进行自动化类型预测中的问题而构建了一个基于搜索的方法,包括提出了一个新的衡量类型预测质量的度量方式、给出了一种基于树形程序分解的生成类型搜索空间的方法以及针对 LLMs 的 fill-in-the-type 微调方法。在新的 TypeScript 类型预测数据集上评估我们的工作,结果表明,在所有文件中有 47.4% 的文件通过类型检查(相对改善 14.5%),每个文件的总体错误率为 3.3 个类型错误。
May, 2023