Mutation Analysis with Execution Taints
针对变异分析中变异后阶段仍存在冗余计算的问题,提出 execution taints 技术并结合记忆化,消除程序变体间冗余执行以提升效率。
2024-03-02 cs.SE
Fuzzing-based Mutation Testing of C/C++ Software in Cyber-Physical Systems
本文提出用模糊测试替代符号执行对 CPS 中 C/C++ 软件进行变异测试,并在卫星系统组件上验证其可检测 40%-90% 开发者测试遗漏的变异体,结合 Clang、内存消毒器和 laf-intel 插桩效果最佳,检测率比符号执行最高提升 50 个百分点。
2025-07-03 cs.SE
A Declarative Framework for Hand-Crafted Mutation Analysis and Management
University of Maryland, College Park(马里兰大学帕克分校)
本文提出了一种声明式框架,用于管理和分析手工变异,通过定义多种变异表示和代数,提升变异实验的效率和表达性。
2026-03-07 cs.SE
Fuzzing for CPS Mutation Testing
本文提出利用模糊测试为安全攸关CPS的C/C++软件生成变异测试数据,并通过在轨卫星组件实证表明其显著优于或可补充符号执行。
2023-08-15 cs.SE
Accelerating Patch Validation for Program Repair with Interception-Based Execution Scheduling
本文提出基于拦截的执行调度方法,解决变异测试技术适配通用补丁验证时的等价分析与状态捕获难题,并实现ExpressAPR验证器,将补丁验证加速137.1倍,使其不再成为APR的时间瓶颈。
2024-01-26 cs.SE
Vulnerability Mimicking Mutants
随着在大型代码语料库上训练的强大语言模型的不断发布(例如CodeBERT在640万个程序上训练),一个新的突变测试工具家族已经出现,并有望生成更多“自然”的突变体,因为突变代码旨在遵循程序员通常产生的隐式规则和编码约定。在本文中,我们研究在何种程度上的突变产生的语言模型可以语义模仿可观察的行为的安全相关的漏洞(a.k.a.)。漏洞模仿突变体),这样设计的测试用例,这些突变体失败将有助于解决模仿的漏洞。由于分析和运行突变体在计算上是昂贵的,因此在任何分析或测试执行之前优先考虑那些更可能是漏洞模仿的突变体是很重要的。考虑到这一点,我们引入VMMS,一个基于机器学习的方法,自动提取突变体的功能,并预测那些模仿漏洞。我们在45个漏洞的数据集上进行了实验,发现16.6%的突变体在一个或多个测试中失败,而88.9%的相应漏洞失败。更准确地说,整个突变体集中有3.9%的突变体是模仿脆弱性的突变体,它们模仿了55.6%的脆弱性。尽管稀缺,VMMS预测具有0.63 MCC,0.80精度和0.51召回的可重复性模仿突变体,表明可重复性模仿突变体的特征可以通过机器学习模型自动学习以静态地预测这些,而不需要在定义这些特征方面投入精力。
2023-03-07 cs.CR cs.SE
Test vs Mutant: Adversarial LLM Agents for Robust Unit Test Generation
Shanghai Jiao Tong University(上海交通大学)
AdverTest通过对抗性代理提升单元测试生成的鲁棒性,提高故障检测率和覆盖率
2026-09-02 cs.SE
MOTIF: A tool for Mutation Testing with Fuzzing
MOTIF利用灰盒模糊测试生成C语言单元测试用例,克服了符号执行的局限性,能有效检测变异体中的注入故障,在安全关键CPS软件测试中表现更优。
2024-06-04 cs.SE
Goal-Oriented Mutation Testing with Focal Methods
变异测试是评估测试集故障检测能力的最新技术。不幸的是,突变测试消耗了巨大的计算资源,因为它为每个注入的突变体运行整个测试套件。在本文中,我们探讨细粒度的可追溯性链接在方法级(命名为焦点方法),以减少执行时间的突变测试,并验证每个单独的方法的测试用例的质量,而不是通常验证的整体测试套件的质量。我们的方法在开源Apache Ant项目上的验证显示,位于焦点方法中的突变体的速度提高了573.5倍,质量得分为80%。
2018-10-09 cs.SE
Hybrid Fault-Driven Mutation Testing for Python
Simon Fraser University(西蒙菲莎大学);University of Ottawa(渥太华大学)
本文提出了一种基于静态和动态分析混合技术的Python变异测试方法,通过七种新的变异算子生成补充现有工具的变异体,提高测试覆盖率和发现缺陷的能力。
2026-07-22 cs.SE
Understanding Differences among Executions with Variational Traces
调试的主要挑战之一是理解为什么程序对某些输入失败,但对其他输入成功。如果故障是由多个输入的相互作用引起的,则这变得特别困难。为了调试这种交互故障,有必要了解输入的个体效果,这些输入如何交互以及这些交互如何导致故障。两个执行跟踪之间的差异可以解释为什么一个输入的行为与另一个不同。我们建议比较所有输入选项的执行轨迹,以获得所有选项的行为和它们之间的相互作用的解释。为了突出相关信息,我们将其表示为变迹,它简洁地表示了多个具体迹线之间的控制流和数据流差异。虽然变分轨迹可以从所有相关输入的蛮力执行中获得,但我们使用变分执行将变分轨迹的生成扩展到可能输入的指数空间。我们还提供了一个Eclipse插件Varviz,使用户能够使用变量跟踪进行调试和导航。在一项用户研究中,我们发现,用户的变化的痕迹是两倍以上的速度完成调试任务比用户的标准Eclipse调试器。我们进一步表明,变迹可以扩展到有许多选择的方案。
2018-07-10 cs.SE
Mutation Testing with Hyperproperties
提出了一种基于模型的变异驱动测试用例生成方法。通过对被测系统的模型或源代码进行小的语法修改来生成突变体。如果在运行测试时,突变体的行为偏离了原始系统,则测试用例会杀死该突变体。在这项工作中,我们使用hyperproperties-它允许表达多个执行之间的关系-正式确定性和非确定性模型的杀戮的不同概念。由此产生的超性质是普遍的,因为它们适用于任意的反应模型和突变体。此外,一个现成的超属性模型检验工具可以用来生成测试用例。我们评估我们的方法在两种不同的建模语言表示的模型数量生成测试使用一个国家的最先进的突变测试工具。
2019-07-17 cs.LO cs.SE
Quality-Driven Selective Mutation for Deep Learning
Institute of Computer Science, University of Göttingen(哥廷根大学计算机科学研究所)
本文提出一种概率框架,通过电阻和现实性两个维度量化突变体质量,用于选择高质突变操作符配置,减少突变体生成和执行成本,同时保持突变体的有效性。
2026-04-24 cs.LG cs.SE
Robust Mutation Analysis of Quantum Programs Under Noise
King’s College London(伦敦国王学院);Simula Research Laboratory(西穆拉研究实验室);Oslo Metropolitan University(奥斯陆都会大学);National Institute of Informatics(日本情报学研究所)
本文研究了量子程序在噪声环境下的变异分析,通过41个程序在无噪声和有噪声模拟器上的实验,比较了不同距离度量和阈值策略,发现噪声显著影响程序与变异体的行为距离,输出分布度量在实际应用中表现最佳。
2026-05-13 cs.SE
Mutation Testing via Iterative Large Language Model-Driven Scientific Debugging
本文提出利用科学调试方法让大语言模型通过迭代假设与改进来生成针对变异体的测试,实验表明其缺陷检测能力和覆盖率均优于Pynguin等基线方法。
2025-03-11 cs.SE
Faster Variational Execution with Transparent Bytecode Transformation
变分执行是一种新的动态分析技术,用于探索高度可配置的系统和精确跟踪信息流。它能够有效地分析许多配置,积极共享冗余的程序执行。变式执行的思想已经被证明是有效的探索程序中的变化,特别是当配置空间增长失控。现有的变分执行的实现通常需要繁重的运行时解释器,这是艰苦的和容易出错的。此外,这种方法的性能是次优的。例如,最先进的Java变分执行解释器VarexJ,对于中小型Java程序,单次执行的执行速度要慢100到800倍。我们不修改现有的JVM,而是建议转换现有的字节码,使其可变,这样它就可以在未修改的商品JVM上执行。我们的评估表明,在最先进的性能上有显着的改善,具有2至46倍的加速比,并在共享计算的高效率。
2018-09-11 cs.PL cs.SE
Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies
University College London(伦敦大学学院);Federal University of Paraná(巴拉那联邦大学)
变异测试是评价和增强软件测试集的一种有效方法,但变异体的执行计算代价限制了其应用。已经提出了几种策略来降低这种成本(a.k.a.突变成本降低策略),然而,它们中没有一个被证明对所有场景都有效,因为它们通常需要根据被测软件(SUT)进行专门的手动选择和配置。在本文中,我们提出了一种新的多目标进化超启发式方法,称为哨兵,自动生成的最佳成本降低策略,为每一个新的SUT。我们通过进行一项全面的实证研究来评估Sentinel,该研究涉及10个开源真实世界软件系统的40个版本,并将基线和最先进的策略作为基准。我们总共执行了4,800个实验,并根据文献中最新的最佳实践,使用质量指标和统计显著性检验来评估其结果。结果表明,在95%的情况下,Sentinel生成的策略优于基线策略,并且总是具有较大的效应量。在88%的病例中,它们还获得了统计学上显著优于最先进策略的结果,其中95%的病例具有较大的效应量。此外,我们的研究表明,在95%的情况下,Sentinel为给定软件版本生成的突变策略可以用于随后开发的版本,而不会造成任何质量损失。这些结果表明,Sentinel能够自动生成突变策略,降低突变测试成本,而不影响其测试有效性(即突变分数),从而从测试人员的肩膀上卸下手动选择和配置每个SUT策略的负担。
2021-03-12 cs.AI 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
Effective Targeted Testing of Smart Contracts
本文提出智能合约定向测试框架Griffin,采用定向符号执行和增强版控制流图CFG+生成测试数据,用于杀死变异体、验证告警和生成反例,实验证明其能在合理时间内有效到达目标行。
2024-07-05 cs.SE
MuMuTestUp: Mutation-based Multi-Agent Test Case Update
Harbin Institute of Technology(哈尔滨工业大学);The Chinese University of Hong Kong(香港中文大学);Xidian University(西安电子科技大学);Singapore Management University(新加坡管理大学)
针对持续集成/持续交付实践中测试用例过时导致的问题,本文提出MuMuTestUp多智能体框架,通过变异分析、覆盖率分析和语义检索三个智能体提升测试用例的准确性与覆盖率,同时构建PRBENCH数据集进行评估。
2026-05-19 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