一种基于词嵌入的代码可视化表示创建方法及系统技术方案

技术编号:42750592 阅读:23 留言:0更新日期:2024-09-18 13:41
本发明专利技术公开了一种基于词嵌入的代码可视化表示创建方法及系统,该方法包括:S1、获取代码库对所述代码片段中的代码注释进行移除处理,得到处理后的代码片段;对所述处理后的代码片段进行格式化处理,得到格式化后的代码片段;S2、为代码库中的所有词元建立词元‑数值映射表;S3、利用词元—数值映射表对预先构建的词元—向量映射模型进行训练,得到训练后的词元—向量映射模型;S4、将代码中所有词元对应的嵌入向量变形为各个词元对应的嵌入矩阵;S5、按照语料库中每个词元序列中各个词元出现的先后顺序,生成基于词嵌入的代码可视化表达。本发明专利技术通过将一维词嵌入向量变形为二维词嵌入矩阵,使得可视化表达中的元素被高效利用。

【技术实现步骤摘要】

本专利技术涉及代码语义分析,更具体地说是涉及一种基于词嵌入的代码可视化表示创建方法及系统


技术介绍

1、代码可视化的目的是为程序源代码生成图像,或类似图像的中间表达,以利用计算机视觉领域中的方法提取源代码的可视化特征,并将可视化特征应用于下游的软件工程任务中,比如:代码克隆检测、代码分类以及代码脆弱性预测等。

2、而目前的代码可视化中间表达主要有两类:一类是经代码图像渲染工具渲染得到的代码图像,另一类是基于代码字符值编码的图像。

3、代码图像由程序源代码经渲染工具生成的,并可被人直接辨认出代码的图像,其与程序员在集成开发环境中看到的代码相似;代码的图像可以以不同方式进行渲染,例如:可以生成单色的代码图像,也可以同目前的集成开发环境一样,在渲染代码时加入语法高亮等视觉信息;代码图像是代码最直观的视觉表示,包含了代码的字符信息和语法信息。

4、基于代码字符值编码的图像或矩阵,是将字符在字符集中的编码值,作为可视化图像某一像素点的某一颜色通道值,并按一定顺序编码而形成的一种代码可视化表示,例如:可以将代码中一个字符的asci本文档来自技高网...

【技术保护点】

1.一种基于词嵌入的代码可视化表达创建方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于词嵌入的代码可视化表示创建方法,其特征在于,所述步骤S1中,所述移除代码注释,具体为:采用python脚本对所述代码注释进行移除。

3.根据权利要求1所述的基于词嵌入的代码可视化表示创建方法,其特征在于,所述步骤S1中,所述格式化处理,具体为:采用Google JavaFormat格式化代码数据中的Java代码,使用GNU Indent格式化代码数据中的C语言代码。

4.根据权利要求1所述的基于词嵌入的代码可视化表示创建方法,其特征在于,所述将格式化后的...

【技术特征摘要】

1.一种基于词嵌入的代码可视化表达创建方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于词嵌入的代码可视化表示创建方法,其特征在于,所述步骤s1中,所述移除代码注释,具体为:采用python脚本对所述代码注释进行移除。

3.根据权利要求1所述的基于词嵌入的代码可视化表示创建方法,其特征在于,所述步骤s1中,所述格式化处理,具体为:采用google javaformat格式化代码数据中的java代码,使用gnu indent格式化代码数据中的c语言代码。

4.根据权利要求1所述的基于词嵌入的代码可视化表示创建方法,其特征在于,所述将格式化后的代...

【专利技术属性】
技术研发人员:李玮祺张凡龙
申请(专利权)人:广东工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1