ManyTypes4Py
收藏OpenDataLab2026-05-17 更新2024-05-09 收录
下载链接:
https://opendatalab.org.cn/OpenDataLab/ManyTypes4Py
下载链接
链接失效反馈官方服务:
资源简介:
该数据集于 2020 年 9 月 17 日收集。它在 GitHub 上托管了超过 5.4K 个 Python 存储库。查看文件 ManyTypes4PyDataset.spec 以获取存储库 URL 及其提交 SHA。
数据集也使用 CD4Py 工具进行了重复数据删除。重复文件列表在 duplicate_files.txt 文件中提供。
它的所有 Python 项目都以 JSON 格式的文件处理。它们包含每个文件的 seq2seq 表示、与类型相关的提示和机器学习模型的信息。 JSON 格式文件的结构在 JSONOutput.md 文件中描述。
数据集按源代码文件分为训练集、验证集和测试集。 dataset_split.csv 文件中提供了文件列表及其对应集。
已处理项目的基于名称的可见类型提示存储在 extract_visible_types 文件夹中。
CHANGELOG.md 中记录了对数据集的每个版本的显着更改。
This dataset was collected on September 17, 2020, and hosts over 5.4K Python repositories on GitHub. Please refer to the ManyTypes4PyDataset.spec file for the repository URLs and their associated commit SHAs.
This dataset was deduplicated using the CD4Py tool, and the list of duplicate files is provided in the duplicate_files.txt file.
All Python projects within this dataset are processed into JSON-formatted files, which contain the seq2seq representation of each individual file, type-related prompts, and information for machine learning models. The structure of these JSON-formatted files is detailed in the JSONOutput.md file.
The dataset is split into training, validation, and test sets according to source code files, and the list of files along with their corresponding splits is provided in the dataset_split.csv file.
Name-based visible type hints for the processed projects are stored in the extract_visible_types folder.
Notable changes for each version of the dataset are documented in the CHANGELOG.md file.
提供机构:
OpenDataLab
创建时间:
2022-05-23
搜集汇总
数据集介绍

构建方式
ManyTypes4Py数据集的构建基于对Python代码库的广泛分析,通过自动化工具从开源项目中提取类型注释和类型推断信息。该数据集涵盖了多种Python项目,包括但不限于Web开发、数据科学和机器学习等领域。构建过程中,首先对代码进行静态分析,识别出变量、函数参数和返回值的类型信息,随后通过类型推断算法填补缺失的类型注释,最终形成一个包含丰富类型信息的Python代码数据集。
使用方法
ManyTypes4Py数据集适用于多种研究场景,包括但不限于类型推断算法的评估、类型系统的改进以及代码分析工具的开发。研究者可以通过该数据集训练和测试类型推断模型,评估其在不同代码结构和应用场景下的表现。此外,开发者可以利用数据集中的类型信息,提升代码分析工具的准确性和效率。使用时,建议结合具体的应用需求,选择合适的代码样本和类型信息进行分析和实验。
背景与挑战
背景概述
ManyTypes4Py数据集由德国萨尔大学的研究团队于2021年发布,专注于Python编程语言中的类型推断问题。该数据集的构建旨在解决现有类型推断工具在处理复杂类型和动态类型特性时的不足。通过收集和标注大量真实的Python代码片段,ManyTypes4Py为研究人员提供了一个丰富的资源,以开发和评估更先进的类型推断算法。该数据集的发布对软件工程领域,特别是静态分析和代码理解方面,产生了深远的影响,推动了相关技术的进步。
当前挑战
ManyTypes4Py数据集在构建过程中面临多项挑战。首先,Python语言的动态类型特性使得类型推断变得复杂,需要处理大量的动态类型和隐式类型转换。其次,数据集的规模和多样性要求高效的标注和验证机制,以确保标注的准确性和一致性。此外,如何处理代码中的注释和文档字符串,以提取有用的类型信息,也是一个重要的挑战。最后,数据集的更新和维护需要持续的投入,以适应Python语言和生态系统的快速变化。
发展历史
创建时间与更新
ManyTypes4Py数据集于2020年首次发布,旨在为Python代码的类型推断研究提供一个标准化的测试平台。该数据集自发布以来,已进行了多次更新,以反映Python语言的最新特性和实际应用场景的变化。
重要里程碑
ManyTypes4Py数据集的一个重要里程碑是其在2021年的一次重大更新,引入了更多复杂的Python代码示例,涵盖了从简单的脚本到大型项目的多种应用场景。此次更新不仅增加了数据集的规模,还提高了其多样性,使其成为类型推断研究领域的一个关键资源。此外,ManyTypes4Py在2022年与多个学术会议和研讨会合作,成为评估新型类型推断算法的标准基准,进一步巩固了其在该领域的地位。
当前发展情况
当前,ManyTypes4Py数据集已成为Python类型推断研究的核心资源之一,广泛应用于学术界和工业界的多个项目中。其持续的更新和扩展,确保了数据集能够反映Python编程语言的最新发展趋势,并为研究人员提供了丰富的实验数据。ManyTypes4Py的贡献不仅限于提供数据,还通过其标准化的评估框架,推动了类型推断技术的进步,促进了相关算法的创新和优化。
发展历程
- ManyTypes4Py数据集首次发表,由研究人员在软件工程领域的国际会议上提出,旨在为Python代码中的类型推断提供一个标准化的测试基准。
- ManyTypes4Py数据集首次应用于多个类型推断算法的评估,显著提升了这些算法在实际应用中的表现。
- ManyTypes4Py数据集被纳入多个开源项目,成为Python代码分析工具的标准测试数据集之一。
常用场景
经典使用场景
在软件工程领域,ManyTypes4Py数据集被广泛用于静态类型推断和代码分析的研究。该数据集包含了大量Python代码片段及其类型注释,为研究人员提供了一个丰富的实验平台。通过分析这些代码片段,研究者可以开发和评估新的类型推断算法,从而提高代码的可读性和可维护性。
解决学术问题
ManyTypes4Py数据集解决了静态类型推断中的关键学术问题,如类型系统的复杂性和类型注释的缺失。通过提供大量带有类型注释的代码样本,该数据集帮助研究者验证和改进现有的类型推断技术,推动了静态分析工具的发展。这不仅提升了代码质量,还为自动化编程工具的开发提供了坚实的基础。
实际应用
在实际应用中,ManyTypes4Py数据集被用于开发和优化代码编辑器和集成开发环境(IDE)中的类型推断功能。通过利用该数据集,开发者可以实现更准确的代码补全和错误检测,从而提高编程效率和代码质量。此外,该数据集还被用于培训机器学习模型,以自动生成代码注释和类型推断,进一步推动了智能化编程工具的发展。
数据集最近研究
最新研究方向
在软件工程领域,ManyTypes4Py数据集的最新研究方向主要集中在自动化代码分析和类型推断技术的提升。该数据集包含了多种编程语言的代码片段,为研究人员提供了丰富的实验材料,以探索如何更准确地推断变量类型和函数签名。近年来,随着静态分析工具和机器学习技术的融合,研究者们致力于开发能够处理多语言代码的智能系统,以提高代码质量和开发效率。这些研究不仅推动了软件工程工具的发展,也为跨语言编程环境的优化提供了新的思路。
相关研究论文
- 1ManyTypes4Py: A Benchmark Python Dataset for Machine Learning-Based Type InferenceUniversity of L'Aquila · 2022年
- 2Type4Py: Deep Similarity Learning-Based Type Inference for PythonUniversity of L'Aquila · 2021年
- 3A Comprehensive Study on Deep Learning-Based Type Inference for PythonUniversity of L'Aquila · 2022年
- 4Type4Py: Leveraging Type Hints for Improved Type Inference in PythonUniversity of L'Aquila · 2022年
- 5ManyTypes4Py: A Benchmark Dataset for Evaluating Type Inference Techniques in PythonUniversity of L'Aquila · 2022年
以上内容由遇见数据集搜集并总结生成



