用于代码分析的方法、装置、设备和介质制造方法及图纸

技术编号:41736251 阅读:25 留言:0更新日期:2024-06-19 12:55
根据本公开的实施例,提供了用于代码分析的方法、装置、设备和介质。该方法包括:获得在目标编译器对源代码进行编译的过程中生成的第一中间表示,第一中间表示符合目标编译器对应的中间表示格式;提取第一中间表示中的第一类型信息和第一控制流信息,第一类型信息指示源代码中的变量和函数的类型,第一控制流信息指示源代码中的函数控制流;根据源代码的编程语言与目标代码分析工具之间的指令映射关系,基于第一类型信息和第一控制信息,将第一中间表示转换为第二中间表示,第二中间表示符合目标代码分析工具的中间表示格式;以及利用目标代码分析工具,基于第二中间表示来确定针对源代码的分析结果。由此,实现了准确、可靠的代码分析。

【技术实现步骤摘要】

本公开的示例实施例总体涉及计算机,特别地涉及用于代码分析的方法、装置、设备和计算机可读存储介质。


技术介绍

1、编译器和程序分析一直是计算机科学领域的关键组成部分。编译器在程序开发周期(这个周期也可以被称之为编译期)中扮演了关键的角色。编译器的主要任务是将高级编程语言代码转化为机器可执行代码,以便计算机能够理解和执行。程序分析旨在确保程序的质量、性能和安全性。静态程序分析和动态程序分析是程序分析的两种主要方法,其中静态程序分析是在代码运行之前对程序进行检测,以识别潜在问题和错误。期待提升编译器和静态程序分析的兼容性,以获取更为准确的分析结果。


技术实现思路

1、在本公开的第一方面,提供了一种代码分析的方法。该方法包括:获得在目标编译器对源代码进行编译的过程中生成的第一中间表示,第一中间表示符合目标编译器对应的中间表示格式;提取第一中间表示中的第一类型信息和第一控制流信息,第一类型信息指示源代码中的变量和函数的类型,第一控制流信息指示源代码中的函数控制流;根据源代码的编程语言与目标代码分析工具之间的指令映射关系本文档来自技高网...

【技术保护点】

1.一种代码分析的方法,包括:

2.根据权利要求1所述的方法,还包括:

3.根据权利要求1所述的方法,其中提取所述第一中间表示中的第一类型信息和第一控制流信息包括:

4.根据权利要求1所述的方法,其中所述第一类型信息包括所述源代码的编程语言库中的类型信息和自定义类型信息。

5.根据权利要求1所述的方法,所述方法还包括:

6.根据权利要求5所述的方法,其中对所述第一中间表示中的泛型参数执行泛型实例化包括:

7.根据权利要求1所述的方法,其中所述源代码的编程语言与目标代码分析工具之间的所述指令映射关系包括:从所述编程语言...

【技术特征摘要】

1.一种代码分析的方法,包括:

2.根据权利要求1所述的方法,还包括:

3.根据权利要求1所述的方法,其中提取所述第一中间表示中的第一类型信息和第一控制流信息包括:

4.根据权利要求1所述的方法,其中所述第一类型信息包括所述源代码的编程语言库中的类型信息和自定义类型信息。

5.根据权利要求1所述的方法,所述方法还包括:

6.根据权利要求5所述的方法,其中对所述第一中间表示中的泛型参数执行泛型实例化包括:

7.根据权利要求1所述的方法,其中所述源代码的编程语言与目标代码分析工具之间的所述指令映射关系包括:从...

【专利技术属性】
技术研发人员:林蓝东董震李佳庚张嘉杰李辉彭超刘江潮刘杰朱航汪煜东
申请(专利权)人:抖音视界有限公司
类型:发明
国别省市:

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

1