Loading [MathJax]/jax/output/SVG/jax.js
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

意外充分性引导的深度神经网络测试样本生成

郭虹静, 陶传奇, 黄志球

郭虹静, 陶传奇, 黄志球. 意外充分性引导的深度神经网络测试样本生成[J]. 计算机研究与发展, 2024, 61(4): 1003-1017. DOI: 10.7544/issn1000-1239.202220745
引用本文: 郭虹静, 陶传奇, 黄志球. 意外充分性引导的深度神经网络测试样本生成[J]. 计算机研究与发展, 2024, 61(4): 1003-1017. DOI: 10.7544/issn1000-1239.202220745
Guo Hongjing, Tao Chuanqi, Huang Zhiqiu. Surprise Adequacy-Guided Deep Neural Network Test Inputs Generation[J]. Journal of Computer Research and Development, 2024, 61(4): 1003-1017. DOI: 10.7544/issn1000-1239.202220745
Citation: Guo Hongjing, Tao Chuanqi, Huang Zhiqiu. Surprise Adequacy-Guided Deep Neural Network Test Inputs Generation[J]. Journal of Computer Research and Development, 2024, 61(4): 1003-1017. DOI: 10.7544/issn1000-1239.202220745
郭虹静, 陶传奇, 黄志球. 意外充分性引导的深度神经网络测试样本生成[J]. 计算机研究与发展, 2024, 61(4): 1003-1017. CSTR: 32373.14.issn1000-1239.202220745
引用本文: 郭虹静, 陶传奇, 黄志球. 意外充分性引导的深度神经网络测试样本生成[J]. 计算机研究与发展, 2024, 61(4): 1003-1017. CSTR: 32373.14.issn1000-1239.202220745
Guo Hongjing, Tao Chuanqi, Huang Zhiqiu. Surprise Adequacy-Guided Deep Neural Network Test Inputs Generation[J]. Journal of Computer Research and Development, 2024, 61(4): 1003-1017. CSTR: 32373.14.issn1000-1239.202220745
Citation: Guo Hongjing, Tao Chuanqi, Huang Zhiqiu. Surprise Adequacy-Guided Deep Neural Network Test Inputs Generation[J]. Journal of Computer Research and Development, 2024, 61(4): 1003-1017. CSTR: 32373.14.issn1000-1239.202220745

意外充分性引导的深度神经网络测试样本生成

基金项目: 国家自然科学基金重点项目(U224120044);国家自然科学基金项目(62202223);江苏省自然科学基金项目(BK20220881);计算机软件新技术国家重点实验室开放基金资助项目(KFKT2021B32);中央高校基本科研业务费专项资金(NT2022027)
详细信息
    作者简介:

    郭虹静: 1996年生. 博士研究生. CCF学生会员. 主要研究方向为智能化软件测试

    陶传奇: 1984年生. 博士,副教授. CCF高级会员. 主要研究方向为智能化软件开发、智能软件质量保障

    黄志球: 1965年生. 博士,教授. CCF杰出会员. 主要研究方向为软件质量保障、系统安全、形式化方法

    通讯作者:

    陶传奇(taochuanqi@nuaa.edu.cn

  • 中图分类号: TP311.5

Surprise Adequacy-Guided Deep Neural Network Test Inputs Generation

Funds: This work was supported by the Key Program of the National Natural Science Foundation of China (U224120044), the National Natural Science Foundation of China (62202223), the Natural Science Foundation of Jiangsu Province (BK20220881), the Open Fund Project of the State Key Laboratory for Novel Software Technology (KFKT2021B32), and the Fundamental Research Funds for the Central Universities (NT2022027).
More Information
    Author Bio:

    Guo Hongjing: born in 1996. PhD candidate. Student member of CCF. Her main research interest includes intelligent software testing

    Tao Chuanqi: born in 1984. PhD, associate professor. Senior member of CCF. His main research interests include intelligent software development and quality assurance of intelligent software

    Huang Zhiqiu: born in 1965. PhD, professor. Distinguished member of CCF. His main research interests include software quality assurance, system safety, and formal methods

  • 摘要:

    由于深度神经网络(deep neural network, DNN)模型的复杂性和不确定性等属性,对模型的一般行为和边界行为进行充分的测试是保障模型质量的重要手段. 当前的研究主要基于制定的覆盖准则,结合模糊测试技术生成衍生测试样本,从而提升测试充分性,但较少综合考虑测试样本的多样性及个体揭错能力. 意外充分性指标量化测试样本与训练集在神经元输出方面的差异,是测试充分性评估的重要指标,目前缺乏基于此指标的测试样本生成方法. 因此,提出了一种意外充分性引导的深度神经网络测试样本生成方法,首先,筛选对于决策结果贡献较大的重要神经元,以其输出值为特征,改进意外充分性指标;其次,基于测试样本的意外充分性度量筛选具有揭错能力的种子样本;最后,利用覆盖引导的模糊测试思想,将测试样本的意外充分性值和DNN模型预测的类别概率差异作为联合优化目标,利用梯度上升算法计算扰动,迭代生成测试样本. 为了验证所提方法的有效性,选取5个DNN模型作为被测对象,涵盖4种不同的图像数据集,实验结果表明,改进的意外充分性指标能够有效捕捉异常的测试样本,同时减少计算时间开销. 在测试样本生成方面,与方法DeepGini和RobOT相比,基于所提的种子样本选择策略生成的衍生测试集的意外覆盖率最高提升了5.9个百分比和15.9个百分比. 相比于方法DLFuzz和DeepXplore,所提方法的意外覆盖率最高提升了26.5个百分比和33.7个百分比.

    Abstract:

    Due to the complexity and uncertainty of deep neural network (DNN) models, generating test inputs to comprehensively test general and corner case behaviors of DNN models is of great significance for ensuring model quality. Current research primarily focuses on designing coverage criteria and utilizing fuzzing testing technique to generate test inputs, thereby improving test adequacy. However, few studies have taken into consideration the diversity and individual fault-revealing ability of test inputs. Surprise adequacy quantifies the neuron activation differences between a test input and the training set. It is an important metric to measure test adequacy, which has not been leveraged for test input generation. Therefore, we propose a surprise adequacy-guided test input generation approach. Firstly, the approach selects important neurons that contribute more to decision-making. Activation values of these neurons are used as features to improve the surprise adequacy metric. Then, seed test inputs are selected with error-revealing capability based on the improved surprise adequacy measurements. Finally, the approach utilizes the idea of coverage-guided fuzzing testing to jointly optimize the surprise adequacy value of test inputs and the prediction probability differences among classes. The gradient ascent algorithm is adopted to calculate the perturbation and iteratively generate test inputs. Empirical studies on 5 DNN models covering 4 different image datasets demonstrate that the improved surprise adequacy metric effectively captures surprising test inputs and reduces the time cost of the calculation. Concerning test input generation, compared with DeepGini and RobOT, the follow-up test set generated by using the proposed seed input selection strategy exhibits the highest surprise coverage improvement of 5.9% and 15.9%, respectively. Compared with DLFuzz and DeepXplore, the proposed approach achieves the highest surprise coverage improvement of 26.5% and 33.7%, respectively.

  • 随着嵌入式技术的发展,云计算、边缘计算等复杂计算场景对芯片的性能要求越来越高. 为了满足该应用需求,异构多核在现代计算机系统得到迅速发展. 然而,向大规模异构平台迁移非常困难. 软件层面的原因主要是大规模的、必要的程序并行导致软件调度的复杂度,即使在同构平台下这依然是大量学者致力研究的一个热点问题.

    本文首次针对有向无环图(directed acyclic graph, DAG)并行任务模型在异构平台上进行全局固定优先级限制性可抢占的可调度性分析,所提到的异构平台由多个不同类型的处理器组成(每个类别的处理器个数大于等于1). 由于异构融合的体系结构,多种不同类型的处理器集成在同一硬件,且并行软件中某些程序片段只能在特定的处理器执行. 因此,DAG任务的某些结点可以绑定到特定的一类处理器上执行. 而绑定处理器的操作,在一些主流的并行处理程序和操作系统都有对应的指令,例如:在OpenMP中可以通过proc_bind实现线程的绑定[1];在OpenCL中,通过clCreatCommand可以针对特定设备创建一组命令[2];在CUDA中,可以通过cudaSetDevise实现指令到目标设备的绑定[3]. 而对任务的如此处理可以避免任务在不同速率的处理器上迁移,减少实现难度和不必要的迁移开销. 下文中,我们称绑定处理器的DAG任务为分类DAG任务.

    在经典的调度策略中,一般忽略了任务抢占和迁移的开销. 然而,可抢占调度中频繁发生的抢占所造成的开销往往比不可抢占调度高很多,需要高度重视. 尤其在异构多核体系结构中,GPU中执行的任务片段是不可抢占的,因此一些实时系统的任务存在不可抢占域(即任务执行的某个片段不允许被抢占). 因此,限制性可抢占的研究对于实时系统的任务执行是至关重要的.

    关于分类DAG任务集的调度问题,难点主要存在2方面:1)DAG任务内部不同结点的互相影响;2)不同DAG任务结点间的互相影响. 尤其是限制性可抢占导致优先级翻转,即低优先级任务会对高优先级任务结点的执行造成阻塞. 因此,分类DAG的某个结点的执行会受到自身其他结点的干涉、高优先级任务的干涉以及低优先级任务的阻塞. 其中,自身结点的干涉已经在早期工作[4]中解决. 本文重点解决高优先级任务的干涉、低优先级任务的阻塞的分析问题以及分类DAG的最差响应时间(worst case response time,WCRT)分析,主要创新点包括3个层面:

    1)由于分类导致DAG任务的关键路径(得到WCRT的路径)不确定[4],从而增加高优先级任务干涉分析的难度. 结合经典的同构DAG理论和分类DAG的特点,本文提出了分类DAG高优先级分析方法.

    2)解决了分类DAG限制性可抢占导致的优先级翻转问题. 本文将同构DAG的低优先级任务分析方法和分类DAG相结合,提出了分类DAG的低优先级任务阻塞的分析方法.

    3)采用文献[4]的路径抽象方法并结合高、低优先级任务的分析,提出了分类DAG任务集的WCRT分析方法. 由于高、低优先级任务干涉计算的引入,本文对文献[4]路径抽象规则进行了创新.

    在嵌入式实时系统中,某些任务的执行只能在规定的地方被抢占. 考虑到完全可抢占和完全不可抢占的优缺点,限制性可抢占的研究非常重要. 近年来关于这方面的研究也较突出. 如:文献[5]的工作针对多核全局最早截止期优先限制性可抢占任务做出了分析;文献[6-7]对非并行任务在全局调度策略下进行了响应时间分析;文献[8]针对多核并行任务的限制性可抢占问题进行了分析,并根据抢占策略的不同提出了对应的分析方法并进行了比较;文献[9]针对DAG的限制性可抢占问题进行了研究,特别是针对低优先级任务的阻塞在效率和精确度的不同上提出了不同的分析策略. 然而,限制性可抢占的研究工作还未考虑到资源的限制性. 随着异构体系结构的发展,资源限制性是必须要考虑和解决的问题.

    资源限制性问题的研究曾经非常热门,也取得了一些研究成果,基于当时的条件这些成果考虑的任务模型相对简单. 例如文献[10-13]考虑的问题是2种处理器集合分配给2个任务,并且一个处理器集合是另一个集合的子集等,相关研究总结在综述类文献[14-15]. 可以发现,现有研究的问题和本文提出的分类DAG任务的可调度性问题存在差异. 针对分类DAG任务的可调度性研究,可查阅的文献较少,Han等人在文献[4]中提出单个分类DAG的响应时间分析,该文分析了单DAG分类任务可调度性,并提出了基于路径抽象的方法进行可调度性分析. 基于此研究以及并行任务分析和响应时间分析的经典理论[16-18],Han等人提出了基于联合策略的可调度性分析[19]和全局固定优先级可调度性分析[20]. 文献[21]提出的工作和本文的任务模型接近,该工作是基于分解策略提出的点到点(即计算路径中每个点的WCRT)的调度分析方法,然而该方法并未考虑资源限制的问题. 就单个分类DAG任务而言,文献[4]进行了算法对比,对比实验结果显示文献[21]算法比文献[4]算法明显消极.

    本文的主要工作是基于文献[4]的理论基础,提出基于全局固定优先级的限制性可抢占调度策略的分类DAG任务的可调度性分析方法. 分类导致DAG任务的关键路径不确定,从而增加高、低优先级任务的分析难度. 本文将DAG分析的理论(基于路径的分析)和分类DAG任务相结合,成功解决了该难题. 最后,基于文献[4]的路径抽象算法,更新路径抽象规则,进行任务集的可调度性判定.

    本文对由N个分类DAG任务组成的任务集G={G1,G2,,GN}进行可调度性分析,该任务集执行的系统由不同种类的核组成. S是核类别的集合,对于每种类型sS具有MsMs1)个核用于调度. 分类DAG任务Gi=(Vi,Ei,C,γi,Ti,Di),该元组中各个符号的定义为:

    1)Vi 表示Gi所有结点的集合,结点vjiVi,1jniniGi的结点数;

    2)Ei表示Gi所有边的集合,结点(u,v)Ei,v,uVi

    3)C表示Gi每个结点最差执行时间 (worst case execution time, WCET)的函数,C(vji)表示结点vji的WCET;

    4)γi 表示Gi每个结点类型的集合,γji表示结点vji的类型;

    5)Ti 表示Gi相邻2个实例的最小释放时间间隔;

    6)Di 表示Gi的相对截止期,即Gi在时间点ri释放一个任务实例,必须在ri+Di内完成该任务实例的执行.

    如果存在边(u,v)Eiuv的直接前继结点,而vu的直接后继结点;如果存在从uv的路径,uv的祖先结点,而vu的子孙结点. 本文用pre(vji),suc(vji),ans(vji)des(vji)分别表示结点vji的前继结点集合、后继结点集合、祖先结点集合以及子孙结点集合. 对于每个DAG任务,都假设其只有1个源结点和1个结束结点. 如果任务Gi具有多个源结点和多个结束结点,可以通过给Gi增加虚拟源结点(结点的WCET为0)和虚拟结点到Gi的原源结点的有向边,使其变成单源结点. 用相同的方法使Gi变成单结束结点的任务. πi={v1i,v2i,,vki}Gi的一条路径,如果路径πiv1i是源结点且vki是结束结点,则πi是一条完整的路径. 由于任务是按照类别进行执行的,需要对每个任务的WCET之和进行标记,具体为:

    1)vol(Gi)=1jniC(vji),表示任务Gi所有结点的WCET之和;

    2)vols(Gi)=1jniγji=sC(vji),表示任务Gi所有类别为s的结点的WCET之和;

    3)len(πi)=vjiπiC(vji) 表示路径πi上的所有结点的WCET之和,即路径πi的长度;

    4)len(Gi)=maxπiGilen(πi) 表示任务Gi的最长路径.

    例1. 异构DAG并行任务模型如图1所示,任务执行在具有2种类别的处理器平台,白色圈表示类别1,灰色圈表示类别2,结点旁的数值表示任务的WCET.

    图  1  分类DAG任务G1的示意图
    Figure  1.  Illustration of typed DAG task G1

    本文中任务采用全局固定优先级限制性可抢占策略进行调度. 任务按照优先级顺序排列,即如果i<j,则Gi的优先级比Gj高. 限制性可抢占是指任务的结点一旦开始执行,其执行不会被高优先级任务抢占.

    本文将提出一种过量估计方法分析每个任务的WCRT上界,从而保证任务执行的安全性. 其中,任务Gi的WCRT上界表示为Ri.

    本节将针对任务集G={G1,G2,,GN}进行可调度性分析,并假设Gk是被分析任务,k=1,2,,N.

    DAG任务WCRT上界分析方法多基于关键路径. 同构平台下,最长路径即为关键路径[18]. 然而,这一结论已经不适用于分类DAG[4],最长路径分析方法得到的WCRT上界并不安全,增大了分类DAG的分析难度. 分类DAG任务进行可调度性分析需要解决2个问题:1)如何确定关键路径;2)已知关键路径,如何进行响应时间分析. 为了确保分析方法的安全可靠,解决问题1)最简单的方法是枚举所有路径,后面会介绍如何解决枚举问题. 针对问题2),本文基于路径进行解决. 首先,假设Gk的关键路径是πkπk={v1k,v2k,,vkk}.

    路径πk的执行受到3种不同类型的干扰:第1种,任务内干涉Intra(πk);第2种,其他高优先级任务的干涉;第3种,低优先级任务的阻塞.

    由文献[4]的结论可知,路径πk受到的任务内干涉定义为与πk结点并行且实际干涉πk上结点执行的同类结点工作量之和与对应的处理器个数的比值,即

    Intra(πk)=sγkvjkivs(πk,s)C(vjk)Ms, (1)

    其中ivs(πk,s)在文献[4]中定义为路径πk实际受到的任务内干涉.

    根据文献[9]可知,路径πk受到的任务间干涉为路径上所有类别的高优先级任务的工作量加上低优先级任务的阻塞量之和与处理器个数总和的比值,即

    Inter(πk)=sγkWs(πk)+Bs(πk)Ms, (2)

    其中,Ws(πk)表示高优先级任务产生的工作量之和的上界,Bs(πk)表示低优先级任务产生的工作量之和的上界. 根据式(1)(2),可以得到如下结论:

    引理1. 路径πk={v1k,v2k,,vkk}Gk的一条完整路径,其WCRT上界

    R(πk)=len(πk)+Intra(πk)+Inter(πk). (3)

    证明. 根据文献[918],引理可证.证毕.

    关键问题是如何计算Inter(πk).Inter(πk)包括2个部分,即高优先级任务的干涉和低优先级任务的阻塞,下面将对这2个部分产生的工作量上界进行分析.

    对于高优先级任务的干涉量计算,首先要确定在某个时间窗口里高优先级任务能够产生的每个类别的工作量上界. 在时间长度为x的窗口内,高优先级任务Gi产生的工作量上界表示为Wi(x),产生类别为s的工作量上界表示为Wsi(x)Wsi(x)计算过程详见引理2.

    引理2. 在长度为x的时间窗口内,高优先级任务Gi能够产生的类别为s的工作量上界为

    Wsi(x)=(xvols(Gi)/MsTi+1)×vols(Gi)+α, (4)

    其中 α=min(vols(Gi),max(0,Ms×((xvols(Gi)Ms)modTi(TiRi)))).

    证明. 引理2能够得到证明基于2个层面的假设:

    1) 当carry-in实例(该实例在窗口之前释放,在窗口内完成)和carry-out实例(该实例在窗口内释放,截止期在窗口外)的s类别的工作量平均分布在所有s类核上时(如图2所示),可以得到s类别的工作量上界.

    图  2  Gix窗口内产生最大工作量的最坏情况
    Figure  2.  worst-case scenario to maximum workload in x of Gi

    2) 假设carry-out实例全部带入,可以得到高优先级任务的工作量上界,该假设基于假设1).

    首先,证明假设1)的正确性. 该假设忽略任务的内部结构,单纯考虑长度为x的时间窗口内能够产生的工作量的最大情况. 采用反证法,如果vols(Gi)的工作量分布在 Ms个核且Ms<Ms,根据式(4),该设想显然不能增加窗口内的工作量,因此假设1)成立.

    假设2)的证明依然采用反证法,假设carry-out带入的减少即窗口向左滑动ε=δ×vols(Gi)/Ms的长度,0<δ<1. 窗口向左滑动,会导致左边carry-in实例长度的增加,即carry-in实例在窗口内增加ε的长度. 而carry-in和carry-out实例s类的工作量是均匀分布在所有核上,所以最终的工作量总和不会发生改变,即假设2)成立. 接下来证明式(4)计算的正确性.

    图2中,x的时间窗口的组成包括:长度为vols(Gi)/Ms的carry-out实例、body实例(释放和截止期都在窗口内的实例)个数的周期长度以及carry-in实例长度. 而body实例数量的上界为

    xvols(Gi)/MsTi.

    x窗口还有carry-in的组成部分. 而carry-in的长度可由α计算. 根据图2,carry-in长度不大于vols(Gi)/Ms.

    综上,引理2得证.证毕.

    根据引理2,在长度为x的时间窗口内,所有高优先级任务Gi产生的s类别的工作量上界为

    Ws(x)=i<kWsi(x). (5)

    限制性可抢占导致优先级翻转的问题,即低优先级任务会阻塞高优先级任务的执行. 当路径πk上的某个结点vik可以执行时,即所有前继结点完成执行,而处理器被低优先级任务占用,从而造成对该结点的阻塞. 被低优先级任务占用的处理器个数为1~Ms(少于Ms个是因为处理器被高优先级任务或者前继结点占用),最坏情况要结合vik的情况进行讨论.

    如果i=1即该结点是源结点,最多有Ms个低优先级任务的结点阻塞其执行. 如果1<ini,分成2种情况进行讨论:

    1)γi1k=s,则最多有Ms1个低先级任务的结点阻塞其执行. 因为只有Ms1个低优先级任务的结点和vi1k结点并行执行且未执行完造成对vik的阻塞,如图3所示.

    图  3  γi1k=s时的情况
    Figure  3.  Scenario for γi1k=s

    2)γi1ks,则最多有Ms个低优先级任务的结点阻塞其执行. 因为前继结点的执行不占用s类别的核,因此vik可以执行时最多有Ms个低优先级任务的结点未完成执行,如图4所示.

    图  4  γi1ks时的情况
    Figure  4.  Scenario for γi1ks

    ΔMskΔMs1k分别表示最大的Ms个和Ms1个不可抢占低优先级结点的工作量之和,即

    ΔMsk=MsmaxGi>k(Msmax1jnjC(vji)), (6)
    ΔMs1k=Ms1maxGi>k(Ms1max1jnjC(vji)). (7)

    其中:Gi>k表示所有的低优先级任务;MsmaxGi>kMs1maxGi>k分别表示所有的低优先级任务中的 Ms个和Ms1个最大的不可抢占结点的工作量之和;而Msmax1jnjMs1max1jnj分别表示GiMs个和Ms1个最大的不可抢占结点的工作量之和. 式(6)(7)分别计算了所有低优先级任务中最大的Ms个和Ms1个最大的不可抢占结点的工作量之和,如此定义是因为最大的结点来自于不同的任务.

    综上,被分析路径上的某个结点阻塞量的计算总结见引理3.

    引理3. 结点vik是路径πk={v1k,v2k,,vkk}上的第i个结点,其类别为γik=s,则它的阻塞量上界为

    Θs(πk,vik)={ΔMsk,i=1i1γi1ks.ΔMs1k,i1γi1k=s. (8)

    证明. 根据式(6)(7),引理3得证.

    证毕.

    路径πk={v1k,v2k,,vkk}s类的阻塞量之和

    Bs(πk)=vikπkγik=sΘs(πk,vik). (9)

    基于文献[4]提出的路径抽象算法,进行响应时间分析.

    算法基本思路:对于结点vik,每条经过它的路径均可用一个元组表示vik,Δ(πk,vik),R(πk,vik),其中Δ(πk,vik)用来记录路径上计算过的并行结点(任务内干涉),R(πk,vik)表示该路径上的结点vik的响应时间. 经过vik的每条路径都有一个元组与之对应,同样的元组可以被合并成为一个,不同的2个元组如果符合一定的条件可以被其中一个元组替换. 替换的基本原则是被替换掉的元组不会导致比替换它的元组更大的WCRT上界. 经过元组的合并和替换操作过滤掉不必要的元组,达到减少路径的目的. 对DAG任务中的每个结点进行相同操作,直至最终结点. 最终结点上所有元组中最大的R(πk,vik)即为任务Gk的WCRT上界.

    接下来,对Δ(πk,vik), R(πk,vik)和替换规则进行定义.

    定义1[4]. 对于Gk的一条路径πk={v1k,v2k,,vkk}Δ(πk,vik)定义为距离路径上结点vik最近的所有类别结点的集合,即

    Δ(πk,vik)={δ(πk,vik,s)|sγk}, (10)

    其中

    δ(πk,vik,s)={c(vi),s=γik,,sγiki=1,δ(πk,vik,s),sγik1<ik.

    定义2. 路径πk={v1k,v2k,,vkk}中从源结点开始到vik的所有类型的集合,定义为

    γ(πk,vik)=1jiγjk. (11)

    显然,vik为结束结点时γ(πk,vik)表示整条路径的类型集合. 本文采用len(πk,vik)表示从源结点到vik的路径长度,即

    len(πk,vik)=1jiC(vjk). (12)

    从源结点到vik的所有s类别阻塞量之和为

    Bs(πk,vik)=1jiγjk=sΘs(πk,vjk). (13)

    定义3. 对于Gk的一条路径πk={v1k,v2k,,vkk}R(πk,vik)定义为

    R(πk,vik)=L(πk,vik)+sγ(πk,vik)Ws(len(πk,vik))+Bs(πk,vik)Ms, (14)

    其中L(πk,vik)定义为

    L(πk,vik)={C(v1k),i=1,L(πk,vi1k)+C(vik)+vϕ(πk,vik)C(v)Ms,2ik. (15)

    vϕ(πk,vik)C(v)Ms是文献[4]中关于任务内关涉的计算,与元组的抽象息息相关. 其中,重要计算参数定义为

    ϕ(πk,vik)=par(vik)par(δ(πk,vi1k,γ(vik))),
    par(vik)={v|vVkvans(vik)vdes(vik)}.

    由于其他任务干涉的增加,导致文献[4]算法中元组替换的规则不再适用,需要增加新的替换规则满足增加的其他任务干涉的分析,具体见引理4.

    引理4. 当任务Gk的2个路径π1k和路径π2k汇聚在vik结点时,2条路径分别由元组vik,Δ(π1k,vik),R(π1k,vik)vik,Δ(π2k,vik),R(π2k,vik)表示,前者为元组1,后者为元组2. 当元组1和元组2满足条件1)~3)时,元组2可以被元组1替换.

    1) γ(π1k,vik)=γ(π2k,vik)

    2) R(π1k,vik)R(π2k,vik)

    3) 对于任意类型s,条件①②必须成立:

    δ(π1k,vik,s)=⊥

    (δ(π1k,vik,s)≠⊥)(δ(π2k,vik,s)≠⊥)   (par(δ(π1k,vik,s)))(des(δ(π2k,vik,s)))=

    证明. 替换规则2)和3)已经在文献[4]中证明. 本文只需证明规则1)的必要性. 采用反证法,如果规则1)不成立,则以下2种情况之一成立:

    1)γ(π1k,vik)γ(π2k,vik). 设路径1和路径2经过结点vik, γ(π1k,vik)={s1,s2}γ(π2k,vik)={s1,s2,s3}. 在vik到结束结点的搜索过程中,2条路径都不会再增加新的类别. 路径长度在增大,而高优先级任务干涉的计算是非递减的,从而造成s3类别的高优先级任务造成的干涉逐渐增大. 因此路径2不能被替换.

    2)γ(π1k,vik)γ(π2k,vik). 设路径1和路径2经过结点vik,到达后继结点vi+1k.γi+1k=ssγ(π1k,vik)γ(π2k,vik),即到达结点vi+1k路径2会增加1个新的类别s,从而导致在结点vi+1k路径2增加的高优先级任务干涉比路径1增加得多,因此路径2不能被替换.

    证毕.

    最终,本文提出的分析方法综合为算法1,来判定任务集的可调度性.

    算法1. 任务集可调度性分析算法.

    输入:任务集G,处理器池M={Ms|sS}

    输出:是否可以被调度.

    LimitedPreSchedulingG,M);

    ② for each task Gk in G

    ③  TS={v1k,{v1k},C(v1k)}

    /* 从任务Gk的源结点开始更新元组集合*/

    ④  while(v,Δ,RTS;vvsnk) do

    /*针对元组中的每个元组进行下面的计算*/

    ⑤   for each vsuc(v) do

    /* 从结点v搜索至结点v*/

    ⑥   基于v,Δ,R和式(14)计算v,Δ,R

    ⑦    if (v,Δ,RTS or v,Δ,R

    根据代替规则可代替v,Δ,R

    ⑧     TS=TS{v,Δ,R}

    ⑨    end if

    ⑩   end for

    ⑪   TS=TS{v,Δ,R}

    ⑫  end while

    ⑬  for each v,Δ,RTS do

    /* 结束结点vsnk所有元组中具有最大R

    即为任务Gk的WCRT上界*/

    ⑭   Rtmp={Rv,Δ,R}

    ⑮   Rk=max(Rtmp)

    ⑯  end for

    ⑰  if Rk>Dk

    ⑱   return不可调度的;

    ⑲  end if

    ⑳ end for

    ㉑ return可调度的.

    算法1针对任务集中的每个任务进行路径抽象,计算其WCRT上界. 算法1的行③~⑫是针对每个任务Gk,从源结点开始搜索至结束结点,针对每个结点基于其前继结点的元组进行该结点的元组计算,计算出新的元组进行元组合并和替换操作,直至结束结点. 结束结点所有元组中最大的R即为Gk的WCRT上界(行⑬~⑯). 如果Rk>Dk说明该任务不可调度,直接结束计算返回整个任务集不可被调度;否则,继续分析下一个任务. 如果最后1个任务被分析完,且满足截止期的要求则整个任务集可被调度(行⑰~㉑).

    基于文献[4],算法1对DAG任务每个结点的响应时间分析时增加了其他任务的干涉计算. 在算法1过程中增加了新的合并和替换规则以保证最终计算的安全性.

    定理1. 任务集G是否可以被调度,可以由算法1来判定.

    证明. 综合理论和算法1的伪代码分析,定理1得证.证毕.

    本文采用仿真实验,分别从算法的准确性和效率层面进行算法的验证. 对任务集的可调度性产生影响的参数包括:任务集利用率、处理器个数、任务集内任务个数、结点个数、类别数以及每个任务的并行度. 首先,对这些参数设置一组默认参数,然后基于该默认参数进行对应参数实验变化的验证实验. 异构平台相关的实验数据基于OpenAMP[22]项目支持的硬件平台作为基础数据,对类别数和每种类别核数量的范围进行适当地增大,观察这2组参数对算法性能的影响. 而任务集的默认参数则结合实际情况和其他DAG任务集的相关参数进行设置. 默认参数设置为:

    1)异构平台上核类别的数量在[2,15]随机生成,每个类别核的数量Ms在[2,10]随机生成;每个类别s的利用率在[1,Ms/3]的范围内随机生成;

    2)任务集中,任务的数量在[2,20]的范围内随机生成;

    3)用UUnifast方法[23]为每个任务的s类别分配利用率;

    4)对于每一个任务,周期在[100,1000]之内随机生成,默认每个任务的相对截止期等于周期;

    5)每次随机选取1000个任务集分析平均性能.

    对单个任务的参数进行设置,主要依据文献[4],具体参数设置为:

    1)每个DAG任务的任务结构采用文献[24]提出的方法生成. 任务的结点数在[15,30]的范围内随机生成;任意2个结点之间是否生成边,需要随机选定;假设选定为增加该边,需进一步判定,即增加该边后并行度Pr的值满足要求,则增加边,否则不增加;Pr值在[0,1]之间随机选择,注意Pr值越大说明并行度越低,Pr值为1则所有结点为串行.

    2)采用UUnifast方法将已分配的利用率分配给每个结点,注意利用率是按类别分配的,结点的WCET值等于分配的利用率与周期的乘积.

    算法的正确性采用接受率进行验证,接受率定义为可以被调度的任务集占所有被测试的任务集的比率. 图5(a)~(f)展示的是各个参数下的接受率. 其中,图5(a) ~ (d)是整个任务集参数对接受率的影响,图5(e) ~ (f)是单个任务中重要参数对接受率的影响. 图5(a)中,因为利用率增大,而每个类别的处理器个数不变,使得接受率逐渐下降;图5(b)中,由于利用率固定,每个类别的处理器个数增加,从而导致接受率逐渐提升;图5(c)表明,其他参数不变的情况下,任务集中任务个数越多任务越难以调度;图5(d)表明,类别越多,相同利用率下分给每个类别的利用率就会减少,而类别的增加也会导致处理器个数增加,从而使得接受率提升;图5(e)表明,单个任务内部结点个数对接受率的影响不显著;图5(f)表明,单个任务内部并行度越高(Pr值越低)接受率越高,这是因为并行度大则并行执行的可能性增大,从而提高接受率. 综上分析,实验数据符合各参数的性质和对实际任务可调度性的影响.

    图  5  各种参数下的任务接受率
    Figure  5.  Acceptance ratio of tasks under different parameters

    图6(a) ~ (f)是对应接受率实验的各个参数下的效率实验. 其中,效率趋势中的每个点是所有1000个参加测试的任务集的平均分析时间. 注意,该时间随着分析设备硬件性能的不同会有所不同,其变化趋势可以表明与相关参数的关联性. 同样地,图6(a) ~ (d)为与任务集相关的参数,而图6(e)(f)是和单个任务相关的参数. 图6(a)(b)(d)中时间效率的变化趋势分别和图5(a)(b)(d)类似,这是因为接受率低,说明不可调度的任务集增多,在第1次出现不可调度任务时停止对任务集的分析从而出现平均分析时间下降的现象. 图6(c)的实验结果为时间效率先升高后降低. 图6(c)升高趋势的原因是当任务集接受率差不多时,任务集中任务个数增多,导致平均分析时间变长;图6(c)降低趋势的原因是由于接受率降低太多. 图6(e)中曲线变化表明,时间效率对任务内的结点个数是敏感的,当任务内的结点数增多时,时间效率呈增长趋势,且增长速度非常大. 图6(f)中时间效率变化趋势类似于图6(c),即先增后降,当任务集都可调度时任务分析时间随并行度下降而升高,当并行度降低到一定程度时接受率下降过多,导致任务集大量开始不可调度,从而导致平均分析时间下降.

    图  6  各种参数下的效率
    Figure  6.  Efficiency under different parameters

    实验结果表明,本文提出的算法具有很好的接受率且任务的平均分析时间在嵌入式实时系统离线分析时间的可接受范围内,各个参数实验数据均符合实验预期.

    本文针对异构平台上任务执行进行资源限制即规定任务只能执行在某一类处理器上这一特殊模型,进行了基于全局固定优先级限制性可抢占调度策略的可调度性分析. 首先,提出了整体的分析思路;然后,针对高优先级任务的干涉和低优先级任务的阻塞进行了分析;最后,结合最新的异构模型提出了一个整体的分析方法. 实验结果表明,本文提出的算法性能良好,能够在有效时间内完成任务的分析,且任务的可调度性和各个参数的关系符合实验预期.

    作者贡献声明:韩美灵提出了算法思路并撰写论文;孙施宁负责实现算法并设计了相关实验方案;邓庆绪提出研究思路并指导修改论文.

  • 图  1   DeepSA方法框架

    Figure  1.   Framework of DeepSA approach

    图  2   LeNet4模型在基于LSAv值和DSAv值筛选的测试样本子集上的准确率

    Figure  2.   Accuracy of LeNet4 model on selected test subsets based on LSAv values and DSAv values

    图  3   LeNet5模型在基于LSAv值和DSAv值筛选的测试样本子集上的准确率

    Figure  3.   Accuracy of LeNet5 model on selected test subsets based on LSAv values and DSAv values

    图  4   Fashion-LeNet5模型在基于LSAv值和DSAv值筛选的测试样本子集上的准确率

    Figure  4.   Accuracy of Fashion-LeNet5 model on selected test subsets based on LSAv values and DSAv values

    图  5   ConvNet模型在基于LSAv值和DSAv值筛选的测试样本子集上的准确率

    Figure  5.   Accuracy of ConvNet model on selected test subsets based on LSAv values and DSAv values

    图  6   选取不同数量的重要神经元度量DSAv值的时间开销

    Figure  6.   Time cost of measuring DSAv values with selecting different number of important neurons

    图  7   选取不同数量的重要神经元度量LSAv值的时间开销

    Figure  7.   Time cost of measuring LSAv values selecting with different number of important neurons

    表  1   DNN模型和数据集

    Table  1   DNN Models and Data Sets

    数据集 DNN模型 在测试集上的准确率/ % MSE 目标层 目标层神经元总数
    MNIST LeNet4 98.56 全部卷积层和全连接层 128
    LeNet5 98.79 248
    CIFAR10 ConvNet 82.78 activation5和activation6 256
    Fashion-MNIST LeNet5 88.80 fc1和fc2 204
    Udacity Self-driving Car Challenge Dave_orig 0.0964 block_conv5, fc1, fc2, fc3 224
    下载: 导出CSV

    表  2   意外覆盖率的参数配置

    Table  2   Parameter Configurations of Surprise Coverage

    DNN模型 DSCv LSCv
    上界 段的数量 上界 段的数量
    LeNet4 4 1000 3000 500
    LeNet5
    ConvNet 2 1000 500 500
    Fashion-LeNet5 3 1000 3000 500
    下载: 导出CSV

    表  3   生成的对抗样本数量及对应的意外覆盖率差值

    Table  3   The Number of Generated Adversarial Examples and Corresponding Surprise Coverage Differences

    DNN模型 模糊测试
    策略
    种子样本
    选择策略
    对抗样本数量 原始测试集的
    意外覆盖率 /%
    意外覆盖率
    差值 /%
    LeNet4 DFuzz(本文) ST-Dper(本文) 885 33.7 + 25.6
    ST-Dall(本文) 852 33.7 + 22.4
    DeepGini 869 33.7 + 19.7
    RobOT 486 33.7 + 13.1
    LFuzz(本文) ST-Lper(本文) 658 7.4 + 38.8
    ST-Lall(本文) 487 7.4 + 40.0
    DLFuzz(DSCv random 223 33.7 + 15.8
    DLFuzz(LSCv random 223 7.4 + 29.4
    DeepXplore(DSCv random 76 33.7 + 2.2
    DeepXplore(LSCv random 76 7.4 + 4.8
    LeNet5 DFuzz(本文) ST-Dper(本文) 1607 31.3 + 7.7
    ST-Dall(本文) 921 31.3 + 5.8
    DeepGini 1586 31.3 + 6.6
    RobOT 847 31.3 + 3.3
    LFuzz(本文) ST-Lper(本文) 460 15.0 + 35.0
    ST-Lall(本文) 404 15.0 + 27.2
    DLFuzz(DSCv random 239 31.3 + 1.2
    DLFuzz(LSCv random 239 15.0 + 25.8
    DeepXplore(DSCv random 78 31.3 + 0.2
    DeepXplore(LSCv random 78 15.0 + 3.9
    ConvNet DFuzz(本文) ST-Dper(本文) 472 74.6 + 5.1
    ST-Dall(本文) 447 74.6 + 4.6
    DeepGini 664 74.6 + 4.9
    RobOT 439 74.6 + 5.1
    LFuzz(本文) ST-Lper(本文) 301 44.0 + 3.2
    ST-Lall(本文) 278 44.0 + 3.0
    DLFuzz(DSCv random 438 74.6 + 3.5
    DLFuzz(LSCv random 438 44.0 + 6.5
    DeepXplore(DSCv random 179 74.6 + 1.2
    DeepXplore(LSCv random 179 44.0 + 1.9
    Fashion-LeNet5 DFuzz(本文) ST-Dper(本文) 2 039 54.0 + 34.2
    ST-Dall(本文) 1 917 54.0 + 32.3
    DeepGini 2 013 54.0 + 32.8
    RobOT 1207 54.0 + 18.3
    LFuzz(本文) ST-Lper(本文) 1 826 16.8 + 14.6
    ST-Lall(本文) 2 013 16.8 + 12.8
    DLFuzz(DSCv random 442 54.0 + 7.7
    DLFuzz(LSCv random 442 16.8 + 3.8
    DeepXplore(DSCv random 64 54.0 + 0.5
    DeepXplore(LSCv random 64 16.8 + 1.2
    注:加粗数字表示最大值.
    下载: 导出CSV

    表  4   不同种子样本数量下DeepSA生成的测试样本结果

    Table  4   Results of Test Samples Generated by DeepSA with Different Numbers of Seeds

    DNN模型 对抗样本数量 意外覆盖率差值 /%
    I II I II
    LeNet4 885 345 + 25.6 + 16.4
    LeNet5 1607 1000 + 9.7 + 5.9
    Fashion-LeNet5 2 039 815 + 34.2 + 18.2
    ConvNet 472 217 + 5.1 + 1.8
    注:I表明种子样本数为100,II表示种子样本数为50.
    下载: 导出CSV

    表  5   Dave_orig模型在基于LSAv值选择的测试样本上的均方误差

    Table  5   MSE of Dave_orig Model on Selected Test Samples Based on LSAv Values

    m MSE
    100 1000 2000 4000 5000
    70 0.302 0.186 0.139 0.107 0.100
    80 0.370 0.189 0.139 0.108 0.100
    90 0.368 0.188 0.138 0.107 0.100
    100 0.363 0.189 0.139 0.107 0.100
    注:加粗数值表示测试样本数量为100时Dave_orig模型取得的最高MSE值.
    下载: 导出CSV
  • [1]

    The New York Times. After fatal uber crash, a self-driving start-up moves forward[EB/OL]. [2022-06-10].https://www.nytimes.com/2018/05/07/technology/uber-crash-autonomous-driveai.html

    [2]

    Zhang Jie, Harman M, Ma Lei, et al. Machine learning testing: Survey, landscapes and horizons[J]. IEEE Transactions on Software Engineering, 2022, 48(1): 1−36

    [3]

    Huang Xiaowei, Kroening D, Ruan Wenjie, et al. A survey of safety and trustworthiness of deep neural networks: Verification, testing, adversarial attack and defence, and interpretability[J]. Computer Science Review, 2020, 37: 10270

    [4] 王赞,闫明,刘爽,等. 深度神经网络测试研究综述[J]. 软件学报,2020,31(5):1255−1275

    Wang Zan, Yan Ming, Liu Shuang, et al. Survey on testing of deep neural networks[J]. Journal of Software, 2020, 31(5): 1255−1275 (in Chinese)

    [5]

    Xie Xiaofei, Ma Lei, Juefei-Xu F, et al. DeepHunter: A coverage guided fuzz testing framework for deep neural networks[C] //Proc of the 28th ACM SIGSOFT Int Symp on Software Testing and Analysis. New York: ACM, 2019: 146−157

    [6] 代贺鹏,孙昌爱,金慧,等. 面向深度学习系统的模糊测试技术研究进展[J]. 软件学报,2023, 34(11): 5008−5028

    Dai Hepeng, Sun Chang’ai, Jin Hui, et al. State-of-the-art survey of fuzzing for deep learning systems[J]. Journal of Software, 2023, 34(11): 5008−5028

    [7]

    Pei Kexin, Cao Yinzhi, Yang Junfeng, et al. DeepXplore: Automated whitebox testing of deep learning systems[C] //Proc of the 26th Symp on Operating Systems Principles. New York: ACM, 2017: 1−18

    [8]

    Guo Jianmin, Jiang Yu, Zhao Yue, et al. DLFuzz: Differential fuzzing testing of deep learning systems[C] //Proc of the 26th Joint Meeting on European Software Engineering Conf and Symp on the Foundations of Software. New York: ACM, 2018: 739−743

    [9]

    Kim J, Feldt R, Yoo S. Guiding deep learning system testing using surprise adequacy[C] //Proc of the 41st Int Conf on Software Engineering. Piscataway, NJ: IEEE, 2019: 1039−1049

    [10]

    Kim J, Ju J, Feldt R, et al. Reducing DNN labelling cost using surprise adequacy: An industrial case study for autonomous driving[C] //Proc of the 28th ACM Joint Meeting on European Software Engineering Conf and Symp on the Foundations of Software Engineering. New York: ACM, 2022: 1466−1476

    [11]

    Kim S, Yoo S. Evaluating surprise adequacy for question answering[C] //Proc of the 42nd Int Conf on Software Engineering Workshops. New York: ACM, 2020: 197−202

    [12]

    Weiss M, Chakraborty R, Tonella P. A review and refinement of surprise adequacy[C] //Proc of the 3rd IEEE/ACM Int Workshop on Deep Learning for Testing and Testing for Deep Learning. Piscataway, NJ: IEEE, 2021: 17−24

    [13]

    Gerasimous S, Eniser H, Sen A, et al. Importance-driven deep learning system testing[C] //Proc of the 42nd ACM/IEEE Int Conf on Software Engineering. Piscataway, NJ: IEEE, 2020: 702−713

    [14]

    Xie Xiaofei, Li Tianlin, Wang Jian, et al. NPC: Neuron path coverage via characterizing decision Logic of deep neural networks[J]. ACM Transactions on Software Engineering and Methodology, 2022, 31(3): 47: 1−47: 27

    [15]

    Ma Lei, Juefei-Xu F, Zhang Fuyuan, et al. DeepGauge: Multi-granularity testing criteria for deep learning systems[C] //Proc of the 33rd ACM/IEEE Int Conf on Automated Software Engineering. New York: ACM, 2018: 120−131

    [16]

    Feng Yang, Shi Qingkai, Gao Xinyu, et al. DeepGini: Prioritizing massive tests to enhance the robustness of deep neural networks[C] //Proc of the 29th ACM SIGSOFT Int Symp on Software Testing and Analysis. New York: ACM, 2020: 177−188

    [17]

    Wang Jingyi, Chen Jialuo, Sun Youcheng, et al. RobOT: Robustness-oriented testing for deep learning systems[C] //Proc of the 43rd Int Conf on Software Engineering. Piscataway, NJ: IEEE, 2021: 300−311

    [18]

    Wang Dong, Wang Ziyuan, Fang Chunrong, et al. DeepPath: Path-driven testing criteria for deep neural networks[C] //Proc of the 1st IEEE Int Conf on Artificial Intelligence Testing. Piscataway, NJ: IEEE, 2019: 119−120

    [19]

    Ma Lei, Juefei-Xu F, Xue Minhui, et al. DeepCT: Tomographic combinatorial testing for deep learning systems[C] //Proc of the 26th Int Conf on Software Analysis, Evaluation and Reengineering. Piscataway, NJ: IEEE, 2019: 614−618

    [20]

    Du Xiaoning, Xie Xiaofei, Li Yi, et al. DeepStellar: Model-based quantitative analysis of stateful deep learning systems[C] //Proc of the 27th ACM Joint Meeting on European Software Engineering Conf and Symp on the Foundations of Software Engineering. New York: ACM, 2019: 477−487

    [21] 李舵,董超群,司品超,等. 神经网络验证和测试技术研究综述[J]. 计算机工程与应用,2021,57(22):53−67

    Li Duo, Dong Chaoqun, Si Pinchao, et al. Survey of research on neural network verification and testing technology[J]. Computer Engineering and Applications, 2021, 57(22): 53−67 (in Chinese)

    [22]

    Bach S, Binder A, Montavon G, et al. On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation[J]. PLoS ONE, 2015, 7(10): 1−46

    [23] 纪守领,李进锋,杜天宇,等. 机器学习模型可解释性方法、应用与安全研究综述[J]. 计算机研究与发展,2019,56(10):2071−2096

    Ji Shouling, Li Jinfeng, Du Tianyu, et al. Survey on techniques, applications and security of machine learning interpretability[J]. Journal of Computer Research and Development, 2019, 56(10): 2071−2096 (in Chinese)

    [24] 沐燕舟,王赞,陈翔,等. 采用多目标优化的深度学习测试优化方法[J]. 软件学报,2022,33(7):2499−2524

    Mu Yanzhou, Wang Zan, Chen Xiang, et al. A deep learning test optimization method using multi-objective optimization[J]. Journal of Software, 2022, 33(7): 2499−2524 (in Chinese)

    [25]

    LeCun Y, Cortes C. The MNIST database of handwritten digits[EB/OL]. [2022-06-10]. http://yann.lecun.com/exdb/mnist/

    [26]

    Krizhevsky N, Vinod H, Geoffrey C, et al. The CIFAR-10 dataset[EB/OL]. [2022-06-10]. http://www.cs.toronto.edu/~kriz/cifar.html

    [27]

    Xiao Han, Rasul K, Vollgraf R. Fashion-MNIST is a dataset of Zalando’s article images[EB/OL]. [2022-06-10]. https://github.com/zalandoresearch/fashion-mnist

    [28]

    Udacity. Dataset wiki[EB/OL]. [2022-06-10]. https://github.com/udacity/self-driving-car/tree/master/datasets

    [29]

    Alber M, Lapuschkin S, Seegerer P, et al. iNNvestigate neural networks![J]. Journal of Machine Learning Research, 2019, 20(93): 1−8

    [30]

    Zhou Zhiyang, Dou Wensheng, Liu Jie, et al. DeepCon: Contribution coverage testing for deep learning systems[C] //Proc of the 28th IEEE Int Conf on Software Analysis, Evolution and Reengineering. Piscataway, NJ: IEEE, 2021: 189−200

    [31]

    Goodfellow I, Shlens J, Szegedy C. Explaining and harnessing adversarial examples[J]. arXiv preprint, arXiv: 1412.6572, 2015

    [32]

    Carlini N, Wagner D. Towards evaluating the robustness of neural networks[C] //Proc of the 38th IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2017: 39−57

    [33]

    Lee S, Cha S, Lee D, et al. Effective white-box testing of deep neural networks with adaptive neuron-selection strategy[C] //Proc of the 29th ACM SIGSOFT Int Symp on Software Testing and Analysis. New York: ACM, 2020: 165−176

    [34]

    Zhang Pengcheng, Ren Bin, Dong Hai, et al. CAGFuzz: Coverage-guided adversarial generative fuzzing testing for image-based deep learning systems[J]. IEEE Transactions on Software Engineering, 2021, 48(11): 4630−4646

    [35]

    Shen Weijun, Li Yanhui, Chen Lin, et al. Multiple-boundary clustering and prioritization to promote neural network retraining[C] //Proc of the 35th IEEE/ACM Int Conf on Automated Software Engineering. Piscataway, NJ: IEEE, 2020: 410−422

图(7)  /  表(5)
计量
  • 文章访问数:  132
  • HTML全文浏览量:  9
  • PDF下载量:  56
  • 被引次数: 0
出版历程
  • 收稿日期:  2022-08-23
  • 修回日期:  2023-08-14
  • 网络出版日期:  2024-01-24
  • 刊出日期:  2024-04-05

目录

/

返回文章
返回