【技术实现步骤摘要】
本专利技术涉及预训练学习、代码表示学,尤其是涉及一种用于自动重命名重构的两阶段预训练框架。
技术介绍
1、重构在不改变外部行为的情况下改进内部代码结构(martinfowler.1999.refactoring-improving the design of existing code.addisonwesley),是软件演化中经常涉及的一项关键活动,旨在提高软件项目的质量,加快开发进程。重命名重构识别标识符的不当使用(例如,变量、类型、方法和类名称),提供一个有意义的名称来替换。标识符占所有源令牌的很大一部分。开发人员经常应用重命名操作来提高源代码的可读性和可维护性,这有助于避免软件容易出错,重命名重构是最常执行的重构类型,占用开发人员的工作时间。为标识符选择一个有意义的名称并非易事,需要程序的专业知识和上下文知识。大多数现有工作研究重构工作主要涉及以下几个方面:自动重构检测、重命名重构、变量名预测、代码表示学习。
2、现有的重构研究主要集中在检测两个版本源代码之间的重构活动并识别重构类型,即自动重构检测。自动重构检测有助
...【技术保护点】
1.一种用于自动重命名重构的两阶段预训练框架,其特征在于包括以下两个阶段:
2.如权利要求1所述一种用于自动重命名重构的两阶段预训练框架,其特征在于在第一阶段中,所述基于RoBERTa模型架构在公开代码数据集CodeSearchNet进行预训练,具体步骤为:
3.如权利要求1所述一种用于自动重命名重构的两阶段预训练框架,其特征在于在第二阶段中,所述收集大型官方数据库(GitHub)里的变量重命名重构数据作为实验数据;重构数据包括JavaRef和TL-CodeSum,构建一个重构数据集JavaRef,用于评估自动重命名重构和其他重构任务,进一步改
...【技术特征摘要】
1.一种用于自动重命名重构的两阶段预训练框架,其特征在于包括以下两个阶段:
2.如权利要求1所述一种用于自动重命名重构的两阶段预训练框架,其特征在于在第一阶段中,所述基于roberta模型架构在公开代码数据集codesearchnet进行预训练,具体步骤为:
3.如权利要求1所述一种用于自动重命名重构的两阶段预训练框架,其特征在于在第二阶段中,所述收集大型官方数据库(github)里的变量重命名重构数据作为实验数...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。