基于语义分析的源码缺陷预测系统
发布时间:2024-12-22 06:41
随着软件应用场景的不断扩大,软件的规模和复杂度也随之增大,在软件的开发和维护过程中,为了避免软件在生产环境中出现问题,需要对软件源码进行一定的测试,而软件测试随着规模的扩大,所需要投入的资源也呈爆炸式的增长。软件缺陷预测是软件测试中的一部分,依据历史数据来预测开发的软件源码是否存在缺陷,从而合理的分配测试资源。近年来,软件缺陷预测主要研究的是软件工程领域的特征,包括代码的结构和复杂度特征,将不同的软件工程特征进行选择和组合。而随着深度学习与自然语言处理领域的不断发展和体系完善,基于语义特征的软件缺陷预测成为现阶段研究的热点,本文将源码缺陷预测与自然语言处理领域的文本分类相类比,针对源码本身所蕴含的语义特征难以提取的关键问题,在分析现有语义特征提取模型的基础上,设计了基于卷积神经网络和长短期记忆网络的源码语义提取模型,该模型通过深度神经网络对源码文本进行特征抽象,获取源码语义特征;并提出采用Word Embedding技术对源码输入进行词向量映射,以此作为语义特征提取模型的基础,该技术能够对输入数据进行降维,并映射到低维的语义空间。实验和分析表明,针对相同的开源数据集,基于语义特征提取的预...
【文章页数】:64 页
【学位级别】:硕士
【部分图文】:
本文编号:4019602
【文章页数】:64 页
【学位级别】:硕士
【部分图文】:
图2-1有监督的缺陷预测一般过程
目前缺陷预测模型在训练过程上主要分为两种,有监督学习和无监督学习。有监督的缺陷预测模型需要人工标注样本的标签,通过已有的训练样本和对应的标签去训练得到一个符合当前特征集的最优模型,再利用训练好的模型对待预测数据进行输入映射并进行计算,得到类别的概率输出,对输出类别概率与特定的阈值....
图2-2缺陷代码示例
图2-2缺陷代码示例在图2-2的这个示例中,上文中所提出的缺陷预测度量元会出现下列问题:(1)相似的软件度量:两段代码在代码行数、条件判断、变量、循环以及分支完全一致,因此,如果将软件度量用作特征,则它们将难以区分。在其他情况下,两段代码可能具有相同的度量,但它们的行为....
图2-3朴素贝叶斯分类网在朴素贝叶斯分类算法中,每个数据特征都是互相独立的,因此需要计算每个
华中科技大学硕士学位论文向量条件下,数据属于特定类别的后验概率,其中最大的后签。公式表示为12argmax{,,...,}|iiniCCcPCPdddC数据中,由于各个特征维度是的联合后验概率难以得到准确斯....
图2-4线性可分的分类面
区分数据类别的分类线。数据边界与分类‖。支持向量机模型在二维空间下就是得下,使分类间隔最大。在高维空间中,区据维度的情况下,将最优分类的函数称为分类学习问题的数据集:(,),=1,2,…设数据集线性可分,这些样本数据可以被类别。据集,可假定训练集的数据向....
本文编号:4019602
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/4019602.html