【技术实现步骤摘要】
本专利技术涉及代码分析,具体是一种ai原生的代码分析引擎实现方法和装置。
技术介绍
1、传统的代码分析工具,是基于对代码进行词法分析以及语法分析的技术,用代码去实现代码分析的规则和逻辑,分析代码的语法结构,代码中存在的缺陷,对代码进行度量等;
2、传统代码分析工具,其不足之处在于:
3、1、开发代码分析工具的技术门槛相对较高,需要了解某种语言的语法,了解词法分析,语法分析以及抽象语法树的概念,才能结合抽象语法树来开发相应的代码;
4、抽象语法树是指代码从文本到转换成计算机可执行的程序一般都会经过词法分析、语法分析的过程,进而得到抽象语法树,再进行后续编译、执行,其具体如图4所示。
5、2、用户自定义需求扩展不够灵活,比如代码缺陷扫描工具,用户想基于工具自定义一个新的扫描规则,此时需要工具维护方来定制开发扫描规则,实现规则检测逻辑的代码来满足用户的定制需求;
6、3、传统代码分析工具支持的语言范围局限,一般一款工具仅具备分析某种特定代码语言的能力,比如cppcheck仅分析c,c
...【技术保护点】
1.一种AI原生的代码分析引擎实现装置,包括AI原生代码分析引擎单元和大语言模型,其特征在于:所述AI原生代码分析引擎单元包括代码预处理模块、代码分析规则管理模块、大模型提示词管理模块、代码分析引擎模块、分析结果处理模块和扫描结果存储模块,所述大语言模型包括私有化部署模型、大模型官方API或三方云平台API。
2.根据权利要求1所述的AI原生的代码分析引擎实现方法和装置,其特征在于:所述代码预处理模块用于负责预处理待分析的代码目录或文件或代码文本内容,计算待分析文件的个数、获取文件的后缀和代码所属语言并读取文件的代码内容。
3.根据权利要求1所
...【技术特征摘要】
1.一种ai原生的代码分析引擎实现装置,包括ai原生代码分析引擎单元和大语言模型,其特征在于:所述ai原生代码分析引擎单元包括代码预处理模块、代码分析规则管理模块、大模型提示词管理模块、代码分析引擎模块、分析结果处理模块和扫描结果存储模块,所述大语言模型包括私有化部署模型、大模型官方api或三方云平台api。
2.根据权利要求1所述的ai原生的代码分析引擎实现方法和装置,其特征在于:所述代码预处理模块用于负责预处理待分析的代码目录或文件或代码文本内容,计算待分析文件的个数、获取文件的后缀和代码所属语言并读取文件的代码内容。
3.根据权利要求1所述的ai原生的代码分析引擎实现装置,其特征在于:所述代码分析规则管理模块用于不同规则的分析,规则即分析代码的实现逻辑,按分析代码的维度分为不同的规则类型,规则类型包括但不限于以下维度:代码缺陷维度、代码度量维度、代码结构解析维度。
4.根据权利要求3所述的ai原生的代码分析引擎实现装置,其特征在于:所述代码缺陷维度是按照检测不同的缺陷类型会有一系列缺陷检查规则,每个缺陷检查规则都有基本约束信息以及规则检测逻辑,所述代码度量维度包括但不限于统计代码的总行数,可执行代码行数,注释代码行数,代码注释率,文件圈复杂度,所述代码结构解析维度包括解析代码的语法结构、包含的类和每个类包含哪些成员变量和方法,以及每个方法之间的调用关系信息,包含哪些结构体,接口。
5.根据权利要求1所述的ai原...
【专利技术属性】
技术研发人员:何军,刘庆,
申请(专利权)人:北京简单一点科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。