一种融合聚类算法和多样性的测试用例优先级排序方法

    公开(公告)号:CN118820101A

    公开(公告)日:2024-10-22

    申请号:CN202410954101.6

    申请日:2024-07-16

    发明人: 陶传奇 芮茹梦

    摘要: 本发明公开了一种融合聚类算法和多样性的测试用例优先级排序方法,步骤如下:采用预训练的深度神经网络模型对训练集和构建的新测试集进行特征提取,得到两个数据特征集;使用聚类算法对训练集的数据特征进行聚类分析,并依据聚类结果预测新测试集中每个测试样本所属簇;计算每个测试样本的数据特征与其所属簇的中心之间的余弦相似度;提取测试集中每个测试样本的特征向量,计算每个测试用例集群的标准差;对余弦相似度和标准差进行归一化处理,并将两者按权重加权,生成最终的测试用例优先级排序列表。本发明的方法在有限资源下筛选出尽可能多的能检测出深度神经网络模型故障的测试用例,在减少测试标记成本的同时,提高测试的效率。

    基于抽象语法树的冗余变量和冗余方法的检测方法及系统

    公开(公告)号:CN112650680B

    公开(公告)日:2024-08-09

    申请号:CN202011579248.X

    申请日:2020-12-28

    IPC分类号: G06F11/36

    摘要: 本发明提出了一种基于抽象语法树的冗余变量和冗余方法的检测方法及系统。所述方法包括:利用抽象语法树技术解析java源文件,在解析的过程中生成相应的变量数组和方法数组,并通过变量的关系依赖数组和方法的调用变量数组以及未匹配的字符串数组来检测出冗余变量和冗余方法,对检测出的冗余变量和冗余方法执行删除操作。通过本发明,输入一个包含main方法的java源文件,即可输出所有的冗余变量和冗余方法,并且可以自动删除所检测出来的冗余变量和冗余方法。本发明不要求进行冗余变量和冗余方法的人为判断,也可以在不知道冗余变量和冗余方法的具体位置的情况下对其进行删除,这为冗余变量和冗余方法的检测和删除提供了一个良好的解决方案。

    一种基于分割变异的测试数据生成方法

    公开(公告)号:CN112102334B

    公开(公告)日:2024-05-17

    申请号:CN202010966125.5

    申请日:2020-09-15

    IPC分类号: G06T7/11 G06T7/174 G06T7/187

    摘要: 本发明公开了一种基于分割变异的测试数据生成方法,首先根据被测软件收集一定量的种子图像测试数据,结合领域知识确定种子图像测试数据需要进行变异的特征区域,称其为“图像组件”,然后利用基于区域的图像分割方法并结合能量函数取值对该图像组件进行分割,之后对分割得到的图像组件使用变异规则(包括像素颜色变换,像素值加1减1等)进行变异,得到变异后的新的图像组件,最后将该新图像组件与分割后的种子图像测试数据进行组合,得到新的图像测试数据。

    基于深度学习模糊测试的循环代码测试数据生成方法

    公开(公告)号:CN116680164A

    公开(公告)日:2023-09-01

    申请号:CN202310438066.8

    申请日:2023-04-23

    IPC分类号: G06F11/36 G06N3/043 G06N3/086

    摘要: 本发明公开了一种基于深度学习模糊测试的循环代码测试数据生成方法,包括:利用循环代码在深度学习模型上的输出不确定性指导具备高不确定性的循环代码种子数据的选择;设计9种变异规则以实现对循环代码的不同类型的变异;分析各神经元与深度学习模型错误决策逻辑的相关程度;以最大化神经元覆盖率和错误行为数量作为联合优化目标,对优化目标建模,将目标函数的导数作为梯度,选择变异规则对种子进行变异,并利用梯度进行迭代变异;实现选择出的循环代码种子数据的变异,以完成循环代码测试数据的生成。本发明利用循环代码在深度学习模型上的分类输出概率以及相关神经元信息设计优化目标,以有效指导循环代码的变异。

    采用基于区域的神经元选择策略的模糊测试方法及终端

    公开(公告)号:CN113986717A

    公开(公告)日:2022-01-28

    申请号:CN202111151861.6

    申请日:2021-09-29

    IPC分类号: G06F11/36 G06N3/04

    摘要: 本发明公开了一种采用基于区域的神经元选择策略的模糊测试方法及终端,包括步骤如下:1)种子输入获取;2)中间测试输入的生成;3)模型错误行为检测;4)继续模糊测试。本发明克服了现有的覆盖率引导模糊测试方法中的神经元选择策略还没有考虑到不同神经元之间的功能分布差异的问题,设计了基于区域的神经元选择策略,并融合了一种种子选择策略,有效地提高了深度神经网络的覆盖率引导模糊测试的有效性。

    一种基于循环关键子图的循环代码安全性缺陷预测方法

    公开(公告)号:CN116701172A

    公开(公告)日:2023-09-05

    申请号:CN202310444338.5

    申请日:2023-04-24

    摘要: 本发明公开了一种基于循环关键子图的循环代码安全性缺陷预测方法,步骤如下:从缺陷数据集中收集存在安全性缺陷的函数级循环代码,构建循环代码安全性缺陷数据集;根据原始函数级循环代码中存在的语法关系、控制依赖和数据依赖,将函数级循环代码建模为循环关键子图;将循环关键子图的每个节点和边都表示为固定长度的多维连续向量,得到代码图的初始表示;构建并训练基于循环流注意力网络的循环代码安全性缺陷预测模型,学习代码特征并检测输入代码段是否存在缺陷。本发明的方法定义了一种基于抽象语法树的复合图结构称为循环关键子图,从而更全面的捕获循环缺陷代码中隐含的安全性缺陷。

    一种基于评论数据的移动应用安全性评估方法

    公开(公告)号:CN110334180B

    公开(公告)日:2023-03-31

    申请号:CN201910484227.0

    申请日:2019-06-05

    摘要: 本发明公开了一种基于评论数据的移动应用安全性评估方法,该方法融合了多种文本表示模型,从评论数据中提取多维度特征构建统一的向量表示形式,使用机器学习算法构建移动应用的安全性评估模型,利用评估模型为待检测的应用程序提供安全性风险值。同时,就安全性评估结果为用户提供解释说明。本发明克服了传统应用程序安全性评估方法中程序代码难获得、难分析以及评估结果用户难以理解的问题,构建了基于评论数据的移动应用安全性评估模型,并为用户提供评估结果的解释说明,有效地提高了安全性评估工作的效率,同时也降低了评估工作的难度。

    一种基于深度学习的移动应用安全缺陷摘要生成方法

    公开(公告)号:CN115357288A

    公开(公告)日:2022-11-18

    申请号:CN202210792373.1

    申请日:2022-07-05

    摘要: 本发明公开了一种基于深度学习的移动应用安全缺陷摘要生成方法,步骤如下:对在移动应用商店获得的原始用户评论进行预处理;对预处理后的评论句子进行情感分析,剔除情感倾向为积极的句子,保留情感倾向为中立和消极的句子;对处理后的评论句子进行分类,并采用逻辑回归算法将其分为安全缺陷相关的评论和安全缺陷无关的评论,构建与安全缺陷相关的评论数据集;从安全缺陷相关的评论中提取 三元组,构成安全缺陷相关的评论摘要。本发明能够在非结构化的用户评论中抽取出表示安全缺陷的三元组,利用深度学习技术构建针对移动应用安全缺陷的评论摘要生成模型,为待测移动应用提供安全缺陷的关键信息。

    一种基于树形神经网络的代码推荐方法

    公开(公告)号:CN111459491B

    公开(公告)日:2021-11-05

    申请号:CN202010185481.3

    申请日:2020-03-17

    IPC分类号: G06F8/41 G06N3/04 G06N3/08

    摘要: 本发明公开了一种基于树形神经网络的代码推荐方法,包括:对由代码块构成的数据集进行预处理,并构建训练集;对训练集中每个样本的待推荐代码行上文代码部分进行处理,将其解析成抽象语法树,提取根节点到待推荐代码行的路径信息,并调整抽象语法树和样本的注释信息;训练由transformer模型改进得到的AST‑Transformer模型,将抽象语法树、注释信息以及根节点到推荐点的路径信息作为输入,推荐代码行序列作为输出;提取用户已编写代码及其相关注释信息,预测下一行可能的代码。本发明的方法对transformer模型进行改进以适应树形结构,使用到了代码中的注释信息,更好的帮助模型学习语义信息,做出高质量的推荐。

    基于抽象语法树的冗余变量和冗余方法的检测方法及系统

    公开(公告)号:CN112650680A

    公开(公告)日:2021-04-13

    申请号:CN202011579248.X

    申请日:2020-12-28

    IPC分类号: G06F11/36

    摘要: 本发明提出了一种基于抽象语法树的冗余变量和冗余方法的检测方法及系统。所述方法包括:利用抽象语法树技术解析java源文件,在解析的过程中生成相应的变量数组和方法数组,并通过变量的关系依赖数组和方法的调用变量数组以及未匹配的字符串数组来检测出冗余变量和冗余方法,对检测出的冗余变量和冗余方法执行删除操作。通过本发明,输入一个包含main方法的java源文件,即可输出所有的冗余变量和冗余方法,并且可以自动删除所检测出来的冗余变量和冗余方法。本发明不要求进行冗余变量和冗余方法的人为判断,也可以在不知道冗余变量和冗余方法的具体位置的情况下对其进行删除,这为冗余变量和冗余方法的检测和删除提供了一个良好的解决方案。