Towards Learning and Verifying Invariants of Cyber-Physical Systems by Code Mutation
Singapore University of Technology and Design(新加坡科技与设计大学)
信息物理系统(CPS),它集成了算法控制与物理过程,通常由物理分布的组件通过网络进行通信。这种CPS中的故障或受损组件可能导致代价高昂的后果,特别是在公共基础设施的背景下。在这篇简短的论文中,我们认为构建CPS所表现出的物理行为的不变量(或模型)的重要性,其动机是它们的应用程序的控制,监控和认证的组件。为了实现这一目标,尽管CPS具有固有的复杂性,我们提出了一种学习不变量的新技术,该技术将机器学习与突变测试的想法相结合。我们提出了一个水处理系统的初步研究,表明这种方法的有效性,提出了建立信心的不变量的正确性的策略,然后总结了一些研究问题和我们正在采取的步骤来调查他们。
2016-09-06 cs.LG cs.LO cs.SE
Learning from Mutants: Using Code Mutation to Learn and Monitor Invariants of a Cyber-Physical System
Singapore University of Technology and Design(新加坡科技设计大学)
网络物理系统(CPS)由传感器、执行器和控制器组成,所有这些都通过网络进行通信;如果任何子集受到损害,攻击者都可能造成重大损害。通过访问数据日志和CPS模型,可以在造成任何损害之前检测到攻击的物理影响。然而,手动构建一个在实践中足够准确的模型是非常困难的。在本文中,我们提出了一种新的方法来构建模型的CPS自动,通过应用监督机器学习的数据轨迹后,系统地播种其软件组件的故障(“突变体”)。我们展示了这种方法在现实世界的净水厂模拟器上的有效性,提出了一个自动生成突变体,收集数据跟踪和学习基于SVM的模型的框架。使用交叉验证和统计模型检验,我们表明,学习模型的特点是不变的物理性质的系统。此外,我们证明了有用的不变的系统进行55网络和代码修改攻击,并表明它可以检测到85%的数据日志在运行时生成的。
2018-06-13 cs.CR cs.LG cs.SE
Property-Based Mutation Testing
变异测试是一种成熟的软件质量保证技术,用于评估测试套件。虽然它非常适合于估计测试套件的一般故障揭示能力,但当被测软件必须针对特定需求进行验证时,它并不实用和提供信息。这通常是嵌入式软件的情况,其中软件通常根据严格指定的安全属性进行验证。在这种情况下,(i)只有当突变体可以影响测试特性的满足时,突变体才是相关的,以及(ii)只有当突变体导致违反该特性时,突变体才被有意义地杀死。为了解决这些限制的突变测试,我们介绍了基于属性的突变测试,一种方法,用于评估测试套件的能力,行使软件相对于一个给定的属性。我们评估我们的基于属性的突变测试框架的Simulink模型的安全关键的网络物理系统(CPS)从汽车和航空电子领域,并演示如何基于属性的突变测试比常规突变测试更翔实。这些结果为CPS的突变测试和测试用例生成开辟了新的视角。
2023-01-31 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
Model Driven Mutation Applied to Adaptative Systems Testing
动态自适应系统根据其周围环境的变化并根据自适应逻辑来修改其属性和结构。关键系统越来越多地包含动态适应能力,例如救灾和空间探索系统。在本文中,我们专注于自适应逻辑的突变测试。我们提出了一个故障模型的适应逻辑,分为环境的完整性和适应正确性的故障。由于有几种自适应逻辑语言依赖于相同的底层概念,故障模型表示独立于特定的自适应语言。利用模型驱动工程技术,我们表达这些共同的概念在一个元模型,并定义在这个级别上的变异算子的操作语义。突变被应用于模型元素和模型转换被用来传播这些变化到一个给定的适应政策,在所选择的形式主义。在自适应Web服务器上的初步结果突出了自适应系统杀死突变体的困难,因此难以生成有效的测试。
2012-05-25 cs.SE
Hybrid Fault-Driven Mutation Testing for Python
Simon Fraser University(西蒙菲莎大学);University of Ottawa(渥太华大学)
本文提出了一种基于静态和动态分析混合技术的Python变异测试方法,通过七种新的变异算子生成补充现有工具的变异体,提高测试覆盖率和发现缺陷的能力。
2026-07-22 cs.SE
Fuzzing for CPS Mutation Testing
本文提出利用模糊测试为安全攸关CPS的C/C++软件生成变异测试数据,并通过在轨卫星组件实证表明其显著优于或可补充符号执行。
2023-08-15 cs.SE
MOTIF: A tool for Mutation Testing with Fuzzing
MOTIF利用灰盒模糊测试生成C语言单元测试用例,克服了符号执行的局限性,能有效检测变异体中的注入故障,在安全关键CPS软件测试中表现更优。
2024-06-04 cs.SE
Diagnosable-by-Design Model-Driven Development for IEC 61499 Industrial Cyber-Physical Systems
将故障识别和诊断功能的设计和创建集成到模型驱动开发方法中是增强工业网络物理系统弹性的一种方法。我们提出了一个故障诊断引擎,旨在识别和诊断故障的IEC 61499功能块应用。使用直接与目标应用程序交互的诊断代理,我们演示了故障监测和分析技术,以及故障场景干预。通过在模型驱动开发的早期阶段设计和构建故障诊断资源,可以创建迭代测试和长期故障管理功能。在应用和完善适当的模型工件,我们证明了并发开发的功能块故障管理功能是可行的,值得的。
2021-05-09 cs.SE
A Systematic Literature Review on Model-driven Engineering for Cyber-Physical Systems
本技术报告介绍了一项系统性文献综述(SLR)研究,重点是通过MDE方法识别和分类与CPS开发相关的最新研究实践。该研究评估了2010年至2018年期间发表的140篇研究论文。因此,综合分析了CPS开发生命周期中使用的各种MDE方法。此外,该研究确定了研究差距和需要更多调查的领域。这些贡献有助于研究人员和从业人员全面了解研究趋势和进一步研究/开发的现有挑战。
2021-03-15 cs.SE
Modeling Cyber-Physical Systems: Model-Driven Specification of Energy Efficient Buildings
目前许多建筑物的运行能源效率低下,并提供了一个巨大的潜力,以减少整体能源消耗和二氧化碳排放。检测这些效率低下是一项复杂的任务,需要能够识别它们的领域专家。大多数方法都试图通过专注于监视建筑物的运行和可视化数据来支持检测。相反,我们的方法侧重于使用从网络物理系统的建模领域的技术。我们创建了一个模型的建设,并展示了我们如何约束模型的OCL类似的规则,以支持一个健全的规范,可以对监测结果相匹配之后。本文介绍了我们的特定领域的语言,用于建模建筑物和技术设施,实现了基于软件的工具,由领域专家使用,从而希望提供一个合适的贡献建模的网络物理世界。
2014-09-01 cs.SE
Mutation Testing via Iterative Large Language Model-Driven Scientific Debugging
本文提出利用科学调试方法让大语言模型通过迭代假设与改进来生成针对变异体的测试,实验表明其缺陷检测能力和覆盖率均优于Pynguin等基线方法。
2025-03-11 cs.SE
Using quantum annealing to generate test cases for cyber-physical systems
本研究探索利用量子退火和基于变异的方法增强信息物理系统的测试用例生成,将变异编码为二值优化问题并使用D-Wave量子退火器求解,实验表明该方法生成速度更快且故障检测性能与经典算法相当。
2025-04-30 cs.ET cs.SE
MMT: Mutation Testing of Java Bytecode with Model Transformation -- An Illustrative Demonstration
针对传统变异测试扩展复杂变异困难的问题,提出基于模型转换的Java字节码变异方法及工具MMT,支持修改面向对象结构等高级变异,是唯一支持此类变异的Java字节码变异测试工具。
2024-04-22 cs.SE
Early Validation of Cyber-Physical Space Systems via Multi-Concerns Integration
网络物理空间系统是在物理空间内运行的工程系统,其设计要求取决于空间,例如,关于位置或移动行为。它们是由计算和物理组件的无缝集成构建的,并依赖于这种集成。典型的例子包括软件驱动的代理(如移动机器人)探索空间并执行动作以完成特定任务的系统。这种系统的设计通常依赖于不同涉众表达的多个关注点,捕获系统的不同方面。我们提出了一个模型驱动的方法,支持(a)分离的关注在设计过程中,(b)系统和半自动集成的单独建模的关注,最后(c)早期验证通过统计模型检验。我们评估我们的方法在两个不同的案例研究的网络物理空间系统。
2020-07-13 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
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
Demonstrators for Industrial Cyber-Physical System Research: A Requirements Hierarchy Driven by Software-Intensive Design
Faculty of Engineering Technology, University of Twente(特温特大学工程技术学院)
针对研究项目中演示器需求不明确的问题,提出一个演示器需求细化框架,定义五个层次的需求层次,并通过两个研究项目验证其有效性。
2026-05-22 cs.SE
Comparing Mutation Coverage Against Branch Coverage in an Industrial Setting
软件开发的实践状态是由持续集成服务器推动的不断变化所驱动的。这种不断的变化需要频繁的、完全自动化的测试,这些测试能够在项目构建时立即检测到错误。由于测试套件的故障检测能力变得如此重要,现代软件开发团队也不断地监控测试套件的质量。然而,似乎国家的实践是不愿意采用强覆盖度量(即突变覆盖),而是依赖于较弱的覆盖(即分支覆盖)。在本文中,我们调查了三个原因,禁止采用突变覆盖在持续集成设置:(1)它的集成到构建系统的难度,(2)的看法,分支覆盖是“足够好”,(3)在构建过程中的性能开销。我们的调查是基于一个案例研究,涉及四个开源系统和一个工业系统。我们证明了突变覆盖率揭示了测试套件中的其他弱点相比,分支覆盖率,它是能够做到这一点,在项目建设过程中的一个可接受的性能开销。
2021-04-23 cs.SE
PRIMG : Efficient LLM-driven Test Generation Using Mutant Prioritization
Polytechnique Montréal(蒙特利尔理工学院);Quantstamp, Inc(Quantstamp公司)
本文提出 PRIMG 框架,结合基于变异体包含图训练的 ML 优先级排序与 LLM 迭代测试精化,为 Solidity 合约生成高覆盖率且更精简的测试。
2025-05-08 cs.LG cs.SE
Towards an Automated Requirements-driven Development of Smart Cyber-Physical Systems
Charles University in Prague(布拉格查理大学);Faculty of Mathematics and Physics(数学与物理学院)
自适应不变精化方法(IRM-SA)是一种针对智能信息物理系统(sCPS)开发的设计方法。它允许将系统需求系统地转换为表示为基于集成的组件系统(EBCS)的系统架构。然而,由于需求是使用自然语言捕获的,因此存在由于自然语言需求的模糊性而导致其被误解的危险,这最终可能导致设计错误。因此,需要设计过程的自动化和验证。在本文中,我们(i)分析自然语言的要求到IRM-SA模型的翻译过程,(ii)确定可以使用自然语言处理技术自动化和/或验证的各个步骤,(iii)提出合适的方法。
2016-03-29 cs.CL cs.SE
Quality-Driven Selective Mutation for Deep Learning
Institute of Computer Science, University of Göttingen(哥廷根大学计算机科学研究所)
本文提出一种概率框架,通过电阻和现实性两个维度量化突变体质量,用于选择高质突变操作符配置,减少突变体生成和执行成本,同时保持突变体的有效性。
2026-04-24 cs.LG cs.SE
Semantic-Aware Fuzzing: An Empirical Framework for LLM-Guided, Reasoning-Driven Input Mutation
School of Computing, Queen’s University(女王大学计算机学院);McGill University(麦吉尔大学);Defence R&D Canada(国防研发加拿大)
针对现有模糊测试缺乏语义推理的问题,提出集成推理LLM与AFL++的微服务框架,实验表明Deepseek表现最佳,变异质量取决于提示复杂度与模型选择。
2025-09-23 cs.AI cs.CR cs.SE
Dynamic Conformance Testing of WebGPU Through Specification-Driven Mutation
New Jersey Institute of Technology(新泽西理工学院)
提出LANTERN框架,通过从WebGPU规范提取语法和语义约束来变异一致性测试,在Chromium中发现包括堆损坏在内的三个可复现错误,验证了语义感知变异测试的有效性。
2026-09-23 cs.CR cs.SE
Towards formally analyzed Cyber-Physical Systems
网络物理系统(CPS)无处不在:灵巧家庭、自动驾驶汽车、飞机、医疗保健、农业和工业生产线。CPS通常是关键的,因为系统故障可能会对财产和生命造成严重损害。今天的网络物理系统是极其复杂的异构系统:为了能够以统一的方式管理其复杂性,我们需要一个基础设施,以确保我们的系统以预期的高可靠性运行。除了基础设施,我们还需要为工程师提供一种方法,以确保设计时的系统可靠性。模型驱动设计的范例提供了一个工具包,支持设计和分析,并通过选择适当的形式主义,模型驱动设计方法,使我们能够验证我们的系统在设计时。
2021-08-29 cs.DC cs.SE
Mutation Testing with Hyperproperties
提出了一种基于模型的变异驱动测试用例生成方法。通过对被测系统的模型或源代码进行小的语法修改来生成突变体。如果在运行测试时,突变体的行为偏离了原始系统,则测试用例会杀死该突变体。在这项工作中,我们使用hyperproperties-它允许表达多个执行之间的关系-正式确定性和非确定性模型的杀戮的不同概念。由此产生的超性质是普遍的,因为它们适用于任意的反应模型和突变体。此外,一个现成的超属性模型检验工具可以用来生成测试用例。我们评估我们的方法在两种不同的建模语言表示的模型数量生成测试使用一个国家的最先进的突变测试工具。
2019-07-17 cs.LO cs.SE