欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 202411765267X
申请人: 泉州市榕麟信息科技有限公司
专利类型:发明专利
专利状态:授权未缴费
专利领域: 计算;推算;计数
更新日期:2025-06-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.基于逻辑回归算法的软件开发系统,其特征在于,包括代码处理单元(1)、提取整合单元(2)以及逻辑回归单元(3);

所述代码处理单元(1)通过代码解析模块(11)对代码中的注释进行解析,获取代码语义,同时通过词向量模块(12)将代码中的单词、变量名和函数名转化为向量表示,获得语义向量;

所述提取整合单元(2)接收代码语义并基于类定义将代码语义划分成若干个模块,再对模块之间的调用关系和数据传递关系进行分析,根据分析结果计算出各模块之间的交互强度,并从词向量模块(12)中提取语义向量,将其和交互强度进行整合,形成综合特征向量;

所述逻辑回归单元(3)将综合特征向量输入逻辑回归模型中,并利用逻辑回归算法对代码的缺陷情况进行训练学习和预测,输出预测结果,并将其和实际代码进行对比分析,获取模型性能评估指标,最后根据模型性能评估指标引入梯度下降算法对逻辑回归模型的参数进行优化。

2.根据权利要求1所述的基于逻辑回归算法的软件开发系统,其特征在于:所述代码处理单元(1)中的词向量模块(12)采用Word2Vec模型将代码中的单词、变量名和函数名转化为向量表示,具体如下:收集代码中所有需要转换的单词、变量名和函数名作为语料库,并初始化Word2Vec模型的参数,所述模型参数包括词向量维度、学习率以及窗口大小;

对于语料库中的每个单词,以其为中心词,根据窗口大小确定其上下文单词,在训练过程中,模型根据当前中心词和上下文单词的组合,通过神经网络的前向传播计算预测概率,并与实际的上下文单词进行对比,计算损失函数,根据损失函数的值,使用反向传播算法更新模型的参数,重复迭代直至训练完成,每个单词在Word2Vec模型中都对应一个词向量。

3.根据权利要求1所述的基于逻辑回归算法的软件开发系统,其特征在于:所述提取整合单元(2)基于类定义将代码划分成若干个模块,具体如下:根据编程语言的语法规则对代码进行词法分析和语法分析,将代码分解为一个个单词,并构建语法树,所述语法树以一种层次结构展示了代码的语法组成,其中节点代表不同的类,边代表它们之间的结构关系;

在语法分析过程中,查找类声明的特定语法模式,当检测到类声明时,以该声明为模块的起始边界,然后,沿着语法树向下搜索,直到找到对应的类结束标记,对代码中每一个完整的类声明-结束标记范围进行识别和划分,将代码划分为不同的模块。

4.根据权利要求3所述的基于逻辑回归算法的软件开发系统,其特征在于:所述提取整合单元(2)对模块之间的调用关系和数据传递关系进行分析,根据分析结果计算模块之间的交互强度,具体如下:采用深度优先搜索算法构建模块之间的调用图,其中调用图中的模块和调用关系分别用模块单元以及调用连接进行表示,从主函数开始,递归地搜索函数调用关系,所述主函数由所选用的编程语言决定,为程序开始执行的最初入口点,所述函数调用关系用于描述调用图中不同模块之间的交互方式,是确定模块单元之间调用连接的依据,每发现一个新的模块调用,便在调用图中添加相应的模块单元和调用连接,同时记录每个模块被调用的次数以及调用其他模块的次数,并根据其计算出调用频率权重;

对于模块调用,分析传递的参数情况,将参数分为简单基本类型和复杂数据结构类型,根据其计算参数复杂度权重,综合考虑调用关系和数据传递关系,并计算模块之间的交互强度,同时从词向量模块(12)中提取语义向量,将其和交互强度进行整合,形成综合特征向量。

5.根据权利要求4所述的基于逻辑回归算法的软件开发系统,其特征在于:所述提取整合单元(2)从词向量模块(12)中提取语义向量,将其和交互强度进行整合,具体如下:明确语义向量和交互强度向量的维度,所述语义向量的维度由词向量模型确定,所述交互强度向量的维度取决于计算交互强度时所考虑的因素数量,再根据语义向量和交互强度向量的维度确定整合后的综合特征向量的维度,同时确定整合的顺序,所述综合特征向量的维度为二者之和,所述整合的顺序由语义向量和交互强度向量所代表的数据在逻辑上的先后顺序关系确定;

将语义向量和交互强度向量按照在逻辑上的先后顺序关系进行拼接,并对拼接后的向量进行归一化处理,获得综合特征向量。

6.根据权利要求3所述的基于逻辑回归算法的软件开发系统,其特征在于:所述逻辑回归单元(3)中的逻辑回归模型结构包括输入层、隐藏层以及输出层,具体如下:所述输入层具有与综合特征向量维度相同数量的神经元,用于接收综合特征向量的每个维度值作为输入;

所述隐藏层包含H个神经元,每个神经元的激活函数为f,所述隐藏层神经元接收来自输入层的加权输入,并通过激活函数进行非线性变换,获得激活后的输出;

所述输出层包含一个神经元,其激活函数为g,输出层接收来自隐藏层的加权输入,根据隐藏层的加权输入输出最终的预测结果。

7.根据权利要求1所述的基于逻辑回归算法的软件开发系统,其特征在于:所述逻辑回归单元(3)中利用逻辑回归算法对代码的缺陷情况进行训练学习的方法,具体包括以下步骤:将已知是否存在缺陷的代码样本通过代码处理单元(1)和提取整合单元(2)处理,得到对应的综合特征向量,将这些综合特征向量作为训练数据,同时记录每个样本对应的实际缺陷标签,所述缺陷标签分为无缺陷和有缺陷,分别用0和1表示;

初始化逻辑回归模型的所有权重和偏置,对于每个训练样本的综合特征向量,通过输入层输入到模型中,按照预设的模型结构计算,得到预测结果;

采用交叉熵损失函数衡量预测结果与实际缺陷标签之间的差异,并根据损失函数对模型参数的梯度,计算每个权重和偏置的更新量,根据计算得到的更新量,更新模型的权重和偏置,重复上述前向传播、计算损失函数、反向传播和参数更新步骤,直到损失函数值小于预设的阈值。

8.根据权利要求1所述的基于逻辑回归算法的软件开发系统,其特征在于:所述逻辑回归单元(3)将预测结果和实际代码进行对比分析,获取模型性能评估指标的方式,具体如下:在逻辑回归模型对代码样本进行预测后,将预测结果和实际代码的缺陷情况进行对比,对于每个代码样本,实际代码存在缺陷情况是已知的,模型预测结果是一个介于0和1之间的值,表示代码存在缺陷的概率,设定判定阈值,当预测值大于等于判定阈值时,判定为预测存在缺陷,当预测值小于判定阈值时,判定为预测无缺陷;

通过对比预测结果和实际缺陷标签,得到以下几种情况:

真正例,预测为存在缺陷且实际也存在缺陷的代码样本数量;

假正例,预测为存在缺陷但实际不存在缺陷的代码样本数量;

假反例,实际存在缺陷但预测为不存在缺陷的代码样本数量;

真反例,预测为无缺陷且实际也无缺陷的代码样本数量;

根据上述对比情况,计算评估指标衡量模型的性能,所述评估指标为准确率。

9.根据权利要求8所述的基于逻辑回归算法的软件开发系统,其特征在于:所述逻辑回归单元(3)根据模型性能评估指标引入梯度下降算法对逻辑回归模型的参数进行优化的方式,具体如下:首先,计算交叉熵损失函数,其公式为:

其中是样本的实际缺陷标签,是模型的预测值,然后,计算损失函数对模型参数的梯度,对于逻辑回归模型,设输入层第个神经元到隐藏层第个神经元的权重为,隐藏层第个神经元的偏置为,隐藏层第个神经元到输出层神经元的权重为,输出层神经元的偏置为,通过链式法则,计算出损失函数对各个参数的梯度,并通过不断地重复上述过程,对代码样本进行计算和参数更新,优化逻辑回归模型的参数。