Generalized Coverage Criteria for Combinatorial Sequence Testing
针对以动作与断言序列为测试向量的系统,提出广义序列覆盖准则、测试套件生成工具及贝叶斯风险量化框架,并实证验证其缺陷发现、风险评估与覆盖效果。
2023-10-31 cs.SE
Selectively Combining Multiple Coverage Goals in Search-Based Unit Test Generation
单元测试是软件开发过程的关键部分,确保程序中基本编程单元的正确性(例如,方法)。基于搜索的软件测试(SBST)是一种自动生成测试用例的方法。SBST通过指定覆盖标准(例如,分支覆盖)。然而,一个好的测试套件必须有不同的属性,这不能通过使用单独的覆盖标准来捕获。因此,最先进的方法结合了多个标准来生成测试用例。由于组合多个覆盖标准会带来多个优化目标,与使用单个标准相比,它会损害测试套件对某些标准的覆盖。为了解决这个问题,我们提出了一种新的方法命名为\textbf{smart selection}。智能选择算法根据各准则之间的覆盖相关性和覆盖目标之间的包容关系,选择覆盖目标的子集,以减少优化目标的数量,避免遗漏所有准则的任何属性。我们进行实验,以评估智能选择$400$ Java类与三个国家的最先进的遗传算法。平均而言,智能选择优于在$65.1\%$上组合两种方法之间具有显著差异的类的所有目标。
2022-08-08 cs.SE
Coverage Criteria for Model-Based Testing using Property Patterns
本文提出了一种基于模型的测试方法,旨在从UML/OCL模型和给定的测试属性生成测试用例。该属性使用基于模式的专用形式主义表示,并自动转换为自动机。我们提出了新的自动机覆盖标准,我们考虑的属性自动机量身定制。这些标准是基于与原始属性相关的转换的相关子集的覆盖率,旨在产生说明属性中描述的系统动态的测试用例。此外,我们建议产生测试用例,可以确保系统的鲁棒性w.r.t.属性,通过改变属性自动机,以试图引发属性禁止的事件。这种方法已被实施到一个大型的工具集,并已在工业研究项目的背景下,对现实的案例研究进行了实验。
2014-03-28 cs.SE
Understanding the Effectiveness of Coverage Criteria for Large Language Models: A Special Angle from Jailbreak Attacks
本文从越狱攻击视角评估传统覆盖率准则在LLM安全测试中的有效性,发现神经元覆盖率能区分正常与越狱查询,并据此提出实时检测、测试用例优先级排序及覆盖率引导的攻击样本生成三种应用,显著提升模型安全性。
2025-04-01 cs.SE
DJPlus: Generating minimal test suites for strong coverage criteria in graph models
İstanbul Technical University(伊斯坦布尔理工大学);University of Antwerp(安特卫普大学);Graz University of Technology(格拉茨工业大学)
DJPlus提出一种优化驱动的测试生成方法,在满足图覆盖需求的同时生成精简测试套件,通过减少冗余测试步骤显著缩短执行时间,并在四个真实系统上验证了强覆盖准则的可行性。
2026-09-09 cs.SE
Overview of Test Coverage Criteria for Test Case Generation from Finite State Machines Modelled as Directed Graphs
Czech Technical University in Prague(布拉格捷克理工大学);Karlstad University(卡尔斯塔德大学)
测试覆盖率标准是测试工程师在从被测系统模型生成测试用例时的一个基本概念。它们通常用于软件、电子或物联网(IoT)系统的用户界面、中间件和后端系统部件的测试用例生成。测试覆盖率标准定义了测试系统的动作或组合的数量,非正式地确定了测试集的潜在“强度”。由于以前没有研究总结了有限状态机的所有常用测试覆盖标准,并全面讨论了它们的包容性,等效性或非可比性,本文提供了这一概述。在这项研究中,14个最常见的测试覆盖率标准和7个通过有向图定义的有限状态机的同义词进行了总结和比较。这些结果为研究人员和行业测试工程师在设置基于软件或物联网系统的测试策略时提供了有用的概述。
2022-03-17 cs.AI cs.FL cs.SE
How effective are traditional test criteria at detecting bugs in large language models generated code?
SnT, University of Luxembourg(卢森堡大学 SnT);Luxembourg Institute of Science and Technology(卢森堡科学与技术研究院)
本研究通过实证评估5个LLM和4个基准中的6000多个故障实例,发现传统测试准则对LLM生成代码的缺陷检测率极低,变异测试优势有限,需手动推理断言。
2026-09-10 cs.SE
RACC: Representation-Aware Coverage Criteria for LLM Safety Testing
Peking University(北京大学)
本文提出RACC,一种专为LLM安全测试设计的覆盖标准,通过提取安全表示并评估测试提示的激活情况,有效提升测试套件质量,同时对冗余输入不敏感,适用于大规模神经网络的安全测试。
2026-05-12 cs.AI cs.CL cs.CR
Probabilistic Condition, Decision and Path Coverage of Circuit-based Quantum Programs
Faculty of Engineering of the University of Porto(波尔图大学工程学院);INESC-ID(葡萄牙信息与控制研究所);LASIGE, Faculty of Science of the University of Lisbon(里斯本大学理学院LASIGE)
本文提出六个量子定制的覆盖标准及其概率变体,通过QaCoCo工具评估540个电路的覆盖情况,发现路径覆盖受限,引入概率覆盖以增强结构覆盖,并通过突变测试发现故障检测与结构覆盖无显著相关性。
2026-04-29 cs.SE quant-ph
Minimal TestCase Generation for Object-Oriented Software with State Charts
今天,状态图是工业界对系统行为建模的事实标准。测试数据生成是软件测试的关键问题之一。针对基于状态的软件测试,提出了一种测试数据生成的约简方法。本文从状态图出发,导出了第一状态转移图。然后,从状态图中提取所有需要的信息。然后生成测试用例。最后,通过计算每个测试用例的节点覆盖率来最小化一组测试用例。还确定哪些测试用例被其他测试用例覆盖。我们的测试生成技术的优点是,它通过最小化时间和成本来优化测试覆盖率。该测试数据生成方案生成满足变迁路径覆盖准则、路径覆盖准则和动作覆盖准则的测试用例。最后以铁路自动售票机为例进行了分析。
2012-08-10 cs.SE
Testing Agentic Workflows with Structural Coverage Criteria
Carleton University(卡尔顿大学);Cisco Systems(思科系统)
针对多智能体工作流的结构化测试问题,提出基于类型化协调图的覆盖驱动测试方法,通过DSPy生成可执行场景,有效检测工具访问、限制和委托路径的结构性回归。
2026-05-26 cs.SE
Epic-Organized vs. Requirement-Aligned Gherkin: An Empirical Evaluation of LLM-Based Acceptance Criteria Generation
Tampere University(坦佩雷大学);University of Jyväskylä(于韦斯屈莱大学)
研究比较史诗组织与需求对齐的 LLM 生成 Gherkin 验收标准,发现史诗组织在正确性、可执行性和完整性上更优,语义覆盖率相当。
2026-07-03 cs.SE
NPC: Neuron Path Coverage via Characterizing Decision Logic of Deep Neural Networks
Singapore Management University(新加坡管理大学);Nanyang Technological University(南洋理工大学);Kyushu University(九州大学);Alibaba Group(阿里巴巴集团);Zhejiang Sci-Tech University(浙江理工大学)
深度学习最近已被广泛应用于跨不同领域的许多应用,例如,图像分类和音频识别。然而,深度神经网络(DNN)的质量在实际操作环境中仍然引起关注,这需要进行系统测试,特别是在安全关键场景中。受软件测试的启发,设计并提出了一些结构覆盖准则来衡量DNN的测试充分性。然而,由于DNN的黑盒性质,现有的结构覆盖标准很难解释,因此很难理解这些标准的基本原理。DNN的结构覆盖和决策逻辑之间的关系是未知的。此外,最近的研究进一步揭示了结构覆盖率和DNN缺陷检测之间不存在相关性,这进一步引发了对合适的DNN测试标准的关注。在本文中,我们提出了可解释的覆盖标准,通过构建DNN的决策结构。模仿传统程序的控制流图,我们首先基于其解释从DNN中提取决策图,其中决策图的路径表示DNN的决策逻辑。基于决策图的控制流和数据流,我们提出了两种不同的路径覆盖率来度量测试用例在执行决策逻辑时的充分性。路径覆盖率越高,DNN预计将探索的决策逻辑就越多样化。我们的大规模评估结果表明:决策图中的路径在表征DNN的决策方面是有效的,并且所提出的覆盖标准对包括自然错误和对抗性示例在内的错误也是敏感的,并且与输出公正性强相关。
2022-03-26 cs.CV cs.LG cs.SE
Generation and Optimization of Test cases for Object-Oriented Software Using State Chart Diagram
测试任何软件系统的过程都是一项巨大的任务,既耗时又昂贵。随着软件的规模和复杂性增加,进行充分测试所需的时间和工作量也会增加,这可能会导致项目预算超支、软件系统开发延迟或某些测试用例可能无法覆盖。在SDLC(软件开发生命周期)中,通常软件测试阶段花费大约40 - 70%的时间和成本。基于状态的测试在软件测试中经常使用。测试数据生成是软件测试的关键问题之一。正确生成的测试集不仅可以定位软件系统中的错误,而且有助于降低与软件测试相关的高成本。通常期望可以自动生成测试套件内的测试序列形式的测试数据以实现所需的测试覆盖。针对基于状态的软件测试,提出了一种测试数据生成的优化方法。本文从状态图出发,导出了第一状态转移图。然后,从状态图中提取所有需要的信息。然后生成测试用例。最后,通过计算每个测试用例的节点覆盖率来最小化一组测试用例。还确定哪些测试用例被其他测试用例覆盖。我们的测试生成技术的优点是,它通过最小化时间和成本来优化测试覆盖率。提出的测试数据生成方案生成满足变迁路径覆盖准则、路径覆盖准则和动作覆盖准则的测试用例。以自动售票机(ATM)为例进行了分析.
2012-06-02 cs.SE
Generic and Effective Specification of Structural Test Objectives
虽然已经提出了广泛的不同的,有时异构的测试覆盖标准,不存在通用的形式主义来描述它们,可用的测试自动化工具通常只支持其中的一小部分。我们引入了一个统一的规约语言,称为HTOL,提供了一个强大的通用机制来定义测试目标,它允许编码许多现有的标准,并支持他们在一个统一的方式。HTOL具有形式化的语义,可以在多个执行中表达复杂的需求(使用超标签的新概念),以及整个程序执行中的替代需求或需求。提出了一种新的分类的一大类现有的标准。最后,已实施的HTOL目标的覆盖率测量工具。初步实验表明,该方法是有效的和实用的。
2017-01-19 cs.SE
Scalable Similarity-Aware Test Suite Minimization with Reinforcement Learning
针对多准则测试套件最小化问题,提出TripRL方法,将覆盖率、故障检测能力与相似性整合进ILP并结合强化学习,实现线性可扩展,在Defects4j大型套件上47分钟内求解且保持有效性。
2025-01-15 cs.SE
Black-Box Testing of Deep Neural Networks Through Test Case Diversity
University of Ottawa(渥太华大学);École de Technologie Supérieure(高等技术学院);University of Luxembourg(卢森堡大学);General Motors(通用汽车公司)
针对白盒神经元覆盖准则可获取性受限且指导效果受质疑的问题,本文评估三种黑盒输入多样性指标,证明其中一种在故障揭示能力和计算时间上显著优于现有覆盖准则。
2023-02-06 cs.AI cs.LG cs.SE
There is Limited Correlation between Coverage and Robustness for Deep Neural Networks
Tianjin University(天津大学);Zhejiang University(浙江大学);National University of Singapore(新加坡国立大学);Singapore Management University(新加坡管理大学);Huawei Corporate(华为公司)
深度神经网络(DNN)越来越多地应用于安全关键系统,例如,用于人脸识别、自动驾驶汽车控制和恶意软件检测。它还表明,DNN受到攻击,如对抗扰动,因此必须进行适当的测试。受软件程序代码覆盖标准成功的启发,DNN的许多覆盖标准已经提出。期望是,如果DNN根据这样的覆盖标准进行了良好的测试(和重新训练),则它更有可能是健壮的。在这项工作中,我们进行了实证研究,以评估DNN的覆盖率,鲁棒性和攻击/防御指标之间的关系。我们的研究是迄今为止规模最大的,基于100个DNN模型和25个指标系统地完成。我们的一个发现是,覆盖率和鲁棒性之间的相关性有限,即,提高覆盖率无助于提高鲁棒性。我们的数据集和实现已经可以作为未来DNN测试研究的基准。
2019-11-14 cs.LG cs.SE stat.ML
Presentation Proposal: Towards Efficient Data-flow Test Data Generation Using KLEE
数据流覆盖率是白盒测试的标准之一,它关注变量定义与其使用之间的关系,一些实证研究证明了数据流测试比控制流测试更有效。然而,由于缺乏有效的工具支持,数据流测试在实践中仍然没有得到采用。为此,我们提出了一个指导符号执行的方法来有效地搜索程序路径,以满足数据流覆盖标准。我们在KLEE上实现了这种方法,并用30个程序主题进行了评估,这些程序主题是由以前的数据流测试文献、SIR、SV-COMP基准中使用的主题构建的。此外,我们正计划将数据流测试技术集成到新提出的符号执行引擎SmartUnit中,SmartUnit是一种基于云的工业软件单元测试服务,支持基于覆盖率的测试。已成功帮助国内多家知名企业和机构在实践中采用基于覆盖率的测试,累计测试了超过百万行的行业真实代码。
2019-03-19 cs.SE
Employment of Multiple Algorithms for Optimal Path-based Test Selection Strategy
在被测系统中执行各种系统功能序列是软件测试的主要技术之一。创建有效的、一致的和高效的测试序列的自然方法是对被测系统进行建模,并采用一种算法来生成满足定义的测试覆盖标准的测试。测试集最优性的几个准则可以被定义。此外,为了从经济的角度优化测试集,必须定义被测系统模型各个部分的优先级。使用这种优先级,测试用例会比那些低优先级的部分更强烈地执行被测系统的高优先级部分。从文献和我们的观察证据证实,找到一个通用的算法,产生一个最佳的测试集的所有测试覆盖率和测试集的最优性标准是一个具有挑战性的任务。此外,对于不同的个体问题实例,不同的算法提供最优结果。在本文中,我们提出了一个基于路径的策略来执行最佳的测试选择。该策略首先采用一组现有的算法生成测试集,然后,它评估每个测试集的最优性所选择的标准,最后,选择最佳的测试集。实验结果证实了该策略的有效性和实用性。对于50个被测系统模型的各个实例,不同的算法提供了最佳结果;这些结果因所需的测试覆盖水平、模型优先级部分的大小以及所选测试集最优性标准而异。
2018-02-22 cs.SE
Revisiting "Revisiting Neuron Coverage for DNN Testing: A Layer-Wise and Distribution-Aware Criterion": A Critical Review and Implications on DNN Coverage Testing
Università della Svizzera italiana(瑞士意大利语大学);King’s College London(伦敦国王学院);KAIST(韩国科学技术院)
本文对神经覆盖标准进行了批判性回顾,指出其偏离核心原则,并提出改进方向,影响DNN覆盖测试方法。
2026-01-13 cs.SE
Revisiting Neuron Coverage for DNN Testing: A Layer-Wise and Distribution-Aware Criterion
The Hong Kong University of Science and Technology(香港科技大学)
已经提出了各种深度神经网络(DNN)覆盖标准来评估DNN测试输入和引导输入突变。覆盖率通过具有某些输出的神经元或神经元输出之间的差异来表征。然而,最近的研究表明,神经元覆盖标准与测试集质量几乎没有相关性。一般来说,DNN通过合并分层来近似分布,以对输入进行预测。因此,我们支持从层的角度基于其近似分布来推断DNN行为。测试套件应使用其诱导层输出分布进行评估。因此,为了全面检查DNN行为,输入变异应该指向使近似分布多样化。本文总结了DNN覆盖标准的八个设计要求,考虑到分布特性和实际问题。然后,我们提出了一个新的标准,神经覆盖(NLC),满足所有的设计要求。NLC将单个DNN层视为基本计算单元(而不是单个神经元),并捕获神经元输出分布的四个关键属性。因此,NLC准确地描述了DNN如何通过近似分布来理解输入。我们证明,NLC是显着相关的测试套件的多样性,在一些任务(分类和生成)和数据格式(图像和文本)。它发现DNN预测错误的能力很有前途。NLC引导的测试输入变异导致暴露的错误行为的更大质量和多样性。
2022-12-16 cs.LG cs.SE
Assisted Coverage Closure
安全关键系统的故障可能对人和环境造成损害。这些系统中的软件根据特定领域的指导(如汽车安全的ISO 26262)进行了严格的设计和验证。本文介绍了学术界和工业界在工具开发方面的合作,以支持最严格的要求之一-在需求驱动的测试中实现完整的代码覆盖。我们提出了一个验证工作流支持的工具,集成了覆盖率测量工具RapiCover与测试向量生成器FShell。该工具通过为工程师提供测试向量来帮助消除覆盖率差距,这些测试向量有助于调试与覆盖率相关的代码质量问题并创建新的测试用例,以及证明代码中无法访问的部分的存在,以便根据所需的标准最终实现完全有效的覆盖率。为了说明该工具的实际效用,我们报告了该工具的应用,从汽车行业的案例研究。
2015-09-15 cs.SE
UCov: a User-Defined Coverage Criterion for Test Case Intent Verification
回归测试的目标是确保现有代码的行为不会被新的程序更改所改变。回归测试的主要焦点应该是与以下相关的代码:a)早期的bug修复; b)测试人员认为重要的特定应用程序场景。现有的覆盖标准无法实现这种重点,例如,100%的分支覆盖率并不能保证给定的bug修复得到执行,或者给定的应用程序场景得到测试。因此,需要一个补充的覆盖标准,其中用户可以定义一个测试要求,表征一个给定的行为被覆盖,而不是从一个池中选择预定义的和通用的程序元素。我们提出了UCov,一个用户定义的覆盖标准,其中的测试要求是一个执行模式的程序元素和谓词。我们提出的标准并不是要取代现有的标准,而是要补充它们,因为它将测试集中在重要的代码模式上,否则可能无法测试。UCov支持测试用例意图验证。例如,在bug修复之后,测试团队可能会用揭示bug的测试用例来增强回归套件。但是,由于与错误无关的代码修改,此测试用例可能会过时。但是,如果用户定义了表征错误的执行模式,UCov将确定测试用例意图验证失败。我们实现了我们的方法的Java平台,并将其应用到两个现实生活中的案例研究。我们的实现包括以下内容:1)一个Eclipse插件,允许用户轻松指定非平凡的测试需求; 2)交叉引用测试需求的能力,跨给定程序的后续版本;以及3)检查用户定义的测试需求是否得到满足的能力,即,测试用例意图验证。
2014-07-11 cs.SE
Regression Test Case Prioritization by Code Combinations Coverage
回归测试用例优先级排序(RTCP)旨在通过尽早执行更重要的测试用例来提高故障检测率。已经基于不同的覆盖标准提出了各种RTCP技术。其中,大多数技术利用代码覆盖率信息来指导优先级排序过程,代码单元被单独考虑,并且是孤立的。在本文中,我们提出了一个新的覆盖标准,代码组合覆盖,结合代码覆盖和组合覆盖的概念。我们将此覆盖标准应用于RTCP,作为一种新的优先级技术,基于代码组合覆盖的优先级(CCCP)。我们报告的实证研究进行比较CCCP的测试效果和效率与四个流行的RTCP技术:总,额外的,自适应随机,基于搜索的测试优先级。实验结果表明,即使最低的组合强度被分配,总体上,CCCP的故障检测率大于其他四个优先级技术。CCCP优先级的成本也被认为是可比的额外的测试优先级技术。此外,我们的研究结果还表明,当组合强度增加,CCCP提供更高的故障检测率比国家的最先进的,无论水平的代码覆盖率。
2020-07-01 cs.SE
Revisiting Deep Neural Network Test Coverage from the Test Effectiveness Perspective
本文从测试有效性视角重新审视DNN测试覆盖率,通过考虑对象多样性和多项指标验证其基本假设,发现了结构化与非结构化覆盖率的互补关系,并确定了其实际应用场景和未来研究方向。
2023-07-01 cs.SE
Testing Deep Neural Networks
University of Oxford(牛津大学);University of Liverpool(利物浦大学);Defence Science and Technology Laboratory (Dstl)(国防科学技术实验室(Dstl))
深度神经网络(DNN)具有广泛的应用,使用它们的软件必须经过彻底的测试,特别是在安全关键领域。然而,传统的软件测试覆盖度量不能直接应用于DNN。在本文中,受MC/DC覆盖标准的启发,我们提出了一系列四个新的测试标准,这些标准是针对DNN的结构特征及其语义而量身定制的。我们通过证明通过我们提出的覆盖标准指导生成的测试输入能够捕获DNN中的不期望行为来验证标准。测试用例的生成采用符号化方法和基于梯度的启发式搜索。通过将它们与现有方法进行比较,我们表明我们的标准在发现错误(使用对抗性示例进行代理)的能力和测试用例生成的计算成本之间实现了平衡。我们的实验是在使用流行的开源数据集(包括MNIST、CIFAR-10和ImageNet)获得的最先进的DNN上进行的。
2019-04-15 cs.CV cs.LG cs.SE
Random Grammar-based Testing for Covering All Non-Terminals
在软件测试的上下文中,生成复杂的数据输入经常使用基于语法的规范来执行。由于组合的原因,详尽地生成给定大小的数据实际上是不可能的,大多数方法要么基于随机技术,要么基于覆盖标准。在本文中,我们将展示如何结合这两种技术,通过偏置随机生成,以优化满足覆盖标准的概率。
2013-11-26 cs.SE
Revisiting Neuron Coverage Metrics and Quality of Deep Neural Networks
深度神经网络(DNN)已广泛应用于现代生活中,包括自动驾驶等关键领域,因此确保DNN驱动系统的可靠性和鲁棒性至关重要。作为测试传统软件的代码覆盖度量的类比,研究人员提出了神经元覆盖度量和覆盖驱动方法来生成DNN测试用例。然而,Yan等人怀疑DNN测试中现有覆盖标准的有效性。他们表明,覆盖率驱动的方法在发现缺陷和提高模型鲁棒性方面不如基于梯度的方法有效。在本文中,我们对Yan等人的工作进行了复制研究,并扩展了实验以进行更深入的分析。一个更大的模型和更高分辨率的图像数据集包括检查结果的普遍性。我们还扩展了更多的测试用例生成技术的实验,并调整了提高模型鲁棒性的过程,使其更接近DNN开发的实际生存周期。我们的实验结果证实了Yan等人的结论,即覆盖率驱动的方法不如基于梯度的方法有效。Yan等人发现,使用基于梯度的方法进行再训练不能修复覆盖率驱动方法发现的缺陷。他们将此归因于这两种类型的方法使用不同的扰动策略:基于梯度的方法执行可微变换,而覆盖率驱动的方法可以执行额外的不可微变换。我们测试了几个假设,并进一步表明,即使覆盖率驱动的方法仅限于执行可微变换,未发现的缺陷仍然不能通过基于梯度的方法的对抗训练来修复。因此,应进一步研究覆盖率驱动方法的防御策略。
2022-01-01 cs.SE
Testing with Fewer Resources: An Adaptive Approach to Performance-Aware Test Case Generation
测试用例自动生成是生成高覆盖测试集的有效技术。虽然大部分研究工作都致力于满足覆盖标准,但最近出现了优化其他非覆盖方面的趋势。在这方面,运行时和内存使用是两个基本的维度:较便宜的测试减少了生成过程和后期回归测试阶段的资源需求。这项研究表明,性能感知的测试用例生成需要解决两个主要的挑战:提供一个很好的近似的资源使用以最小的开销,并避免对最终的覆盖率和故障检测有效性的不利影响。为了应对这些挑战,我们构思了一组性能代理--受先前性能测试工作的启发--提供了测试执行成本的合理估计(即,运行时和内存使用)。因此,我们提出了一个自适应的策略,称为aDynaMOSA,它利用这些代理扩展DynaMOSA,一个国家的最先进的进化算法在单元测试。我们的实证研究--涉及110个非平凡的Java类--表明,与DynaMOSA相比,我们的自适应方法生成的测试套件在运行时(-25%)和堆内存消耗(-15%)方面有统计学上的显着改进。此外,aDynaMOSA在七个不同的覆盖标准和类似的故障检测有效性上具有与DynaMOSA相当的结果。我们的实证调查还强调了性能代理的使用(即,没有自适应性)不足以在不损害整体覆盖的情况下生成更高性能的测试用例。
2019-11-08 cs.NE cs.SE
Efficient Prime Paths Generation
Jagiellonian University(雅盖隆大学)
本文提出基于强连通分量结构特征的素路径生成方法,通过约束环枚举减少计算开销,实现高效生成可行候选路径。
2026-04-24 cs.SE
BlueCov: Integrating Test Coverage and Model Checking with JBMC
自动化测试用例生成工具帮助企业编写测试,并在进行代码更改时增加高回归测试覆盖率所提供的安全网。测试生成需要覆盖尽可能多的未覆盖代码,同时避免为现有测试套件已经覆盖的代码生成冗余测试。在本文中,我们提出了我们的工作在现实世界中的应用集成形式分析与自动测试用例生成的工具。测试用例的生成是基于使用Java有界模型检查器(JBMC)的覆盖率分析。模型检查器的反例可以转换为具有特定参数的Java方法调用。为了避免生成冗余测试,有必要以与JBMC生成其覆盖目标完全相同的方式测量覆盖率。每个现有的覆盖测量工具使用稍微不同的仪器,因此使用不同的覆盖标准。这使得与基于形式分析的测试用例生成器的集成变得困难。因此,我们开发了BlueCov作为一个特定的运行时覆盖率测量工具,它使用与JBMC完全相同的覆盖率标准。这种方法还允许增量测试用例生成,仅为先前未测试的代码生成测试覆盖率,例如,以完成现有的测试套件。
2022-12-30 cs.PL cs.SE
DeepHunter: Hunting Deep Neural Network Defects via Coverage-Guided Fuzzing
Nanyang Technological University(南洋理工大学);Harbin Institute of Technology(哈尔滨工业大学);Carnegie Mellon University(卡内基梅隆大学);University of Illinois at Urbana–Champaign(伊利诺伊大学厄巴纳-香槟分校);Kyushu University(九州大学);NVIDIA AI Technology Center(英伟达人工智能技术中心)
随着过去十年的数据爆炸,基于深度神经网络(DNN)的软件经历了前所未有的飞跃,并正在成为许多新颖工业应用的关键驱动力,包括许多安全关键场景,如自动驾驶。尽管在各种人类智能任务中取得了巨大的成功,但与传统软件类似,DNN也可能表现出由隐藏缺陷引起的不正确行为,从而导致严重的事故和损失。在本文中,我们提出了DeepHunter,一个自动化的模糊测试框架,用于搜索通用DNN的潜在缺陷。DeepHunter执行变形突变以生成新的语义保留的测试,并利用多个可插入的覆盖标准作为反馈,从不同的角度指导测试生成。为了向实际规模的DNN扩展,DeepHunter批量维护多个测试,并根据主动反馈优先选择测试。DeepHunter的有效性在3个流行的数据集(MNIST,CIFAR-10,ImageNet)和7个具有不同复杂性的DNN上进行了广泛的研究,并在6个覆盖标准作为反馈。大规模实验表明,DeepHunter可以(1)通过指导显著提高覆盖率;(2)生成有用的测试来检测错误行为,并促进DNN模型质量评估;(3)在DNN量化过程中准确捕获潜在缺陷,用于平台迁移。
2018-11-16 cs.AI cs.CR cs.LG
Guiding Deep Learning System Testing using Surprise Adequacy
深度学习(DL)系统正在安全和安全关键领域中迅速采用,迫切需要测试其正确性和鲁棒性的方法。DL系统的测试传统上依赖于手动收集和标记数据。最近,已经提出了许多基于神经元激活值的覆盖标准。这些标准基本上计算在DL系统的执行期间其激活满足某些属性(诸如高于预定义阈值)的神经元的数量。然而,现有的覆盖标准不够细粒度的捕获DL系统所表现出的微妙的行为。此外,评估的重点是显示对抗性示例和拟议标准之间的相关性,而不是评估和指导它们用于DL系统的实际测试。我们提出了一种新的测试充分性标准用于测试DL系统,称为深度学习系统(SADL)的惊喜度,这是基于DL系统相对于其训练数据的行为。我们将输入的惊喜度量为输入和训练数据之间的DL系统行为的差异(即,在训练过程中学到了什么),并随后将其发展为适当性标准:与训练数据相比,好的测试输入应该是充分的,但不是明显的令人惊讶。使用从简单图像分类器到自动驾驶汽车平台的一系列DL系统进行的实证评估表明,基于惊喜的系统化输入采样可以通过再训练将DL系统对对抗性样本的分类准确率提高77.5%。
2018-08-25 cs.NE cs.SE
Dont Stop Early: Scalable Enterprise Deep Research with Controlled Information Flow and Evidence-Aware Termination
Salesforce AI Research(Salesforce AI研究院)
本文提出了一种可扩展的企业深度研究架构EDR,通过分解请求、本地化上下文和强制证据充分性标准来解决信息覆盖不均、上下文爆炸和过早终止的问题,提升企业研究的一致性和深度。
2026-04-27 cs.CL cs.SE