QCRMut: Quantum Circuit Random Mutant generator tool
Universidad Complutense de Madrid(马德里康普顿斯大学)
提出QCRMut工具,通过不可变位置保留电路结构并生成随机变异体,在稳定Qiskit版本上实现高效、代表性的变异测试,与穷举变异相比得分相当且更稳定。
2026-06-09 cs.SE
Automated Vulnerability Injection in Solidity Smart Contracts: A Mutation-Based Approach for Benchmark Development
本研究提出基于突变注入的MuSe工具,自动向Solidity智能合约注入六种漏洞以生成基准,并用Slither验证,发现注入率因漏洞而异且静态分析工具检测不全,凸显了改进检测评估的需求。
2025-04-22 cs.SE
Discovering Flaws in Security-Focused Static Analysis Tools for Android using Systematic Mutation
移动应用安全是近十年来安全研究的主要领域之一。已经提出了许多应用程序分析工具来响应恶意,好奇或易受攻击的应用程序。然而,现有的工具,特别是静态分析工具,用分析的可靠性换取精确度和性能,因此是可靠的。不幸的是,这些工具设计中的具体错误选择或缺陷通常不为人知或没有很好的记录,导致研究人员,开发人员和用户之间的错误信心。本文提出了基于突变的可靠性评估($μ$ SE)框架,该框架利用突变分析的良好实践,系统地评估Android静态分析工具,以发现、记录和修复缺陷。我们将$μ$ SE实现为一个半自动化框架,并将其应用于一组突出的Android静态分析工具,这些工具可以检测应用程序中的私有数据泄漏。作为对主要工具之一的深入分析的结果,我们发现了13个未记录的缺陷。更重要的是,我们发现所有13个缺陷都传播到继承有缺陷工具的工具。我们与工具开发人员合作成功修复了其中一个缺陷。我们的研究结果激发了对系统发现和记录可靠工具中不可靠选择的迫切需求,并展示了利用突变测试实现这一目标的机会。
2018-06-27 cs.CR cs.SE
A Mutation Framework for Evaluating Security Analysis tools in IoT Applications
随着物联网(IoT)在我们日常生活中的广泛应用,其安全性变得更加重要。为了确保信息安全,我们需要更好的物联网应用安全分析工具。因此,本文提出了一个自动化框架来评估物联网应用领域的污染流分析工具。首先,我们提出了一组突变算子,专门用于评估三种类型的敏感性分析,流,路径和上下文敏感性。然后我们开发了突变器来自动生成这些类型的突变体。我们展示了一个子集的突变算子的框架,以评估三个污染流分析,SaINT,Taint-Things和FlowsMiner。我们的框架和实验根据查准率和查全率对污染分析工具进行了排名,如下:Taint-Things(99%查准率,100%查准率),FlowsMiner(100%查准率,87.6%查准率)和SaINT(100%查准率,56.8%查准率)。据我们所知,我们的框架是第一个满足评估污染流分析工具需求的框架,特别是那些为物联网SmartThings应用开发的工具。
2021-10-11 cs.CR cs.SE
PITMuS: A Tool for Automated Bug Dataset Generation via Source-Level Mutant Reconstruction
University of Texas at Dallas(德克萨斯大学达拉斯分校)
本文提出PITMuS工具,通过源级变异体重建生成自动化bug数据集,解决现有工具生成的变异体难以复现和利用的问题,为bug定位和修复技术提供结构化数据支持。
2026-08-04 cs.SE
MutaBot: A Mutation Testing Approach for Chatbots
University of Milano-Bicocca(米兰比可卡大学)
本文提出面向对话式聊天机器人的变异测试工具 MutaBot,支持对话流、意图和上下文层级变异及 Dialogflow 平台,并通过三个机器人和 Botium 测试用例验证其可发现测试套件弱点。
2024-01-18 cs.AI cs.SE
LittleDarwin: a Feature-Rich and Extensible Mutation Testing Framework for Large and Complex Java Systems
变异测试是一种被广泛研究的提高测试套件质量的方法。我们设计LittleDarwin作为一个突变测试框架,能够应付大型和复杂的Java软件系统,同时仍然很容易扩展新的实验组件。LittleDarwin解决了突变测试领域中存在的两个问题:拥有一个能够在工业环境中工作的工具,并且可以扩展学术界提供的尖端技术。LittleDarwin已经提供了高阶突变、空型突变体、突变体采样、手动突变和突变体包容分析。目前还没有一款工具具备所有这些功能,能够与典型的工业软件系统一起工作。
2017-07-04 cs.SE
SuMo: A Mutation Testing Strategy for Solidity Smart Contracts
智能合约是在区块链基础设施中部署和执行的软件程序。由于其不可变的性质,直接由部署基础设施的特定特征导致,智能合约必须在发布之前进行彻底的测试。测试是有助于提高智能合约可靠性的主要活动之一,从而可能防止大量有价值资产的损失。因此,重要的是为测试人员提供允许他们评估他们执行的活动的工具。变异测试是评估测试集故障检测能力的一种有效方法。在本文中,我们提出了SuMo,一种用于以太坊智能合约的新型突变测试工具。SuMo实现了一组44个突变操作符,这些操作符是从最新的Solidity文档和著名的突变测试工具开始设计的。这些允许模拟智能合约开发人员可以制造的各种故障。这组操作符旨在限制死产突变体的生成,这会减慢突变测试过程并限制工具的可用性。我们报告的第一次评估SuMo的开源项目的测试套件。我们得到的结果是令人鼓舞的,它们表明SuMo可以有效地帮助开发人员提供更可靠的智能合约。
2021-05-08 cs.SE
A Declarative Framework for Hand-Crafted Mutation Analysis and Management
University of Maryland, College Park(马里兰大学帕克分校)
本文提出了一种声明式框架,用于管理和分析手工变异,通过定义多种变异表示和代数,提升变异实验的效率和表达性。
2026-03-07 cs.SE
Cloud-Based Distributed Mutation Analysis
突变测试是一种基于故障的软件测试技术,对于工业应用来说,它的计算成本太高。基于云的分布式计算集群利用MapReduce编程范式,代表了一种可以减少长运行时间的方法。在本文中,我们描述了这样一个基于云的分布式突变测试系统的体系结构和原型实现。为了评估系统,我们比较了性能的原型,不同的集群大小,现有的“国家的最先进的”非分布式工具,PiT。我们还分析了不同的工作分配方法,以确定如何最有效地划分突变分析任务。我们的工具优于PiT,结果分析显示,有机会进一步大幅提高性能。
2016-01-28 cs.SE
A Novel Mutation Based Method for Detecting FPGA Logic Synthesis Tool Bugs
本文提出VERMEI方法,通过僵尸逻辑识别、等价变异生成和差分测试三个模块自动检测FPGA逻辑综合工具缺陷,在Yosys、Vivado和Quartus上验证优于现有方法,五个月内报告15个缺陷,其中9个为新缺陷。
2025-08-21 cs.SE
Mutation-based Fault Localization of Deep Neural Networks
Iowa State University(爱荷华州立大学)
本文提出一种名为deepmufl的基于变异的深度神经网络故障定位新技术,在109个StackOverflow漏洞测试中检测出53个,优于现有方法,并通过变异选择将定位时间减半且仅损失7.55%的top-1定位率。
2023-09-10 cs.LG cs.SE
Descartes: A PITest Engine to Detect Pseudo-Tested Methods - Tool Demonstration
Descartes是一个实现极端变异操作符的工具,旨在寻找Java项目中的伪测试方法。它利用了PIT的高效转换和运行时特性。该演示在一组真正的开源项目中比较了Descartes和PIT提供的默认突变引擎Gregor。它考虑了执行时间,创建的突变体数量以及两个引擎产生的突变分数之间的关系。它提供了有关笛卡尔揭示的主要特征的一些见解。
2018-11-07 cs.SE
MOTIF: A tool for Mutation Testing with Fuzzing
MOTIF利用灰盒模糊测试生成C语言单元测试用例,克服了符号执行的局限性,能有效检测变异体中的注入故障,在安全关键CPS软件测试中表现更优。
2024-06-04 cs.SE
MASC: A Tool for Mutation-Based Evaluation of Static Crypto-API Misuse Detectors
本文提出MASC工具,通过12个变异算子和三种变异范围生成加密API误用变体,用于评估静态加密API误用检测器,并在九个主流检测器中发现19个未记录缺陷。
2023-08-13 cs.CR cs.SE
Semantic-Preserving Transformations as Mutation Operators: A Study on Their Effectiveness in Defect Detection
Simula Research Laboratory(西穆拉研究院)
本研究探讨在测试阶段使用语义保持变换作为变异算子来提升缺陷检测工具性能的可行性,发现复用现有共享变换困难且未能提高模型准确率。
2025-03-30 cs.AI cs.CL cs.LG
The Inversive Relationship Between Bugs and Patches: An Empirical Study
软件缺陷是开发人员一直关注的问题,修补这些缺陷需要通过复杂的操作花费相当大的成本。相比之下,引入bug可能是一项毫不费力的工作,因为即使是一个简单的突变也可以很容易地破坏被测程序(PUT)。现有的研究已经考虑了这两个对立的活动在很大程度上分开,要么试图自动生成现实的补丁,以帮助开发人员,或找到现实的错误,以模拟和防止未来的缺陷。尽管它们之间有根本的差异,但是,我们假设当简单地考虑代码更改时,它们在语法上并没有彼此不同。为了系统地研究这一假设,我们研究了补丁和错误提交之间的关系,手动和自动生成,使用聚类和模式分析。一个大规模的实证评估表明,高达70%的补丁和故障可以聚集在一起的词汇模式之间的相似性的基础上,进一步,44%的代码更改可以抽象成相同的变化模式。此外,我们调查是否代码变异工具可以被用作自动程序修复(APR)工具,和APR工具作为代码变异工具。在这两种情况下,突变和APR工具的反向使用可以表现得令人惊讶地好,甚至更好,当与它们最初的预期用途相比时。例如,基于深度学习的APR工具SequenceR发现的89%的补丁也可以通过其反演来发现,即,用错误而不是补丁训练的模型。同样,真正的故障耦合突变体的研究表明,TBar,基于模板的APR工具,可以产生14%和3%以上的故障耦合比传统的突变工具,PIT和主要,分别作为一个突变工具。
2023-03-01 cs.SE
Hybrid Fault-Driven Mutation Testing for Python
Simon Fraser University(西蒙菲莎大学);University of Ottawa(渥太华大学)
本文提出了一种基于静态和动态分析混合技术的Python变异测试方法,通过七种新的变异算子生成补充现有工具的变异体,提高测试覆盖率和发现缺陷的能力。
2026-07-22 cs.SE
Mull it over: mutation testing based on LLVM
本文介绍了Mull,一个基于LLVM框架的开源突变测试工具。Mull使用LLVM IR(一种低级中间表示)来执行变化,并使用LLVM JIT进行即时编译。这种设计选择实现了Mull的以下两个功能:语言独立性和对测试程序及其变化的编译和执行的细粒度控制。Mull可以使用任何支持编译到LLVM IR的程序设计语言编写的代码,例如C、C++、Rust或Swift。LLVM IR的直接操作允许Mull做更少的工作来生成突变:只有修改过的IR代码片段被重新编译,这导致了对突变程序的更快处理。据我们所知,没有现有的突变测试工具提供这些功能的编译程序设计语言。我们描述了Mull的算法和实现细节,突出了Mull当前的局限性,并提出了我们对真实世界的项目,如RODOS,OpenSSL,LLVM的Mull的评估结果。
2019-08-05 cs.SE
Keeping Mutation Test Suites Consistent and Relevant with Long-Standing Mutants
突变测试已经被证明是测试人员工具包中最强大的故障揭示工具之一。许多以前的工作隐含地假设它足以重新计算每个版本的突变套件。可悲的是,这使得突变结果不一致;每个版本的突变分数不能直接比较,这使得更难衡量测试的改进。此外,定期的代码更改意味着突变套件的相关性会随着时间的推移而自然降低。我们测量了4个非平凡系统中143,500个突变体的相关性,发现在过量时,52%降解。我们引入了突变脆性的措施,并使用它来审计软件系统和他们的突变套件。我们还演示了如何一致的建设长期存在的突变体套件可以确定一个任意的测试套件的突变体相关性的10倍的改善。我们的研究结果表明,研究界应避免重新计算突变体套件和重点,而是长期存在的突变体,从而提高突变测试的一致性和相关性。
2022-12-22 cs.SE
LLMorpheus: Mutation Testing using Large Language Models
本文提出基于大型语言模型的变异测试技术 LLMorpheus,通过在源代码指定位置引入占位符并提示 LLM 生成替换内容,克服了传统固定变异算子难以模拟真实漏洞的局限,并能生成 StrykerJS 无法生成的变异体,证明了其实用性。
2025-03-07 cs.SE
MutDafny: A Mutation-Based Approach to Assess Dafny Specifications
INESC TEC, Faculdade de Engenharia, Universidade do Porto(波尔图大学工程学院);Faculdade de Engenharia, Universidade do Porto & LASIGE, Universidade de Lisboa(波尔图大学工程学院)
本文提出MutDafny工具,通过变异测试揭示Dafny规格中的缺陷,分析了40种变异算子,评估了794个真实Dafny程序,发现5个需要加强的弱规格。
2026-04-12 cs.PL cs.SE
TRANSMUT-SPARK: Transformation Mutation for Apache Spark
我们提出了TRANSMUT-Spark,这是一种自动化Spark程序中大数据处理代码的突变测试过程的工具。Apache Spark是一个大数据处理引擎。它通过内置函数、底层并行流程和数据管理策略隐藏了大数据并行和分布式编程和处理固有的复杂性。尽管如此,程序员必须在程序中巧妙地结合这些功能,并指导引擎使用正确的数据管理策略,以利用大数据处理所需的大量计算资源,避免大量的生产损失。Spark程序中的数据处理代码中的许多编程细节都容易出现错误语句,需要进行正确和自动测试。本文探讨了变异测试在Spark程序中的应用,这是一种基于故障的测试技术,它依赖于故障模拟来评估和设计测试集。本文介绍了用于测试Spark程序的TRANSMUT-Spark解决方案。TRANSMUT-Spark自动化过程中最费力的步骤,并完全执行突变测试过程。本文介绍了该工具如何自动化的突变体生成,测试执行,充分性分析阶段的突变测试与TRANSMUT-Spark。它还讨论了为验证该工具而进行的实验结果,以论证其范围和局限性。
2021-08-05 cs.DC cs.SE
On Accelerating Deep Neural Network Mutation Analysis by Neuron and Mutant Clustering
Auburn University(奥本大学)
提出DEEPMAACC工具,通过神经元聚类和突变体聚类加速DNN变异分析,在保持变异得分的同时分别提速69.77%和35.31%,验证了速度与精度间的权衡。
2025-01-22 cs.LG cs.NE cs.SE
Mutation Testing with Hyperproperties
提出了一种基于模型的变异驱动测试用例生成方法。通过对被测系统的模型或源代码进行小的语法修改来生成突变体。如果在运行测试时,突变体的行为偏离了原始系统,则测试用例会杀死该突变体。在这项工作中,我们使用hyperproperties-它允许表达多个执行之间的关系-正式确定性和非确定性模型的杀戮的不同概念。由此产生的超性质是普遍的,因为它们适用于任意的反应模型和突变体。此外,一个现成的超属性模型检验工具可以用来生成测试用例。我们评估我们的方法在两种不同的建模语言表示的模型数量生成测试使用一个国家的最先进的突变测试工具。
2019-07-17 cs.LO cs.SE
SN4KE: Practical Mutation Testing at Binary Level
变异分析是一种有效的技术,以评估测试套件的充分性,揭示不可预见的软件错误。传统的源或IR级突变分析不适用于仅以二进制格式提供的软件。本文提出了一个实用的二进制变异分析,通过二进制重写,随着丰富的变异算子,以代表更现实的错误。我们实现了我们的方法,使用两个国家的最先进的二进制重写工具,并评估其有效性和可扩展性,通过将它们应用到SPEC CPU基准测试。我们的分析表明,更丰富的突变算子有助于产生更多样化的突变体,这与以前的作品相比,导致更高的突变得分的测试线束。我们还得出结论,realizable反汇编重写产生更好的可扩展性相比,提升到一个中间表示,并执行一个完整的翻译。
2021-02-13 cs.CR cs.SE
DeepMetis: Augmenting a Deep Learning Test Set to Increase its Mutation Score
Università della Svizzera Italiana(瑞士意大利语大学)
深度学习(DL)组件通常集成到需要执行复杂任务(如图像或自然语言处理)的软件系统中。用于测试此类系统的测试数据的充分性可通过其暴露模拟真实DL故障的人工注入故障(突变)的能力来评估。在本文中,我们描述了一种方法来自动生成新的测试输入,可用于增加现有的测试集,使其检测DL突变的能力增加。我们的工具DeepMetis实现了基于搜索的输入生成策略。为了解释训练和变异过程的非确定性,我们的适应度函数涉及测试中的DL模型的多个实例。实验结果表明,\tool是有效的,在增加给定的测试集,提高了63%的平均能力,以检测突变。一个留一法实验表明,增强的测试集是能够暴露看不见的突变体,模拟尚未检测到的故障的发生。
2021-09-15 cs.AI cs.SE
An Energy-aware Mutation Testing Framework for EAST-ADL Architectural Models
嵌入式系统的早期设计工件,如体系结构模型,表示方便的抽象推理系统的结构和功能。一个这样的例子是电子架构和软件工具-架构描述语言(EAST-ADL),一种针对汽车行业的特定领域架构语言。EAST-ADL用于表示硬件和软件元素,以及相关的功能外信息(例如,定时属性、触发信息、资源消耗)。建筑模型的测试是大规模工业系统工程中的一项重要活动,引起了越来越多的研究兴趣。本文的主要贡献是:(i)为EAST-ADL架构模型创建能量相关突变体的方法,(ii)克服等效突变问题的方法(即,的问题,找到一个测试用例,它可以区分从原来的一个突变体的可观察的行为),(iii)一个测试生成方法的基础上UPPAAL统计模型(SMC),和(iv)一个测试选择标准的基础上突变分析使用我们的MATS工具。
2018-02-04 cs.SE
Simulink Mutation Testing using CodeBERT
本研究提出利用CodeBERT生成Simulink模型变异体的BERTiMuS方法,经工业基准测试验证,该方法可生成文献记载的变异模式,与现有工具FIM互补且在需求感知变异测试中表现更优。
2025-01-13 cs.SE
Mutation Testing Optimisations using the Clang Front-end
变异测试是评估测试集故障检测能力的最新技术。不幸的是,一个完整的突变分析往往是昂贵的。例如,CppCheck项目在我们的台式计算机上需要5.8分钟的构建时间和17秒的测试执行时间。对55,000个生成的突变体进行未优化的突变分析总共花费了11.8天,其中4.3天用于(重新)编译项目。在本文中,我们提出了一个可行性研究,调查如何一些优化策略可以实施的Clang前端。这些优化策略允许消除编译和执行开销,以支持C语言家族的有效突变测试。我们提供了一个概念验证工具,可以实现2倍到30倍的加速。我们对优化引起的加速进行了详细的分析,详细阐述了经验教训,并指出了进一步改进的途径。
2022-10-31 cs.SE
Enabling Mutation Testing for Android Apps
变异测试已被广泛用于评估测试套件的故障检测有效性,以及指导测试用例生成或优先级排序。经验研究表明,虽然突变体通常代表真实故障,但突变测试的有效应用需要为程序设计语言设计的“传统”运算符用特定于应用领域和/或技术的运算符来扩充。本文提出了MDroid+,一个有效的Android应用程序的突变测试框架。首先,我们通过手动分析来自不同来源的2,023个软件工件(例如,错误报告、提交)。然后,我们确定了一组38个变异算子,并实现了一个基础设施,用其中的35个算子在Android应用程序中自动播种变异。的分类和建议的运营商进行了评估方面的死产/平凡的突变体产生和他们的能力,代表真正的故障在Android应用程序中,相比其他众所周知的突变工具。
2017-08-01 cs.SE
An Empirical Evaluation of Manually Created Equivalent Mutants
本研究针对变异测试中等价变异体的人工生成与识别问题,在Code Defenders游戏场景下开展实证研究,发现人工生成变异体的等价率不足10%,且多数开发者难以准确识别等价变异体,凸显了优化检测机制和开展相关培训的必要性。
2024-04-14 cs.SE
A Probabilistic Framework for Mutation Testing in Deep Neural Networks
Polytechnique Montreal(蒙特利尔理工学院)
背景:突变测试(MT)是传统软件工程(SE)白盒测试的重要工具。它的目的是人为地在系统中注入故障,以评估测试套件的能力,以检测他们,假设测试套件的缺陷发现能力,然后将转换为真正的故障。如果说MT长期以来一直用于SE,那么直到最近它才开始引起深度学习(DL)社区的关注,研究人员对其进行了调整,以提高DL模型的可测试性并提高DL系统的可信度。目的:如果有几种技术已经提出了MT,他们中的大多数人忽略了固有的随机性DL导致的训练阶段。即使是DL中最新的MT方法,它建议通过统计方法来处理MT,也可能给出不一致的结果。事实上,由于它们的统计数据是基于一组固定的采样训练实例,因此当结果对于任何实例都应该是一致的时,它可能会导致不同实例集的结果不同。研究方法:在这项工作中,我们提出了一个概率突变测试(PMT)的方法,解决了不一致的问题,并允许一个更一致的决定是否杀死突变或不。结果如下:我们表明,PMT有效地允许一个更一致和明智的决定突变通过评估使用三种模型和8个突变算子在以前提出的MT方法。我们还分析了近似误差和我们的方法的成本之间的权衡,显示相对较小的误差可以实现一个可控的成本。结论:我们的研究结果显示了DNN中当前MT实践的局限性,需要重新思考。我们认为PMT是朝着这个方向迈出的第一步,它有效地消除了DNN训练的随机性导致的先前方法测试执行之间缺乏一致性的问题。
2022-08-11 cs.LG cs.SE
What Bugs Do Prolog Students Write? An Empirical Taxonomy and Data-Driven Mutation Framework
INESC-ID / IST, Universidade de Lisboa(里斯本大学);Artificial Intelligence Research Institute, Consejo Superior de Investigaciones Científicas(西班牙国家研究委员会人工智能研究所);Carnegie Mellon University(卡内基梅隆大学)
研究Prolog学生编写的错误类型,通过对7201份提交人工分类得出细粒度分类法,据此开发数据驱动的LogMorph变异工具,其操作符加权,评估显示合成错误分布与学生分布匹配,指出残留差异来源及改进方向。
2026-07-24 cs.LO cs.SE
Mutation-driven Test Case Generation Using Short-lived Concurrent Mutants -- First Results
在黑盒测试的背景下,通过模型变异生成测试用例可以产生强大的测试套件,但通常具有昂贵的缺点。本文提出了一个新版本的工具MoMuT::UML(www.momut.org),它实现了一个可扩展版本的突变驱动的测试用例生成(MDTCG)。它能够处理工业规模的UML模型,包括网络,例如,2800个交互状态机。为了实现所需的可扩展性,实现的算法利用MDTCG中的并发性,并将其与基于搜索的生成策略相结合。为了进行评估,我们使用七个不同的应用领域的案例研究,难度越来越大,停在奥地利国家铁路网的火车站模型。
2016-12-21 cs.SE
Mutation-Guided Unit Test Generation with a Large Language Model
University of Limerick(利默里克大学);Research Ireland Lero Centre for Software, University of Limerick(爱尔兰研究莱罗软件中心,利默里克大学);University of Ottawa(渥太华大学);Software Engineering Application Technology Lab Huawei(华为软件工程应用技术实验室)
本文提出MUTGEN方法,利用突变反馈提升测试覆盖率,优于EvoSuite和传统提示方法,在突变分数上表现更优,并探讨了LLM生成的局限性。
2026-04-15 cs.SE
Search-Based Generation of Undetected Quantum Circuit Mutants
Simula Research Laboratory(Simula研究实验室);Oslo Metropolitan University(奥斯陆城市大学);Trinity College Dublin, School of Computer Science and Statistics(都柏林三一学院计算机科学与统计学院);National Institute of Informatics(信息学研究所)
针对现有量子变异分析工具生成的变异体易检测的问题,提出QUMUG方法,通过搜索算法生成更具挑战性的未被检测的量子电路变异体,提升测试套件评估效果。
2026-08-11 cs.SE
muPRL: A Mutation Testing Pipeline for Deep Reinforcement Learning based on Real Faults
本文提出了muPRL,一个基于真实故障的深度强化学习变异测试流水线,通过代码库挖掘构建真实RL故障分类体系并推导出变异算子,实验证明其能有效区分强弱测试生成器,为开发者提供测试场景充分性的反馈。
2024-08-27 cs.SE
What Are We Really Testing in Mutation Testing for Machine Learning? A Critical Reflection
变异测试是一种成熟的技术,用于通过将人工错误注入到生产代码中来评估测试套件的质量。近年来,突变测试已经扩展到机器学习(ML)系统,特别是深度学习(DL);研究人员已经提出了方法,工具和统计上合理的方法来确定DL系统中的突变体是否被杀死。然而,正如我们将在这项工作中讨论的那样,可以提出的问题是,目前在DL中使用的突变测试技术在多大程度上实际上符合突变测试的经典解释。我们观察到ML模型开发类似于测试驱动的开发(TDD)过程,其中训练算法(“程序员”)生成一个模型(程序),该模型将数据点(测试数据)拟合到标签(隐式断言),直到某个阈值。然而,考虑到在这种TDD隐喻下提出的ML系统的突变测试技术,在当前的方法中,生产代码和测试代码之间的区别是模糊的,并且突变操作符的现实性可能受到挑战。我们还考虑了经典突变测试的基本假设:有能力的程序员假设和耦合效应假设。正如我们将要说明的那样,这些假设并不能简单地转化为ML系统开发,需要更有意识和明确的范围和概念映射才能真正得出相似之处。根据我们的观察,我们提出了几个行动点,以便更好地将ML的突变测试技术与经典突变测试的范式和词汇表对齐。
2021-03-01 cs.SE
VATS: Exploiting Implicit Authority in Error-Path Injection via Systematic Mutation
Harshil Patel;Kunal Pai
提出VATS框架,通过七维变异生成对抗性负载,利用错误消息的隐式权威绕过安全机制,在四个前沿模型上实现高达100%的注入成功率。
2026-06-06 cs.AI cs.CR cs.SE
Code Generation Tools (Almost) for Free? A Study of Few-Shot, Pre-Trained Language Models on Code
University of Stuttgart(斯图加特大学);Federal University of Pernambuco(伯南布哥联邦大学)
使用大规模预训练的语言模型进行少样本学习是回答有关代码问题的强大方法,例如,如何完成给定的代码示例,甚至从头开始生成代码段。这些模型的成功提出了一个问题,即它们是否可以作为构建广泛的代码生成工具的基础。传统上,这些工具是为每个任务单独手动构建的。相反,少样本学习可以允许通过简单地提供预期工具行为的几个示例或自然语言描述来从单个预训练的语言模型获得不同的工具。本文研究在何种程度上的国家的最先进的,预先训练的语言模型的代码,法典,可以服务于这一目的。我们考虑三个代码操作和代码生成任务的目标范围内的传统工具:(i)代码突变;(ii)测试甲骨文生成自然语言文档;(iii)测试用例生成。对于每个任务,我们将少样本学习与手动构建的工具进行比较。我们的研究结果表明,基于模型的工具的补充(代码突变),在标准杆(测试预言生成),甚至优于各自的传统构建的工具(测试用例生成),而施加更少的努力来开发它们。通过比较基于模型的工具的不同变体的有效性,我们提供了关于如何为模型设计适当的输入(“提示”)以及模型的大小有什么影响的见解。例如,我们发现为代码生成任务提供一个小的自然语言描述是一种改进预测的简单方法。总的来说,我们得出的结论是,Few-Shot语言模型是令人惊讶的有效,但还有更多的工作要做,如探索更多样化的方式来提示和处理更复杂的任务。
2022-06-12 cs.LG cs.SE
$μ$BERT: Mutation Testing using Pre-Trained Language Models
我们介绍$μ$ BERT,一个突变测试工具,使用预先训练的语言模型(代码BERT)来生成突变体。这是通过从作为输入的表达式中屏蔽一个标记并使用CodeBERT对其进行预测来完成的。因此,通过用预测的标记替换屏蔽的标记来生成突变体。我们评估$μ$ BERT的40个真正的故障从Defects4J,它可以检测到27的40个故障,而基线(PiTest)检测到26个。我们还表明,$μ$ BERT可以是2倍的成本效益比PiTest,当相同数量的突变体进行分析。此外,我们评估$μ$ BERT的突变体的影响时,使用程序断言推理技术,并表明它们可以帮助产生更好的规范。最后,我们讨论了在我们的实验评估过程中$μ$ BERT产生的一些有趣的突变体的质量和自然性。
2022-03-07 cs.SE
Extreme mutation testing in practice: An industrial case study
变异测试用于评估测试集的有效性。近年来,出现了一种称为极端突变测试的有前途的变化,这种变化在计算上更便宜。它标识了可以完全删除其功能的方法,并且测试套件不会注意到它,尽管有覆盖率。这些方法被称为伪测试。在本文中,我们比较了传统和极端突变测试的执行和分析时间,并讨论了它们在实践中的意义。我们将研究极端突变测试如何影响当前的软件开发实践,并讨论需要解决的开放性挑战,以促进行业采用。为此,我们进行了一个工业案例研究,包括在半导体行业的一个大型软件项目中运行传统和极端突变测试,该项目由超过11,000个单元测试的测试套件覆盖。除此之外,我们还对25个伪测试方法进行了定性分析,并采访了两个有经验的开发人员,看看他们是如何编写单元测试的,并收集了关于极端突变测试结果的有用性的意见。我们的结果包括执行时间,分数,执行的测试和mutator的数量,为什么方法是伪测试的原因,以及采访摘要。我们的结论是,较短的执行和分析时间是很明显的,在实践中,极端的突变测试补充编写单元测试与代码覆盖工具。我们建议,伪测试的代码应突出显示在代码覆盖率报告,极端的突变测试应在编写单元测试,而不是在一个解耦的会话。未来的研究应该研究如何在编写单元测试时执行极端突变测试,以便结果足够快但仍然有意义。
2021-03-15 cs.SE
Dynamic Mutant Subsumption Analysis using LittleDarwin
在软件测试领域的许多学术研究都依赖于变异测试作为他们的比较标准。然而,最近的研究表明,冗余突变体对其结果的准确性有显著影响。这个问题的一个解决方案是使用突变体包容来检测冗余突变体。因此,为了促进该领域的研究,需要能够检测冗余突变体的突变测试工具。在本文中,我们描述了我们如何改进我们的工具,LittleDarwin,以满足这一要求。
2018-09-07 cs.SE
Metamorphic Testing of Transpilers via Mutation Consistency of Programs
University of Milano-Bicocca(米兰比可卡大学)
本文针对转译器测试难题,提出基于转译后程序突变一致性的变形测试技术,实现工具MCP-Tester,案例研究显示其能发现纯模糊测试漏检的故障。
2026-08-03 cs.SE
Does mutation testing improve testing practices?
已经定义了测试质量的各种代理度量,以便在编写测试时指导开发人员。代码覆盖率在实践中特别好地建立起来,尽管覆盖率如何与测试质量相关的问题是一个正在进行的辩论。突变测试提供了一个有希望的替代方案:人工缺陷可以识别测试套件中的漏洞,从而为额外的测试提供具体的建议。尽管突变检测有明显的优势,但在实践中还没有很好地建立起来。直到最近,突变测试工具和技术还不能扩展到复杂的系统。虽然他们现在做规模,剩下的障碍是缺乏证据表明,编写测试的突变体实际上提高测试质量。在本文中,我们的目标是填补这一空白:通过分析近1500万个突变体的大型数据集,我们研究了这些突变体如何随着时间的推移影响开发人员,以及这些突变体如何与真正的故障相关。我们的分析表明,使用突变测试的开发人员编写更多的测试,并积极改善他们的测试套件与高质量的测试,使更少的突变。通过分析一个数据集的过去修复真正的高优先级的故障,我们的分析进一步提供证据,突变体确实与真正的故障。换句话说,如果突变测试被用于引入错误的更改,它将报告一个可以防止错误的活突变体。
2021-03-12 cs.SE
Mutation Testing of Simulink Cyber-Physical System Models: Challenges and Solutions in Practice
Universiteit Antwerpen(安特卫普大学);Flanders Make VZW(弗拉芒制造中心);DUCO (NV)(DUCO公司);Ege University(伊兹密尔经济大学)
本文结合建筑通风系统企业DUCO的试点项目,分析了将变异测试融入Simulink网络物理系统模型测试时面临的等价变异体等特殊挑战,为工业界应用该技术提供了实践参考。
2026-08-26 cs.SE
Effective Test Generation Using Pre-trained Large Language Models and Mutation Testing
本文提出MuTAP方法,利用变异测试增强大语言模型生成测试用例的缺陷检测能力,在多个基准上检测出更多缺陷,并达到93.57%的变异得分。
2023-08-31 cs.SE
Fuzzing for CPS Mutation Testing
本文提出利用模糊测试为安全攸关CPS的C/C++软件生成变异测试数据,并通过在轨卫星组件实证表明其显著优于或可补充符号执行。
2023-08-15 cs.SE
You Can REST Now: Automated REST API Documentation and Testing via LLM-Assisted Request Mutations
本文提出RESTSpecIT,一种利用LLM自动推断REST API文档并进行黑盒测试的方法,通过生成和变异API请求种子,在最少用户输入下实现高效文档推断与测试辅助。
2025-07-15 cs.SE
Harnessing MPI mutations for AI error detection
Inria(法国国家信息与自动化研究所);University of Versailles(凡尔赛大学)
本文提出MPI突变数据集(MMD),训练结合AST-T5嵌入的MLP检测MPI错误,部分性能优于Qwen-3 Coder LLM,经优化提示的Claude Sonnet 4.5超ITAC,为MPI错误检测提供新基准
2026-10-16 cs.DC cs.SE
WITNESS: A lightweight and practical approach to fine-grained predictive mutation testing
针对现有细粒度预测变异测试依赖深度学习导致计算成本高、仅处理方法内部变异体的局限,提出轻量级方法WITNESS,支持方法内外变异体预测,提升效率且性能先进。
2025-11-15 cs.SE
Quantum Circuit Mutants: Empirical Analysis and Recommendations
针对量子软件测试缺乏系统性基准的问题,本研究通过变异382个真实量子电路生成超70万故障基准进行大规模实证分析,揭示电路与算法等特征对变异体检测的影响,并提供变异体推荐工具与可用故障基准。
2025-05-02 cs.SE
Testing Smart Contracts Gets Smarter
智能合约是不可变的,可验证的,自治的代码片段,可以在以太坊等区块链网络上部署和运行。由于区块链的不变性,已部署的智能合约或已验证的交易不可能发生变化。另一方面,以太坊区块链中的智能合约携带了数百万美元,因此,一个错误的智能合约可能会导致巨大的金钱损失。因此,对于智能合约开发人员来说,在将其部署到区块链上之前,充分测试和检查其代码的正确性非常重要。在本文中,我们提出了一种基于突变测试的Solidity语言智能合约测试机制。我们分析了Solidity智能合约中已知错误的全面列表,并设计了10类受真实错误启发的变异算子。我们的实验结果表明,我们提出的变异算子可以重新生成15个著名的错误智能合约中的10个,这些智能合约导致了数百万美元的损失。结果表明,我们提出的变异算子在检测Solidity智能合约中的实际故障方面是有效的。我们还使用我们的突变操作符扩展了{ \em Universal Mutator }工具,以便它可以自动为Solidity编写的智能合约生成突变体。
2019-12-24 cs.SE