Concolic Testing for Deep Neural Networks
University of Oxford(牛津大学);University of Liverpool(利物浦大学)
Concolic测试结合了程序执行和符号分析来探索软件程序的执行路径。本文提出了第一种用于深度神经网络(DNN)的concolic测试方法。更具体地说,我们正式的覆盖标准DNN已在文献中研究,然后开发一个连贯的方法进行concolic测试,以增加测试覆盖率。我们的实验结果表明,concolic测试方法在实现高覆盖率和发现对抗性示例方面的有效性。
2018-08-04 cs.LG cs.SE stat.ML
Metamorphic Testing of a Deep Learning based Forecaster
Accenture Labs(埃森哲实验室);Accenture(埃森哲)
在本文中,我们介绍了一个基于深度学习的预测应用程序的变形测试。该应用程序查看过去的系统特征数据(例如“内存分配”),以预测未来的中断。我们重点关注两个基于统计/机器学习的组件-- a)检测系统特征之间的相关性,以及b)使用LSTM(一种深度学习架构)估计系统特征的未来值。总共有19种变形关系已经被开发出来,我们在适用的地方提供了证明和算法。我们通过两个设置来评估我们的方法。首先,我们在实际应用中执行了这些关系,发现了8个以前不知道的问题。其次,我们通过突变测试在基于LSTM的预测器的参考实现上生成了假设的错误,并发现65.9%的错误是通过关系捕获的。
2019-07-13 cs.LG cs.SE
DeepKnowledge: Generalisation-Driven Deep Learning Testing
University of York(约克大学);CEA List;Université Paris-Saclay(巴黎萨克雷大学)
提出基于知识泛化理论的DNN测试方法DeepKnowledge,通过Transfer Knowledge神经元和泛化感知测试充分性标准评估模型鲁棒性,在多个基准上检测对抗攻击的改进达10个百分点。
2024-03-25 cs.AI cs.LG cs.SE
Hawkeye: Change-targeted Testing for Android Apps based on Deep Reinforcement Learning
ByteDance(字节跳动);University of Edinburgh(爱丁堡大学)
针对Android应用更新测试效率低的问题,提出基于深度强化学习的Hawkeye定向测试方法,优先执行与代码变更相关的GUI操作,实验证明其优于现有工具并适用于商业应用冒烟测试。
2023-09-04 cs.LG cs.SE
GPU Temperature Simulation-Based Testing for In-Vehicle Deep Learning Frameworks
State Key Laboratory for Novel Software Technology Nanjing University China(新型软件技术国家重点实验室 南京大学 中国);University of Massachusetts Amherst United States(马萨诸塞大学阿姆赫斯特分校 美国)
针对车载深度学习框架在温度变化环境下因GPU频率调整导致的质量问题,提出首个测试方法ThermalGuardian,通过模型变异、温度仿真和频率控制来检测缺陷。
2025-09-26 cs.LG cs.SE
DeepPerform: An Efficient Approach for Performance Testing of Resource-Constrained Neural Networks
UT Dallas(德克萨斯大学达拉斯分校);UC Riverside(加州大学河滨分校)
如今,越来越多的自适应深度神经网络(AdNN)被用于资源受限的嵌入式设备。我们观察到,类似于传统的软件,冗余计算存在于AdNN,导致相当大的性能下降。性能下降取决于输入,被称为输入相关性能瓶颈(IDPB)。为了确保AdNN满足资源受限应用的性能要求,必须进行性能测试以检测AdNN中的IDPB。现有的神经网络测试方法主要关注正确性测试,而不涉及性能测试。为了填补这一空白,我们提出了DeepPerform,这是一种可扩展的方法来生成测试样本,以检测AdNN中的IDPB。我们首先演示了如何生成性能测试样本检测IDPB的问题可以制定为一个优化问题。接下来,我们将展示DeepPerform如何通过学习和估计AdNN的计算消耗分布来有效地处理优化问题。我们在三个广泛使用的数据集上对五个流行的AdNN模型进行了DeepPerform评估。结果表明,DeepPerform生成的测试样本会导致更严重的性能下降(FLOPs:增加到552%)。此外,DeepPerform在生成测试输入方面比基线方法更有效(运行时开销:仅6-10毫秒)。
2022-10-20 cs.CL cs.LG cs.SE
Mutation Testing of Deep Reinforcement Learning Based on Real Faults
Polytechnique Montréal(蒙特利尔工程学院)
测试深度学习(DL)系统是一项复杂的任务,因为它们的行为与传统系统不同,特别是因为它们的随机性。尽管如此,能够使现有的测试技术(如突变测试(MT))适应DL设置将大大提高其潜在的可验证性。虽然已经做出了一些努力来将MT扩展到监督学习范式,但很少有工作将其扩展到强化学习(RL),RL也是DL生态系统的重要组成部分,但其行为与SL非常不同。本文建立在现有的MT方法,以提出一个框架,RLMutation,MT应用于RL。值得注意的是,我们使用现有的故障分类法来构建一组与RL相关的变异算子,并使用一个简单的启发式算法来生成RL的测试用例。这使我们能够比较基于现有方法的不同突变杀死定义,以及分析所获得的突变算子及其称为高阶突变(HOM)的潜在组合的行为。我们发现,突变杀死定义的设计选择可以影响是否突变被杀死以及生成的测试用例。此外,我们发现,即使有一个相对较少的测试用例和运营商,我们管理生成HOM有趣的属性,可以提高RL系统的测试能力。
2023-01-13 cs.LG cs.SE
Importance-Driven Deep Learning System Testing
University of York(约克大学);MPI-SWS(马克斯·普朗克软件系统研究所);Bogazici University(博阿齐奇大学)
深度学习(DL)系统能够解决图像识别和机器翻译等复杂任务,因此是工程智能应用的关键推动因素。然而,在安全和安全关键应用中使用DL系统需要为其可靠运行提供测试证据。最近在这个方向的研究集中在适应测试标准,从传统的软件工程作为一种手段,增加信心,他们的正确行为。然而,它们不足以捕捉这些系统所表现出的内在特性。我们通过引入DeepImportance来弥合这一差距,DeepImportance是一种系统化的测试方法,伴随着DL系统的重要性驱动(IDC)测试充分性标准。应用IDC能够建立对DL系统组件重要性的逐层功能理解,并使用此信息来评估测试集的语义多样性。我们对多个DL系统,多个DL数据集和最先进的对抗生成技术进行的实证评估表明了DeepImportance的有用性和有效性,以及它支持更强大的DL系统工程的能力。
2020-02-09 cs.AI cs.LG cs.SE
DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars
University of Virginia(弗吉尼亚大学);Columbia University(哥伦比亚大学)
深度神经网络(DNN)的最新进展已经导致了DNN驱动的自动驾驶汽车的发展,这些汽车使用相机、激光雷达等传感器,可以在没有任何人为干预的情况下驾驶。包括特斯拉、通用、福特、宝马和Waymo/谷歌在内的大多数主要制造商都在致力于制造和测试不同类型的自动驾驶汽车。包括加利福尼亚州,德克萨斯州和纽约州在内的几个州的立法者已经通过了新的立法,以快速跟踪自动驾驶汽车在道路上的测试和部署过程。然而,尽管DNN取得了惊人的进步,但与传统软件一样,DNN经常表现出不正确或意外的极端情况行为,这些行为可能导致潜在的致命冲突。已经发生了几起涉及自动驾驶汽车的真实事故,其中一起导致了死亡。用于DNN驱动车辆的大多数现有测试技术严重依赖于在不同驾驶条件下手动收集测试数据,随着测试条件的数量增加,这些测试数据变得非常昂贵。在本文中,我们设计,实现和评估DeepTest,这是一种系统测试工具,用于自动检测可能导致致命车祸的DNN驱动车辆的错误行为。首先,我们的工具旨在自动生成测试用例,利用真实世界中驾驶条件的变化,如雨,雾,照明条件等,DeepTest通过生成最大化激活神经元数量的测试输入,系统地探索DNN逻辑的不同部分。DeepTest在不同的实际驾驶条件下发现了数千种错误行为(例如,模糊、雨、雾等)其中许多导致了Udacity自动驾驶汽车挑战赛中三个表现最好的DNN的潜在致命事故。
2018-03-20 cs.AI cs.LG cs.SE
IDOL: Improved Different Optimization Levels Testing for Solidity Compilers
本文提出 IDOL 方法,通过逆向优化转换生成语义等价的智能合约变体来测试 Solidity 编译器,并在初步评估中发现 3 个已确认的优化缺陷。
2025-06-15 cs.SE
Towards Testing of Deep Learning Systems with Training Set Reduction
Simula Research Laboratory(Simula研究实验室)
测试深度学习系统及其训练例程的实现对于维护可靠的代码库至关重要。现代软件开发采用诸如持续集成之类的过程,在该过程中,对软件的更改被频繁地集成和测试。然而,测试训练例程需要运行它们,并且当使用完整的数据集时,完全训练深度学习模型可能是资源密集型的。仅使用训练数据的子集可以缩短测试运行时间,但也会降低其有效性。我们评估了不同的训练集缩减方法及其利用原始完整数据集模仿模型训练特征的能力。我们的研究结果强调了训练集减少的有用性,特别是在资源受限的环境中。
2019-01-14 cs.LG cs.NE cs.SE
RobOT: Robustness-Oriented Testing for Deep Learning Systems
最近,人们对将软件工程技术应用于深度学习(DL)系统的质量保证的兴趣显著增长。一个流行的方向是深度学习测试,其中对抗性示例(又名~缺陷)通过模糊搜索或在某些测试度量的帮助下的引导搜索来发现。然而,最近的研究表明,现有DL测试方法常用的神经元覆盖度量与模型鲁棒性无关。它也不是检验后模型稳健性置信度的有效度量。在这项工作中,我们提出了一个新的测试框架,称为面向健壮性测试(RobOT)来解决这个差距。RobOT的一个关键部分是定量测量1)每个测试用例在提高模型鲁棒性(通常通过再训练)方面的价值,以及2)模型鲁棒性改进的收敛质量。RobOT利用所提出的度量自动生成测试用例,提高模型的鲁棒性。所提出的指标也是一个强有力的指标,如何以及鲁棒性的改善,通过测试收敛。在多个基准数据集上的实验证实了RobOT在提高DL模型鲁棒性方面的有效性和效率,对抗鲁棒性提高了67.02%,比最先进的DeepGini高出50.65%。
2021-02-13 cs.SE
Generating Realistic, Diverse, and Fault-Revealing Inputs with Latent Space Interpolation for Testing Deep Neural Networks
The University of Queensland(昆士兰大学);University of Virginia(弗吉尼亚大学)
针对现有DNN测试方法生成的对抗样本真实性不足、故障暴露概率低的问题,提出黑盒测试方法ARGUS,通过潜在空间插值等技术生成优质对抗样本,性能优于基线方法且可用于提升模型分类准确率。
2025-03-22 cs.LG cs.SE
DeepSQLi: Deep Semantic Learning for Testing SQL Injection
安全性无疑是Web应用程序最重要的问题,SQL注入(SQLi)攻击是最具破坏性的攻击之一。自动测试SQLi漏洞至关重要,但不幸的是,实现起来远非易事。这是因为SQL存在着大量或潜在无限的变体和语义可能性,导致对各种Web应用程序的SQLi攻击。在本文中,我们提出了一个深度自然语言处理为基础的工具,称为DeepSQLi,生成测试用例检测SQLi漏洞。通过采用基于深度学习的神经语言模型和单词序列预测,DeepSQLi具备学习SQLi攻击中嵌入的语义知识的能力,使其能够将用户输入(或测试用例)转换为新的测试用例,该测试用例在语义上相关并且可能更复杂。实验进行比较DeepSQLi与SQLmap,一个国家的最先进的SQLi测试自动化工具,在六个真实世界的Web应用程序,是不同的规模,特点和领域。实验结果证明了DeepSQLi相对于SQLmap的有效性和显著优势,可以通过使用更少的测试用例来识别更多的SQLi漏洞,同时运行速度更快。
2020-05-24 cs.SE
Testing match-3 video games with Deep Reinforcement Learning
测试视频游戏是制作过程中的关键步骤,需要花费大量的时间和资源。一些软件公司正试图使用人工智能来减少对人力资源的需求,使用能够取代人类代理的系统。我们研究了使用深度强化学习在match-3视频游戏中自动化测试过程的可能性,并建议在Dueling Deep Q-Network范式的框架中解决这个问题。我们在Jelly Juice游戏上测试了这种网络,这是一款由RedBit Games开发的匹配3视频游戏。网络从游戏环境中提取基本信息,并推断下一步行动。我们将结果与随机玩家的表现进行比较,发现网络显示出最高的成功率。在大多数情况下,结果与真实用户获得的结果相似,随着时间的推移,网络也成功地学习了区分游戏级别的不同特征,并使其策略适应日益增加的难度。
2020-11-24 cs.LG cs.SE stat.ML
Learning-Based Testing for Deep Learning: Enhancing Model Robustness with Adversarial Input Prioritization
University of Tennessee(田纳西大学)
本文提出融合假设检验与变异测试的LBT方法,对对抗输入进行优先级排序,以更快揭示DNN故障并指导重训练、增强鲁棒性。
2025-09-28 cs.LG cs.SE
Automated Performance Testing Based on Active Deep Learning
RISE Research Institutes of Sweden(瑞典RISE研究院)
在合理的时间内生成可以揭示大型复杂软件系统中的性能问题的测试是一项具有挑战性的任务。一方面,存在要探索的输入数据值的许多组合。另一方面,我们执行测试的测试预算有限。使这项任务更加困难的是缺乏对这些系统的源代码和内部细节的访问。在本文中,我们提出了一个自动测试生成方法称为ACTA的黑盒性能测试。ACTA基于主动学习,这意味着它不需要一大组历史测试数据来了解被测系统的性能特征。相反,它使用不确定性采样动态选择要执行的测试。ACTA依赖于生成对抗网络的一个条件变体,并且便于指定条件方面的性能要求并生成针对这些条件的测试。我们在基准Web应用程序上对ACTA进行了评估,实验结果表明,该方法与随机测试以及其他两种机器学习方法(即PerfXRL和DN)相当。
2021-04-05 cs.LG cs.SE
Distribution-Aware Testing of Neural Networks Using Generative Models
University of Virginia(弗吉尼亚大学)
鉴于越来越多的关键应用部署了深度神经网络(DNN),因此,具有深度神经网络(DNN)作为组件的软件的可靠性在今天变得非常重要。对可靠性的需求提出了对这些系统的安全性和可靠性进行严格测试的需要。在过去的几年里,有许多研究工作集中在测试DNN上。然而,目前提出的测试生成技术缺乏检查,以确定他们正在生成的测试输入是否有效,从而产生无效的输入。为了说明这种情况,我们探讨了三种最近的DNN测试技术。使用基于深度生成模型的输入验证,我们证明了所有这三种技术都会生成大量的无效测试输入。我们进一步分析了DNN测试技术生成的测试输入所实现的测试覆盖率,并展示了无效的测试输入如何错误地夸大测试覆盖率指标。为了克服测试中包含无效输入的问题,我们提出了一种技术,将测试中的DNN模型的有效输入空间纳入测试生成过程。我们的技术使用基于模型的深度生成算法来仅生成有效输入。我们的实证研究结果表明,我们的技术是有效的,在消除无效的测试和提高有效的测试输入生成的数量。
2021-02-26 cs.LG cs.SE
Mock Deep Testing: Toward Separate Development of Data and Models for Deep Learning
针对深度学习数据与模型难以独立测试的问题,提出Mock深度测试方法及KUnit框架,通过模块化分解和Mock依赖建模实现组件单元测试,有效识别并解决问题,提升开发效率。
2025-02-11 cs.SE
DeepXplore: Automated Whitebox Testing of Deep Learning Systems
Columbia University(哥伦比亚大学);Lehigh University(理海大学)
深度学习(DL)系统越来越多地部署在安全和安全关键领域,包括自动驾驶汽车和恶意软件检测,在这些领域,系统行为的正确性和可预测性对于极端情况输入非常重要。现有的DL测试严重依赖于手动标记的数据,因此通常无法暴露罕见输入的错误行为。我们设计,实现和评估DeepXplore,这是第一个用于系统测试真实世界DL系统的白盒框架。首先,我们引入神经元覆盖系统测量的部分DL系统行使测试输入。接下来,我们利用多个具有类似功能的DL系统作为交叉引用Oracle,以避免手动检查。最后,我们展示了如何找到DL系统的输入,既触发许多差分行为,实现高神经元覆盖率可以表示为一个联合优化问题,并有效地解决基于梯度的搜索技术。DeepXplore有效地发现了数千种不正确的极端情况行为(例如,自动驾驶汽车撞上护栏和伪装成良性软件的恶意软件),在最先进的DL模型中,数千个神经元在五个流行的数据集上训练,包括ImageNet和Udacity自动驾驶挑战数据。对于所有测试的DL模型,平均而言,DeepXplore在一秒钟内生成了一个测试输入,证明了仅在商用笔记本电脑上运行时的错误行为。我们进一步表明,DeepXplore生成的测试输入也可以用于重新训练相应的DL模型,以将模型的准确度提高3%。
2017-09-24 cs.CR cs.LG cs.SE
DLFuzz: Differential Fuzzing Testing of Deep Learning Systems
深度学习(DL)系统越来越多地应用于安全关键领域,如自动驾驶汽车。保证DL系统的可靠性和鲁棒性具有重要意义。现有的神经元测试方法往往无法包含测试数据集中的稀有输入,并且神经元覆盖率较低。在本文中,我们提出了DLFuzz,第一个差分模糊测试框架,以指导DL系统暴露不正确的行为。DLFuzz不断对输入进行细微的变异,以最大化神经元覆盖率以及原始输入和变异输入之间的预测差异,而无需手动标记工作或交叉引用具有相同功能的其他DL系统的预言机。我们提出了两个著名的数据集的实证评估,以证明其效率。与最先进的深度学习白盒测试框架DeepXplore相比,DLFuzz不需要额外的努力来寻找类似的功能性深度学习系统进行交叉引用检查,但可以生成多338.59%的对抗性输入,同时具有89.82%的小扰动,平均获得高2.86%的神经元覆盖率,节省20.11%的时间消耗。
2018-08-28 cs.SE
Contexts Matter: An Empirical Study on Contextual Influence in Fairness Testing for Deep Learning Systems
University of Birmingham(伯明翰大学)
本文通过涵盖10,800个案例的实证研究,考察超参数、数据偏差和标注偏差等情境对深度学习公平性测试的影响,并借助适应度景观分析揭示其显著改变测试结果的机制。
2024-08-12 cs.CY cs.LG cs.SE
DeepMutation: Mutation Testing of Deep Learning Systems
深度学习(DL)定义了一种新的数据驱动编程范式,其中内部系统逻辑在很大程度上由训练数据塑造。评估DL模型的标准方法是在测试数据集上检查它们的性能。测试数据集的质量对于获得训练模型的置信度非常重要。使用不充分的测试数据集,已经达到高测试精度的DL模型可能仍然缺乏通用性和鲁棒性。在传统的软件测试中,变异测试是一种成熟的测试集质量评估技术,它分析测试集在多大程度上检测到注入的错误。但由于传统软件与基于深度学习的软件存在根本性的区别,传统的变异测试技术无法直接应用于DL系统。在本文中,我们提出了一个变异测试框架专门用于DL系统来衡量质量的测试数据。为了做到这一点,通过分享传统软件中突变测试的相同精神,我们首先定义了一组源级突变算子来向DL的源注入故障(即,训练数据和训练程序)。然后,我们设计了一组模型级变异算子,直接将故障注入DL模型,而无需训练过程。最后,测试数据的质量可以从分析注入的故障可以被检测到的程度来评估。建议的突变测试技术的有用性证明了两个公共数据集,即MNIST和CIFAR-10,三个DL模型。
2018-08-14 cs.SE
Deep Reinforcement Learning for Black-Box Testing of Android Apps
Android应用程序的状态空间是巨大的,在测试期间对其进行彻底的探索仍然是一个重大挑战。事实上,最佳的探索策略高度依赖于被测应用程序的功能。强化学习(RL)是一种机器学习技术,它通过尝试和错误来学习解决任务的最佳策略,由积极或消极的奖励引导,而不是由明确的监督。深度RL是RL的最新扩展,它利用了神经网络的学习能力。这些功能使Deep RL适合复杂的探索空间,例如Android应用程序。然而,最先进的公开可用工具仅支持基本的表格式RL。我们已经开发了ARES,这是一种用于Android应用程序黑盒测试的深度RL方法。实验结果表明,它实现了更高的覆盖率和故障揭示比基线,其中包括最先进的基于RL的工具,如TimeMachine和Q-Testing。我们还定性地研究了这种性能背后的原因,并确定了Android应用程序的关键功能,这些功能使Deep RL对它们特别有效,即存在链式和阻塞活动。
2021-01-15 cs.SE
Hardening with Scapolite: a DevOps-based Approach for Improved Authoring and Testing of Security-Configuration Guides in Large-Scale Organizations
安全强化是配置IT系统的过程,以确保系统组件及其处理或存储的数据的安全性。在许多情况下,所谓的安全配置指南被用作安全强化的基础。这些指南介绍了操作系统和标准应用程序等组件的安全配置设置。必须严格测试安全配置指南及其执行和验证的自动化机制,因为错误执行或检查强化指南可能严重影响系统的安全和功能。在西门子,集中维护的安全配置指南携带机器可读的信息,指定每个所需配置步骤的实施和验证。指南在git存储库中维护;自动化管道生成用于实现和检查的工件,例如,适用于Windows的PowerShell脚本,并在AWS映像上对这些工件进行测试。本文描述了我们的经验与我们的DevOps启发的方法来创作,维护和测试安全配置指南。我们希望分享这些经验,以帮助其他组织加强安全性,从而提高其系统的安全性。
2022-09-19 cs.CR cs.SE
XAMT: Cross-Framework API Matching for Testing Deep Learning Libraries
本文提出跨框架模糊测试方法XAMT,通过匹配不同深度学习框架中功能等价的API并进行差分测试,在五个主流框架上检测出17个缺陷,弥补了框架内测试的不足。
2025-08-18 cs.SE
DeepGalaxy: Testing Neural Network Verifiers via Two-Dimensional Input Space Exploration
深度神经网络(DNN)在许多领域得到了广泛的发展和应用,DNN的质量保证至关重要。神经网络验证(NNV)的目的是为DNN模型提供形式化的保证。与传统软件类似,神经网络验证器也可能包含错误,这将产生关键和严重的影响,特别是在安全关键领域。然而,很少有工作存在的神经网络验证。在这项工作中,我们提出了DeepGalaxy,一种基于差分测试的自动化方法来解决这个问题。具体而言,我们(1)提出了一系列变异规则,包括模型级变异和规格说明级变异,以有效地探索神经网络验证器的二维的【形】输入空间;和(2)提出启发式策略来选择测试用例。我们利用DeepGalaxy的实现来测试三个最先进的神经网络验证,Marabou,Eran和Neuriify。实验结果支持DeepGalaxy的效率和有效性。此外,还发现了五种独特的未知错误,
2022-01-20 cs.SE
DeepCruiser: Automated Guided Testing for Stateful Deep Learning Systems
Nanyang Technological University(南洋理工大学);Harbin Institute of Technology(哈尔滨工业大学);Kyushu University(九州大学)
深度学习(DL)定义了一种数据驱动的编程范式,该范式可以从训练数据自动组成系统决策逻辑。在过去的十年中,随着数据爆炸和硬件加速,DL在许多前沿应用中取得了巨大的成功。然而,即使是最先进的DL系统仍然受到质量和可靠性问题的困扰。直到最近,在测试前馈DL系统方面才取得了一些初步进展。与前馈DL系统相比,递归神经网络(RNN)遵循非常不同的架构设计,用循环和内部状态实现时间行为和记忆。RNN的这种状态性质有助于其成功处理音频,自然语言和视频处理等顺序输入,但也为质量保证提出了新的挑战。在本文中,我们开始了测试基于RNN的有状态DL系统的第一步。我们将RNN建模为一个抽象的状态转换系统,并在此基础上定义了一组针对有状态DL系统的测试覆盖标准。此外,我们提出了一个自动化测试框架,DeepCruiser,它系统地生成大规模的测试,以发现有状态DL系统的缺陷与覆盖率的指导。我们在一个国家的最先进的语音到文本DL系统的深入评估表明,我们的技术在提高质量和可靠性的有状态DL系统的有效性。
2018-12-13 cs.AI cs.CR cs.LG
DeepRoad: GAN-based Metamorphic Autonomous Driving System Testing
虽然深度神经网络(DNN)已经建立了基于DNN的自动驾驶系统的基础,但它们可能会表现出错误的行为并导致致命的事故。为了解决自动驾驶系统的安全问题,最近已经设计了一组测试技术来自动生成测试用例,例如,从原始图像变换的新输入图像。不幸的是,许多这样生成的输入图像通常呈现较差的真实性,缺乏驾驶场景的准确语义信息,因此损害了所得的功效和可靠性。在本文中,我们提出了DeepRoad,这是一个无监督的框架,可以自动生成大量准确的驾驶场景,以测试基于DNN的自动驾驶系统在不同场景中的一致性。特别是,DeepRoad通过应用生成对抗网络(GANs)以及相应的现实世界天气场景,提供具有各种天气条件(包括极端条件)的驾驶场景。此外,我们已经实施了DeepRoad来测试三个公认的基于DNN的自动驾驶系统。实验结果表明,DeepRoad可以检测到这些系统中成千上万的行为不一致。
2018-03-07 cs.SE
ATTest: Agent-Driven Tensor Testing for Deep Learning Library Modules
Nanjing University(南京大学);Nanjing University of Science and Technology(南京理工大学)
ATTest通过基于代理的框架生成深度学习库模块的高效单元测试,显著提升测试覆盖率和稳定性。
2026-02-15 cs.SE
Rethinking Diversity in Deep Neural Network Testing
University of Wisconsin-Madison(威斯康星大学麦迪逊分校);Visa Research(维萨研究中心)
本文提出将深度神经网络测试从多样性导向转为定向测试,推导六种定向度量,并证明其在发现错误行为上始终优于多样性度量。
2024-02-26 cs.AI cs.SE
MuFF: Stable and Sensitive Post-training Mutation Testing for Deep Learning
本文提出MuFF,一种高效的后训练深度学习变异测试技术,通过自动化稳定性检查和两种新变异算子,生成稳定且灵敏的变异体,灵敏度较现有方法大幅提升,且速度快61倍。
2025-01-22 cs.SE
Deep Learning Framework Testing via Heuristic Guidance Based on Multiple Model Measurements
针对现有深度学习框架测试仅依赖单一模型度量的问题,本文提出 DLMMM,融合缺陷检测性能、算子组合多样性与执行时间,并进行多层次启发式引导,实验证明其在 TensorFlow、PyTorch 和 MindSpore 上更有效、更高效。
2025-10-21 cs.SE
DeepGauge: Multi-Granularity Testing Criteria for Deep Learning Systems
Harbin Institute of Technology(哈尔滨工业大学);Carnegie Mellon University(卡内基梅隆大学);Nanyang Technological University(南洋理工大学);Kyushu University(九州大学);University of Illinois at Urbana–Champaign(伊利诺伊大学厄巴纳-香槟分校);Monash University(莫纳什大学)
深度学习(DL)定义了一种新的数据驱动编程范式,通过一组训练数据构建精心制作的神经元网络的内部系统逻辑。我们已经看到DL在许多安全关键场景中的广泛采用。然而,大量的研究表明,国家的最先进的DL系统遭受各种漏洞,这可能会导致严重的后果时,应用到现实世界的应用程序。目前,DL系统的测试充分性通常由测试数据的准确性来衡量。考虑到可获得的高质量测试数据的局限性,对测试数据的良好准确性很难为DL系统的测试充分性和通用性提供信心。与具有清晰和可控逻辑和功能的传统软件系统不同,深度学习系统中缺乏可解释性使得系统分析和缺陷检测变得困难,这可能会阻碍其在现实世界中的部署。在本文中,我们提出了DeepGauge,一组多粒度的测试标准DL系统,其目的是呈现多方面的写照的测试床。我们提出的测试标准的深入评估证明了两个著名的数据集,五个DL系统,并与四个国家的最先进的对抗攻击技术对DL。DeepGauge的潜在用途为构建更通用和更强大的DL系统提供了帮助。
2018-08-14 cs.CR cs.LG cs.SE
Search-Based Testing of Reinforcement Learning
Graz University of Technology(格拉茨工业大学);Silicon Austria Labs(奥地利硅实验室);Lamarr Security Research(拉马尔安全研究中心)
深度强化学习(RL)的评估具有内在的挑战性。特别是学习策略的不透明性以及代理和环境的随机性使得测试深度RL代理的行为变得困难。我们提出了一个基于搜索的测试框架,该框架能够实现广泛的新型分析功能,用于评估深度RL代理的安全性和性能。对于安全测试,我们的框架利用搜索算法来搜索解决RL任务的参考轨迹。回溯状态的搜索,称为边界状态,构成安全关键的情况。我们创建安全测试套件,评估如何以及RL代理逃脱安全关键的情况下,这些边界状态附近。为了进行可靠的性能测试,我们通过模糊测试创建了一组不同的跟踪。这些模糊跟踪用于将代理带入各种各样的潜在未知状态,从这些状态将代理的平均性能与模糊跟踪的平均性能进行比较。我们将我们基于搜索的测试方法应用于任天堂超级马里奥兄弟的RL。
2022-05-14 cs.AI cs.LG cs.SE
A Search-Based Testing Framework for Deep Neural Networks of Source Code Embedding
在过去的几年中,深度神经网络(DNN)一直在不断地扩展其在软件工程领域中的源代码处理任务的现实应用,例如,克隆检测、代码搜索、注释生成。虽然最近已经在图像和语音处理的背景下进行了相当多的DNN测试工作,但到目前为止,在源代码处理的背景下进行DNN测试的进展有限,表现出相当独特的特征和挑战。在本文中,我们提出了一个基于搜索的测试框架,用于源代码嵌入的DNN及其下游处理任务,如代码搜索。为了生成新的测试输入,我们采用流行的源代码重构工具来生成语义等价的变体。为了更有效的测试,我们利用DNN突变测试来指导测试方向。为了证明我们的技术的有用性,我们基于多种最先进的代码嵌入方法(即,Code2vec、Code2seq和CodeBERT)。测试结果表明,我们生成的对抗性样本平均可以将这些DNN的性能从5.41%降低到9.58%。通过使用我们生成的对抗样本重新训练DNN,DNN的鲁棒性平均可以提高23.05%。评估结果还表明,与其他方法相比,我们的对抗性测试生成策略对DNN的常规测试数据性能的负面影响最小(中位数为3.56%)。
2021-01-20 cs.SE
Adversarial Sample Detection for Deep Neural Network through Model Mutation Testing
Singapore University of Technology and Design(新加坡科技设计大学);Zhejiang University(浙江大学)
深度神经网络(DNN)已被证明在广泛的应用中是有用的。然而,它们也容易受到对抗性样本的影响。通过用一些精心设计的人类难以察觉的扰动来转换正常样本,即使是高度准确的DNN也会做出错误的决定。已经提出了多种防御机制,旨在阻止这种对抗性样本的生成。然而,最近的一项研究表明,其中大多数是无效的。在这项工作中,我们提出了一种在运行时检测对抗样本的替代方法。我们的主要观察结果是,如果我们对DNN施加随机突变,对抗样本比正常样本更敏感。因此,我们首先提出了一个衡量的“敏感性”,并显示经验,正常样本和对抗样本具有可区分的敏感性。然后,我们整合统计假设检验和模型突变检验,通过测量其敏感性来检查输入样本在运行时是否可能是正常的或敌对的。我们在MNIST和CIFAR10数据集上评估了我们的方法。实验结果表明,该方法能够有效、准确地检测到由最先进的攻击方法生成的对抗样本。
2019-01-18 cs.LG cs.SE stat.ML
DinoDroid: Testing Android Apps Using Deep Q-Networks
对移动设备的大量需求引起了对移动应用程序(app)质量的重大关注。开发人员需要在向市场发布之前保证移动应用程序的质量。有许多方法使用不同的策略来测试移动应用程序的GUI。然而,由于其有限的有效性,它们仍然需要改进。在本文中,我们提出了DinoDroid,这是一种基于深度Q网络的方法,可以自动测试Android应用程序。DinoDroid从一组现有的应用程序中学习行为模型,学习的模型可用于探索和生成新应用程序的测试。DinoDroid能够捕获GUI事件的细粒度细节(例如,GUI小部件的内容),并将其用作输入深度神经网络的特征,深度神经网络充当引导应用探索的代理。DinoDroid在探索过程中自动适应学习的模型,而不需要任何建模策略或预定义的规则。我们对64个开源Android应用程序进行了实验。测试结果表明,DinoDroid在代码覆盖率和bug检测方面优于现有的Android测试工具。
2022-10-12 cs.SE
Graph-Based Fuzz Testing for Deep Learning Inference Engine
随着深度学习(DL)系统的广泛应用,学术界和工业界开始关注其质量。测试是质量保证的主要方法之一。然而,现有的测试技术关注DL模型的质量,但缺乏对核心底层推理引擎(即,框架和库)。受模糊测试成功案例的启发,本文设计了一种基于图的模糊测试方法来提高深度学习推理机的测试质量。DL模型的图结构自然遵循这种方法。引入了一种新的基于图论的算子级覆盖准则,并通过探索模型结构、参数和数据输入的组合,实现了六种不同的变异以生成多样化的DL模型。蒙特卡罗树搜索(MCTS)用于在没有训练过程的情况下驱动DL模型生成。实验结果表明,MCTS在提高操作符级覆盖率和检测异常方面优于随机方法。我们的方法已经发现了超过40个不同的异常,在三种类型的不期望的行为:模型转换失败,推理失败,输出比较失败。变异策略是有用的,以产生新的有效的测试输入,高达8.2%以上的运营商级的覆盖率平均和8.6以上的异常捕获。
2021-03-04 cs.SE
DeepGini: Prioritizing Massive Tests to Enhance the Robustness of Deep Neural Networks
深度神经网络(DNN)已经被部署在许多软件系统中以辅助各种分类任务。在分类方面,DNN也可能表现出不正确的行为,导致事故和损失。因此,能够检测DNN错误行为并提高DNN质量的测试技术是非常必要和关键的。然而,测试预言机,它定义了一个给定的输入正确的输出,往往是不可用的自动化测试。为了获得Oracle信息,基于DNN的系统的测试任务通常需要昂贵的人工努力来标记测试数据,这大大减慢了质量保证的过程。为了缓解这个问题,我们提出了DeepGini,这是一种基于DNN统计视角设计的测试优先级排序技术。这样的统计角度使我们能够减少测量错误分类概率的问题,测量集杂质的问题,这使我们能够快速识别可能的错误分类的测试。为了进行评估,我们对流行的数据集和流行的DNN模型进行了广泛的实证研究。实验结果表明,DeepGini在有效性和效率方面优先考虑测试方面优于现有的基于覆盖率的技术。同时,我们观察到,与基于覆盖率的技术相比,DeepGini优先考虑的前端测试在提高DNN质量方面更有效。
2020-06-15 cs.SE
Pinpointing Anomaly Events in Logs from Stability Testing -- N-Grams vs. Deep-Learning
由于稳定性测试执行日志可能很长,软件工程师需要帮助定位异常事件。我们开发并评估了两个模型,用于对单个日志事件进行评分,即N-Gram模型和具有LSTM(长短期记忆)的深度学习模型。两者都只在正常的日志序列上训练。我们评估的模型与长日志序列的Android稳定性测试在我们公司的情况下,和短日志序列的HDFS(Hadoop分布式文件系统)的公共数据集。我们评估下一个事件的预测精度和计算效率。LSTM模型在稳定性测试日志中更准确(0.848 vs 0.865),而在HDFS日志中,N-Gram稍微更准确(0.904 vs 0.900)。与Deep模型相比,N-Gram模型具有更高的计算效率(4到13秒vs 16分钟到近4小时),使其成为我们案例公司的首选。对单个日志事件的错误性进行评分似乎是对失败测试用例的根本原因分析的一个很好的帮助,我们的案例公司计划将其添加到其在线服务中。尽管最近在软件系统异常检测中使用深度学习的浪潮激增,但我们发现这样做的好处有限。然而,未来的工作应该考虑我们的发现是否适用于不同的LSTM模型超参数,其他数据集,以及其他深度学习方法,这些方法比基于LSTM的模型具有更好的准确性和计算效率。
2022-02-23 cs.SE
DeepQTest: Testing Autonomous Driving Systems with Reinforcement Learning and Real-world Weather Data
Simula Research Laboratory(西穆拉研究实验室);University of Oslo(奥斯陆大学);Kristiania University College(克里斯蒂安尼亚大学学院);Oslo Metropolitan University(奥斯陆城市大学)
针对自动驾驶系统测试场景无限、环境动态且现有方法场景真实性不足的问题,提出基于深度Q学习、融合真实天气与真实约束的DeepQTest测试方法,实验证明其在碰撞场景生成与真实性上优于基线,且碰撞时间为最优奖励函数设计。
2023-10-08 cs.AI cs.LG cs.RO
CoCoFuzzing: Testing Neural Code Models with Coverage-Guided Fuzzing
基于深度学习的代码处理模型在预测方法名称、总结程序和注释生成等任务上表现出了良好的性能。然而,尽管取得了巨大的进步,但深度学习模型往往容易受到对抗攻击,这可能会导致这些模型对意外输入的错误分类,从而严重威胁到这些模型的鲁棒性和可推广性。为了解决上述问题,已经提出了许多深度学习测试方法,然而,这些方法主要集中在测试图像、音频和文本分析等领域中的深度学习应用,由于程序的独特性质,其不能直接应用于神经模型以用于代码。在本文中,我们提出了一个基于覆盖率的模糊框架CoCoFuzzing,用于测试基于深度学习的代码处理模型。特别是,我们首先提出了十个变异算子自动生成有效的和语义保持源代码的例子作为测试,然后我们提出了一个基于神经元覆盖的方法来指导测试的生成。我们研究了CoCoFuzzing在三种最先进的神经代码模型上的性能,即,NeuralCodeSum、CODE2SEQ和CODE2VEC。我们的实验结果表明,CoCoFuzzing可以生成有效的和语义保留的源代码的例子,用于测试这些模型的鲁棒性和泛化能力,并提高神经元的覆盖率。此外,这些测试可用于通过对抗性再训练来提高目标神经代码模型的性能。
2021-06-17 cs.SE
Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
深度学习(DL)技术在许多具有挑战性的任务中被证明是有效的,并在实践中被广泛采用。然而,以前的工作表明,DL库,构建和执行DL模型的基础,包含错误,并可能导致严重的后果。不幸的是,现有的测试方法仍然不能全面地测试DL库。它们利用现有的训练模型,只在模型推理阶段检测错误。在这项工作中,我们提出松饼来解决这些问题。为此,Muffin应用了一种专门设计的模型模糊方法,该方法允许它生成不同的DL模型来探索目标库,而不是仅依赖于现有的训练模型。Muffin通过定制一组度量标准来测量不同DL库之间的不一致性,从而在模型训练阶段实现了差异测试。通过这种方式,Muffin可以最好地运用库代码来检测更多的bug。为了评估Muffin的有效性,我们对三个广泛使用的DL库进行了实验。结果表明,Muffin可以在流行的DL库的最新版本中检测到39个新错误,包括Tensorflow,CNTK和Theano。
2022-05-09 cs.SE
Metamorphic Testing of Deep Code Models: A Systematic Literature Review
Delft University of Technology(代尔夫特理工大学);JetBrains Research(JetBrains研究院)
该系统性文献综述聚焦深度代码模型的蜕变测试,通过分析45篇核心论文梳理研究现状,明确相关评估要素并提出领域挑战与未来方向。
2025-07-30 cs.AI cs.SE
Learning from the Test: Self-Referential Differential Testing for Deep RL Agents
Singapore Management University(新加坡管理大学);University of Alberta(阿尔伯塔大学)
该研究针对深度强化学习智能体的最优性评估缺口,提出Delta框架,通过两阶段差异测试,结合离线RL算法,在5个环境中平均发现2518个最优性缺陷,效果优于基线方法50.2%。
2026-08-25 cs.AI cs.LG cs.SE
Combinatorial Testing for Deep Learning Systems
Harbin Institute of Technology(哈尔滨工业大学);Nanyang Technological University(南洋理工大学);New York University Shanghai(上海纽约大学);University of Illinois at Urbana–Champaign(伊利诺伊大学厄巴纳-香槟分校);Kyushu University(九州大学)
深度学习(DL)在过去十年中取得了显著的进展,并被广泛应用于许多安全关键型应用。然而,DL系统的鲁棒性最近受到了极大的关注,例如对抗计算机视觉系统的示例,这可能会导致严重的后果。采用测试技术可以帮助评估DL系统的健壮性,从而在早期阶段发现漏洞。测试这类系统的主要挑战是它的运行时状态空间太大:如果我们将每个神经元视为DL的运行时状态,那么DL系统通常包含大量状态,几乎不可能测试每个状态。对于传统的软件来说,组合测试(CT)是一种有效的测试技术,它可以在获得较高缺陷检测能力的同时减少测试空间。在本文中,我们进行了探索性的研究CT DL系统。我们适应CT的概念,并提出了一套覆盖标准的DL系统,以及CT覆盖引导的测试生成技术。我们的评估表明,CT提供了一个很有前途的途径测试DL系统。我们进一步提出了几个开放的问题和有趣的方向DL系统的组合测试。
2018-06-20 cs.AI cs.CR cs.SE
Model-based testing in practice: An experience report from the web applications domain
在一家大型软件测试公司的背景下,我们已经部署了基于模型的测试(MBT)方法,以将公司的测试自动化实践提升到更高的成熟度和能力水平。我们从一组开源/商业MBT工具中选择了一个名为GraphWalker的开源工具,并务实地使用MBT对几个大型Web和移动应用程序进行端到端测试自动化。到目前为止,在我们的项目中,MBT方法在改进测试覆盖率(测试的路径数量)、改进测试设计实践以及改进实际故障检测有效性方面提供了各种有形和无形的好处。本经验报告(应用研究报告)的目的是基于“行动研究”,分享我们在实际工业环境中应用和评估MBT作为软件技术(技术和工具)的经验。我们的目标是通过分享我们在实践中应用MBT的行业-学术项目,我们所获得的见解以及我们迄今为止所面临和解决的挑战和问题,为MBT工业应用的经验证据做出贡献。我们讨论了行业背景的概述,提供动机,解释导致结果的事件,讨论所面临的挑战,总结结果,并总结经验教训,外卖信息和基于所述经验的实用建议。通过学习本文中的最佳实践,其他测试工程师可以在他们的测试项目中进行更成熟的MBT。
2021-04-05 cs.SE
Improving Deep Learning Framework Testing with Model-Level Metamorphic Testing
本文提出ModelMeta,一种模型级蜕变测试方法,通过四个面向模型结构的蜕变关系和QR-DQN策略生成多样化测试输入,并细粒度分析训练损失、资源使用等指标,以突破现有方法在测试输入多样性和缺陷检测范围上的局限。
2025-07-06 cs.SE
Automation Slicing and Testing for in-App Deep Learning Models
配备了应用内深度学习(DL)模型的智能应用(iApps)正在兴起,以提供稳定的DL推理服务。然而,应用程序市场在自动测试iApps方面遇到了麻烦,因为应用程序内模型是黑盒的,并且与普通代码相结合。在这项工作中,我们提出了一个自动化工具,ASTM,它可以实现大规模的应用程序模型测试。ASTM将iApps作为输入,输出可以取代应用内模型作为测试对象。ASTM提出了两种重建技术,将应用程序内模型转换为支持反向传播的版本,并重建用于DL推理的IO处理代码。在ASTM的帮助下,我们对100个独特的商业应用内模型的鲁棒性进行了大规模研究,发现56%的应用内模型在我们的环境中容易受到鲁棒性问题的影响。ASTM还检测到针对三个代表性iApp的物理攻击,这些攻击可能导致经济损失和安全问题。
2022-05-15 cs.CR cs.SE
Mobile App Crowdsourced Test Report Consistency Detection via Deep Image-and-Text Fusion Understanding
针对移动应用众包测试中报告图文不一致的问题,提出两阶段方法ReCoDe,通过深度图文融合理解检测报告一致性,在超2.2万份报告的数据集上验证有效,可提升开发者审核效率。
2023-06-12 cs.SE
MAFT: Efficient Model-Agnostic Fairness Testing for Deep Neural Networks via Zero-Order Gradient Search
East China Normal University(华东师范大学)
本文提出黑盒个体公平性测试方法MAFT,通过零阶梯度搜索、梯度估计和属性扰动等轻量级技术,在不依赖模型内部信息的情况下达到白盒方法同等效果,并在有效性和效率上大幅超越现有黑盒方法。
2024-12-28 cs.AI cs.CY cs.LG
Feature Map Testing for Deep Neural Networks
The University of Hong Kong(香港大学);Shanghai Jiao Tong University(上海交通大学);Shanghai Artificial Intelligence Laboratory(上海人工智能实验室)
针对现有深度学习测试指标侧重神经元、无法检测致错特征图的问题,本文提出从特征图层面测试DNN的DeepFeature方法,实验证明其在脆弱特征图检测、故障检测率和模糊测试效率上均优于现有技术。
2023-07-21 cs.AI cs.SE
Failure-Based Testing for Deep Reinforcement Learning Agents
Beihang University(北京航空航天大学)
针对深度强化学习智能体测试中奖励信号失效的问题,提出一种基于任务失败洞察的黑盒测试方法PRT,通过优先测试高难度任务来提升故障检测效率,在四个基准上测试成本降低超50%。
2026-07-01 cs.SE