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
Minimum Number of Test Paths for Prime Path and other Structural Coverage Criteria
被测软件系统可以被建模为一个由一组顶点(V)和一组边(E)组成的图。测试用例是图上满足特定测试标准的测试路径。在本文中,我们提出了一种方法,以实现最小数量的测试路径需要覆盖不同的结构覆盖标准。我们的方法可以适应总理路径,边对,简单和完整的往返,边缘和节点覆盖标准。我们的方法通过将图转化为流图并求解最小流问题来获得最优解。我们提出了一个算法的最小流问题,匹配的最佳已知的解决方案的复杂性$O(|V| |E|)$。我们的方法是通过两组测试进行评估。首先,我们测试代表实际软件的图形。在第二个测试中,我们创建不同复杂度的随机图。在每个测试中,我们测量测试路径的数量,测试路径的长度,最小测试路径数量的下限和执行时间。
2018-09-22 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
Towards Unified Combinatorial Interaction Testing
我们相信,我们可以利用组合交互测试(CIT)在许多“非传统”的组合空间使用许多“非传统”的覆盖标准的好处。然而,这需要真正灵活的CIT方法。为此,我们介绍了统一组合交互测试(U-CIT),它使从业者能够定义自己的组合空间和覆盖标准的测试,并提出了一个统一的建设方法来计算特定的U-CIT对象的实例。此外,我们认为,大多数(如果不是全部)现有的CIT对象是一个特殊的情况下,U-CIT和演示的灵活性,U-CIT在一个简单的,但现实的情况。
2016-02-21 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
Systematic Training and Testing for Machine Learning Using Combinatorial Interaction Testing
National Security Institute, Virginia Tech(弗吉尼亚理工学院国家安全研究所);The MITRE Corporation(米特雷公司)
本文演示了系统地使用组合覆盖来选择和表征机器学习模型的测试和训练集。所提出的工作适应组合交互测试,这已成功地利用在软件测试中识别故障,表征数据用于机器学习。MNIST手写数字数据用于证明组合覆盖可用于选择强调机器学习模型性能的测试集,选择导致鲁棒模型性能的训练集,以及选择用于微调模型到新领域的数据。因此,结果证明了组合覆盖作为机器学习训练和测试的整体方法。与以前的工作集中在使用覆盖方面的内部神经网络,本文认为覆盖简单的功能来自输入和输出。因此,本文解决了机器学习模型的测试和训练集的供应商对模型本身没有知识产权的情况。最后,本文解决了先前的批评组合覆盖,并提供了一个反驳,主张在机器学习应用程序中使用的覆盖度量。
2022-01-28 cs.LG cs.SE stat.ML
RACC: Representation-Aware Coverage Criteria for LLM Safety Testing
Peking University(北京大学)
本文提出RACC,一种专为LLM安全测试设计的覆盖标准,通过提取安全表示并评估测试提示的激活情况,有效提升测试套件质量,同时对冗余输入不敏感,适用于大规模神经网络的安全测试。
2026-05-12 cs.AI cs.CL cs.CR
Testing Criteria for Mobile Apps Based on Callback Sequences
应用程序质量已被证明是应用程序采用的最重要指标。为了保证质量,开发人员主要使用测试来发现应用程序中的错误,并应用结构和GUI测试覆盖标准。然而,移动应用程序的行为比GUI操作更多,例如,应用程序还处理来自传感器的事件,并通过Android API调用服务和AsyncTasks执行长时间运行的后台任务。我们的研究发现,通过回调交互的重要应用行为应该在测试中涵盖,因为回调之间的数据共享很常见,并且是许多现有错误的原因。我们设计了一系列基于回调序列的测试准则,并使用回调控制流自动机(CCFA)来测量测试的覆盖率。我们的实验表明,在我们的标准的指导下,测试可以发现更多的错误和触发错误比最先进的工具更快。
2019-11-20 cs.SE
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
Metric Learning Improves the Ability of Combinatorial Coverage Metrics to Anticipate Classification Error
National Security Institute(国家安全研究所);Virginia Tech(弗吉尼亚理工大学)
机器学习模型越来越多地用于实践。然而,许多机器学习方法对与训练数据不同的测试或操作数据敏感。众所周知,分布外(OOD)数据会增加错误的概率,并且正在研究确定数据中哪些差异会影响模型性能的指标。最近,在文献中已经探索了组合覆盖度量作为基于分布的度量的替代。结果表明,覆盖度量可以与分类错误相关。然而,其他结果表明,覆盖度量的效用是高度依赖于网络的。在本文中,我们表明,这种数据集的依赖性可以减轻度量学习,机器学习技术,学习潜在的空间,从不同的类的数据是进一步分开。在对6个开源数据集的研究中,我们发现度量学习增加了在正确和错误分类的数据上计算的集合差异覆盖度量(SDCCM)之间的差异,从而证明度量学习提高了SDCCM预测分类错误的能力。配对t检验验证了我们的研究结果的统计学意义。总体而言,我们的结论是,度量学习提高了覆盖度量预测分类器错误和识别OOD数据可能降低模型性能的能力。
2023-02-28 cs.LG cs.SE stat.ML
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
An Extensive Empirical Study on Evaluation Metrics for Combinatorial Interaction Testing
School of Computer Science and Engineering, Macau University of Science and Technology(澳门科技大学计算机科学与工程学院);Macau University of Science and Technology Zhuhai MUST Science and Technology Research Institute(澳门科技大学珠海澳门科技大学研究院);School of Information Science and Technology, Dalian Maritime University(大连海事大学信息科学与技术学院);School of Science, University of Tokyo(东京大学理学部);Department of Electrical and Computer Engineering, University of Alberta(阿尔伯塔大学电气与计算机工程系)
本研究系统综述组合交互测试的黑盒评估指标,并通过涵盖32个测试场景和295,624个测试套件的实证分析,发现值组合覆盖率(VCC)是有效的预测指标,且基于分布的指标计算成本更低,最终为从业者提供了指标选择指南。
2026-10-05 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
Design, implementation, and validation of a benchmark generator for combinatorial interaction testing tools
本文提出高度可配置的组合测试基准生成器BenCIGen,支持自定义基准类型与复杂度,经组合交互方法验证可生成贴合真实软件特征的基准,助力组合测试工具的评估与方法优化。
2023-11-06 cs.SE
Random Grammar-based Testing for Covering All Non-Terminals
在软件测试的上下文中,生成复杂的数据输入经常使用基于语法的规范来执行。由于组合的原因,详尽地生成给定大小的数据实际上是不可能的,大多数方法要么基于随机技术,要么基于覆盖标准。在本文中,我们将展示如何结合这两种技术,通过偏置随机生成,以优化满足覆盖标准的概率。
2013-11-26 cs.SE
Towards Statistical Prioritization for Software Product Lines Testing
由于要考虑的产品数量的组合爆炸,软件产品线(SPL)本质上很难测试。为了减少要测试的产品的数量,已经提出了诸如组合交互作用测试的采样技术。它们通常从特征模型开始,并应用覆盖标准(例如成对特征交互或相异性)来生成易于处理的、故障查找的待测试配置列表。优先级也可以用于排序/生成这样的列表,优化覆盖标准或分配给特征的权重。然而,目前的采样/优先级技术几乎没有考虑到产品的行为。我们探讨如何统计测试的想法,使用模型(马尔可夫链)的基础上,可以用来提取配置的兴趣,根据他们的执行的可能性。这些执行被收集在特征转换系统中,紧凑地表示SPL行为。我们讨论了可能的情况下,并给出了一个例子说明的优先顺序的程序。
2014-01-23 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
Handling Constraints in Combinatorial Interaction Testing in the presence of Multi Objective Particle Swarm and Multithreading
背景:组合测试策略最近由于其不同的应用而受到了广泛的关注。在其简单的形式中,组合策略可以基于它们的相互作用(或组合)将系统的几个输入参数(配置)减少到一个小集合中。在实践中,软件系统的输入配置受到约束,特别是在高度可配置的系统的情况下。要在策略中实现这一功能,会给构造带来许多困难。虽然现在有很多组合交互测试策略,但很少有支持约束的。目的:本文提出了一种新的策略,在存在约束条件的情况下构造组合交互测试集。方法:给出了详细的设计和算法.为了克服多个判断标准的最优解,多目标粒子群优化和多线程。该战略及其相关的算法进行了广泛的评估,使用不同的基准和比较。结果:我们的结果是有前途的评价结果显示了每个算法的效率和性能的战略。基准测试的结果也表明,该策略可以有效地生成约束测试套件相比,国家的最先进的战略。结论:该策略为约束组合交互测试集的构建提供了一种新的思路。该战略可为今后的执行工作奠定新的有效基础。
2018-04-20 cs.SE
A Practical Approach to Combinatorial Test Design
本书系统介绍组合测试设计(CTD)方法,涵盖建模、约束定义、覆盖需求及工具构建算法,并通过练习帮助读者掌握高效测试设计。
2024-10-25 cs.SE
Coverage based testing for V&V and Safety Assurance of Self-driving Autonomous Vehicles: A Systematic Literature Review
University of York(约克大学)
自动驾驶汽车(SAV)越来越受到业界和公众的关注。科技和汽车公司正在投入大量资金用于SAV的研发,以确保他们在未来的SAV市场中占据领先地位。SAV进入公共道路的主要障碍之一是公众对SAV的安全性缺乏信心。为了确保安全性,并为公众提供对SAV安全性的信心,世界各地的研究人员已经使用基于覆盖率的测试进行验证和确认(V&V)以及SAV的安全保证。本文的目的是调查的覆盖标准提出的研究人员在过去的十年中使用的覆盖最大化技术,到现在为止,以确保安全的SAVs。我们在本文中对此调查进行了系统性文献综述(SLR)。我们提出了一个分类的基础上使用的覆盖标准现有的研究。本文还提出了一些研究空白和研究方向,以使该领域的进一步研究成为可能。本文提供了一个知识体系的SAVs的安全保证领域。我们相信,这一SLR的结果将有助于V&V的进展和SAV的安全保证。
2021-03-07 cs.AI cs.RO cs.SE
Can Pairwise Testing Perform Comparably to Manually Handcrafted Testing Carried Out by Industrial Engineers?
测试是工业软件工程中的一项重要活动。对于这样的软件,测试通常是手动执行的手工制作测试套件的基础上特定的设计技术和特定领域的经验。为了支持开发人员进行测试,已经提出了不同的方法来生成良好的测试套件。在过去的几年中,组合测试已经被探索,其目标是基于一定的策略自动组合软件的输入值。成对测试是一种组合技术,用于通过改变系统的每对输入参数的值直到创建这些参数的所有可能组合来生成测试套件。有一些证据表明,这类技术是有效的,相对较好地检测软件故障。不幸的是,几乎没有实验证据的比较,这些组合测试技术,被认为是严格的手工制作的测试。在这项研究中,我们比较成对的测试套件与手动创建的测试套件的工程师为45个工业程序。测试套件进行了评价的故障检测,代码覆盖率和测试数量。这项研究的结果表明,成对测试,而实现高代码覆盖率和故障检测的大多数程序是有用的,几乎是有效的手动测试在故障检测方面。结果还表明,在64%的程序中,成对测试在故障检测方面与手动测试一样好。
2017-06-06 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
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
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
STADA: Specification-based Testing for Autonomous Driving Agents
STADA是一种基于规范的自动驾驶代理测试生成框架,通过形式规范生成多样化的测试场景,提高测试覆盖率并减少模拟次数。
2026-03-11 cs.RO cs.SE
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
Quantitative Projection Coverage for Testing ML-enabled Autonomous Systems
fortiss - Landesforschungsinstitut des Freistaats Bayern(巴伐利亚自由州州立研究所fortiss);DENSO CORPORATION(电装公司)
系统地测试从神经网络学习的模型仍然是一个关键的未解决的障碍,以成功证明使用数据驱动方法设计的自动驾驶汽车的安全性。我们提出了定量的k-投影覆盖作为一个度量调解组合爆炸,同时指导数据采样过程。通过假设领域专家提出很大程度上独立的环境条件,并通过将每个条件中的元素与权重相关联,这些条件的乘积形成场景,并且可以将与每个等价类相关联的权重解释为相对重要性。实现全k-投影覆盖要求数据集在被投影到由任意选择的k-条件形成的超平面时,以不少于相关联的权重的数据点的数量覆盖每个类。对于场景组合受规则约束的一般情况,精确计算k-投影覆盖率仍然在NP中。在寻找最小的测试用例,以实现全覆盖方面,我们提出了理论上的复杂性的重要子情况和编码为0-1整数规划。我们已经实现了一个研究原型,生成自动驾驶中的视觉对象检测单元的测试用例,证明了我们提出的覆盖标准的技术可行性。
2018-05-11 cs.LG cs.SE
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
Prompt Coverage Adequacy
SnT, University of Luxembourg(斯蒂尔夫研究所,卢森堡大学);University College London(伦敦大学学院);University of Luxembourg(卢森堡大学)
提出提示覆盖充分性标准,通过注意力机制衡量测试套件对提示需求的覆盖,相比传统代码覆盖能多检测30%以上缺陷。
2026-07-03 cs.AI cs.SE
LeCov: Multi-level Testing Criteria for Large Language Models
University of Alberta(阿尔伯塔大学);The University of Tokyo(东京大学);New York University(纽约大学)
针对LLMs缺乏系统测试准则的问题,提出多级测试准则LeCov,覆盖注意力、前馈神经元和不确定性,经实验验证有效。
2024-08-20 cs.AI cs.CL cs.CR
Towards Improved Testing For Deep Learning
University of Virginia(弗吉尼亚大学)
深度神经网络在安全关键型应用中的使用越来越多,这使得有必要在实际使用之前进行充分的测试,以检测和纠正极端情况输入的任何不正确行为。深度神经网络缺乏显式的控制流结构,因此无法对其应用传统的软件测试标准,如代码覆盖率。在本文中,我们研究了深度神经网络的现有测试方法,改进的机会以及对快速,可扩展,可推广的端到端测试方法的需求。我们还提出了一个深度神经网络的覆盖标准,试图捕捉深度神经网络逻辑的所有可能部分。
2019-02-17 cs.LG cs.SE
Automated Requirements-Based Testing of Black-Box Reactive Systems
我们提出了一种新的方法来一致性测试的黑盒反应式系统。我们认为系统规范的线性时序逻辑公式,以生成测试的输入/输出对序列:输入提取的Buchi自动机对应的规格,并通过馈送输入到系统的输出。通过将输入/输出序列与自动机跟踪进行比较来检测是否违反规范,从而检查是否符合规范。我们认为提取测试和停止生成的几个标准,我们比较实验使用的覆盖率和错误检测指标。结果表明,该方法可以生成具有良好的系统覆盖率和错误检测能力的测试集。
2020-05-14 cs.LO cs.SE
Effective Black Box Testing of Sentiment Analysis Classification Networks
College of Engineering, Department of Electrical;Computer Engineering University of Tehran, Tehran, Iran Email: 1 , 2 , 3
本文提出针对Transformer情感分析网络的黑盒测试覆盖准则,利用输入空间划分与k-投影度量生成测试用例,实验表明测试覆盖率平均提高16%,模型准确率下降6.5%,有效识别了系统漏洞。
2024-07-30 cs.AI cs.CL cs.SE