Integrating Formal Verification and Simulation-based Assertion Checking in a Corroborative V&V Process
自动驾驶汽车(Automated Vehicles,简称AV)在交通领域正迅速成熟。然而,AV设计问题的复杂性是这样的,没有一种技术足以提供关键属性,如安全性,可靠性或可信度的充分验证。在这篇愿景论文中,提出了一种空间交通逻辑和基于代理的验证方法与验证方法相结合的方法,该方法使用断言检查模拟。我们概述了如何将各自的方法集成到一个名为“确证验证与确认”(V&V)的方法框架中。确证验证与确认框架为AV确定了三个不同的验证和确认级别(形式化验证、基于模拟的测试、真实世界实验)并指定了这些级别之间的联系和证据。我们定义了必须在过程、系统模型和需求模型之间建立的正式关系的规范,这些关系是来自正式设计验证和基于模拟的测试的证据,以相互证实并增强验证和确认的保证信心。
2022-08-10 cs.SE
Dynamic Verification of SystemC with Statistical Model Checking
许多嵌入式和实时系统具有固有的概率行为(传感器数据,不可靠的硬件等)。在这种情况下,至关重要的是评估系统属性,如“特定硬件故障的概率”。这样的属性可以通过使用概率模型检验来评估。然而,由于状态空间爆炸,这种技术在代表现实嵌入式和实时系统的模型上失败了。为了克服这个问题,我们提出了一个基于统计模型检验的验证框架。我们的框架是能够评估的概率和时间属性在SystemC,一个标准的系统级建模语言建模的大型系统。它作为Plasma-lab统计模型检查器的扩展完全实现。我们说明了我们的方法上的多升系统的案例研究。
2015-09-21 cs.LO cs.SE
Verification of interlocking systems using statistical model checking
在铁路领域,联锁是通过控制其活动元件(如信号机或道岔)来确保车站内训练交通安全的系统。现代联锁使用特定数据(称为应用数据)进行配置,这些数据反映了轨道布局并定义了联锁可以采取的操作。因此,训练交通的安全性依赖于应用数据的正确性,它们内部的错误可能导致安全问题,例如脱轨或碰撞。鉴于这一系统要求高度安全,其核查是一个关键问题。除了安全性,联锁还必须确保满足可用性属性,即没有训练会永远停在车站。大部分的研究处理这种验证依赖于模型检验。然而,由于状态空间爆炸的问题,这种方法不适合大型站。最近,提出了一种离散事件模拟方法,将验证限制在一组可能的场景中。模拟能够验证较大的台站,但没有证据表明模拟涵盖了所有有趣的场景。在本文中,我们采用了中间统计模型检验方法,提供了模型检验和仿真的优点。即使没有获得详尽性,统计模型检验也会以可参数化的置信度评估整个系统的可靠性和可用性。
2017-08-04 cs.SE
Formal Verification for Node-Based Visual Scripts Using Symbolic Model Checking
具有基于节点的界面的视觉脚本语言通常用于视频游戏行业。我们检查了在开发最终幻想XV(FFXV)时获得的错误数据库,并注意到几种类型的错误是由视觉脚本的简单错误描述引起的,因此可以机械地检测到。为了提高视频游戏开发的生产率,我们提出了一种视觉脚本的自动验证方法。我们的方法可以自动检测这些错误,通过使用符号模型检验。我们展示了一个翻译算法,它可以自动转换的视觉脚本的输入模型NuSMV是一个符号模型检验的实现。为了进行初步评估,我们将我们的方法应用于FFXV生产中使用的视觉脚本。测试结果表明,该方法可以在合理的时间内检测出脚本中的错误,并且效果良好。
2021-03-23 cs.SE
BTOR2-Based C Program Verification via Hardware Model Checking
East China Normal University(华东师范大学)
研究如何将C程序验证任务编码为BTOR2模型,提出C2Btor方法,该方法用程序计数器等进行相关表示与映射。通过在基准测试上与其他工具比较,C2Btor解决任务更多,尤其在比特向量基准测试上效果好,让C程序验证受益于硬件模型检查后端进展。
2026-07-21 cs.FL cs.SE
Combining model checking with simulation-based techniques for protocol verification
Japan Advanced Institute of Science and Technology(日本信息科学高等研究院)
针对模型检查的状态空间爆炸问题,提出结合模型检查与仿真关系的技术,以简单通信协议、交替比特协议和滑动窗口协议为研究对象,通过在较小状态机上模型检查及仿真关系组合,实现对大可达状态空间协议的形式化验证。
2026-07-21 cs.SE
Bounded Model Checking and Feature Omission Diversity
在本文中,我们介绍了一种新的方法,以加快发现的反例有界模型检验,基于并行运行的系统中的功能已被随机禁用的版本。如前所述,在有界模型检验问题中加入约束可以减小验证问题的规模,并大大减少寻找反例所需的时间。在软件测试中开发的技术适用于这个问题,提供了一种简单的方法来产生有用的部分验证问题,从而减少了产生反例的平均时间。如果没有找到反例,部分验证结果也可以在实践中使用。
2016-09-20 cs.SE
Some approximations in Model Checking and Testing
模型检验和测试是两个具有相似目标的领域:验证系统是否满足属性。他们从系统的不同假设开始,并开发了许多具有不同近似概念的技术,当精确的验证可能在计算上太难时。本文介绍了近似的概念及其逻辑和统计背景,并由此引出了几种模型检验和测试技术:有界模型检验、近似模型检验、近似黑盒检验、近似基于模型的测试和近似概率模型检验。所有这些方法都保证了验证的质量和效率。
2013-04-16 cs.LO cs.SE
CodoMo: Python Model Checking to Integrate Agile Verification Process of Computer Vision Systems
本研究提出CodoMo工具,通过AST静态分析与符号执行测试将Python代码自动转为pyModelChecking可用的中间模型,结合多进程方法提升效率,可在保持敏捷开发的同时实现计算机视觉系统的模型检验验证。
2024-12-11 cs.SE
A Case Study on Model Checking and Runtime Verification for Awkernel
本文以 Awkernel 操作系统为案例,提出结合模型检测辅助代码审查与运行时验证的并发软件开发方法,成功发现人工审查和简单测试难以检测的多个缺陷。
2025-03-12 cs.SE
Incremental Bounded Model Checking for Embedded Software (extended version)
程序分析在嵌入式系统开发中处于主流的边缘。基于有界模型检验的自动化验证工具在行为需求的形式化验证、发现运行时错误和自动化测试用例生成等方面有着广泛的应用。现有的嵌入式软件的工业工具使用现成的有界模型迭代,并应用它来验证程序与越来越多的解绕。这种方法不必要地浪费时间重复已经完成的工作,并且无法利用增量SAT求解的能力。本文报告了软件模型检查器CBMC的扩展,以支持增量有界模型检验和它的成功集成与工业嵌入式软件验证工具BTC EmbeddedTester。我们提出了一个广泛的评估大型工业嵌入式程序,这表明,增量有界模型检验削减运行时间的一个数量级相比,标准的非增量方法,使应用程序的形式化验证大型和复杂的嵌入式软件。
2014-09-20 cs.SE
OSM: Leveraging Model Checking for Observing Dynamic 1 behaviors in Aspect-Oriented Applications
本文提出 OSM 框架,从系统代码生成可执行形式化模型,结合模型检查与面向方面编程,实现动态行为的运行时验证。
2024-03-03 cs.SE
SoS contract verification using statistical model checking
系统的体系(SoS)的详尽形式化验证是不切实际的,不能大规模应用。在本文中,我们提出使用统计模型检验的有效验证的SoS。我们解决三个相关方面的系统的系统:1)的模型的体系,其中包括随机方面; 2)的形式化的体系的合同的形式化的体系的需求; 3)的工具链,以支持统计模型检验的体系。我们适应SMC技术应用到异构体系结构。我们扩展了UPDM/SysML规约语言,以表达在体系之上实施的战略必须满足的体系需求。这些需求是用专门为SoS设计的新合同语言来指定的,该语言针对高级英语模式语言,但依赖于标准时态逻辑给出的准确语义。合同验证UPDM/SysML规范使用统计模型建模(SMC)PLASMA与仿真引擎DESYRE相结合,通过功能模型接口(FMI)标准集成异构的行为模型。工具链允许计算合同的可满足性的估计由SoS。这些结果有助于系统架构师权衡不同的解决方案,以指导SoS的发展。
2013-11-14 cs.SE
Formal Verification of Probabilistic SystemC Models with Statistical Model Checking
SystemC的事务级建模通过提供高级可执行模型在描述嵌入式系统的行为方面非常成功,其中许多模型具有固有的概率行为,例如,随机数据和不可靠的组件。因此,对系统属性的概率进行定量和定性分析至关重要。这种分析可以通过构造被验证系统的形式化模型并使用概率模型检验(PMC)来进行。然而,这种方法是不可行的大型系统,由于状态空间爆炸。在这篇文章中,我们展示了统计模型检验(SMC)的成功使用,直接从大型SystemC模型进行这样的分析,并允许设计人员表达广泛的有用属性。这项工作的第一个贡献是一个框架,以验证属性表示的有界线性时序逻辑(BLTL)的SystemC模型的时间和概率特性。其次,该框架允许用户在BLTL中将丰富的用户代码原语集作为原子命题公开。此外,用户可以定义自己的细粒度时间分辨率,而不是SystemC仿真中的时钟周期边界。第三个贡献是统计模型检查器的实现。它包含一个自动生成的监视器,用于产生执行跟踪的模型验证(MUV),自动仪表化的MUV的机制,和统计模型检验算法的相互作用。
2017-12-04 cs.SE
SMT-based Verification of LTL Specifications with Integer Constraints and its Application to Runtime Checking of Service Substitutability
在基于服务的应用程序的执行过程中出现的一个重要问题涉及确定是否可以用具有不同接口的服务来替换正在运行的服务的能力,例如,如果前者不再可用。标准有界模型检验技术可用于执行此检查,但它们必须能够非常快速地提供答案,以免检查妨碍应用程序的可操作性,而不是帮助它。当考虑会话服务时,问题变得更加复杂,即,服务,公开其中具有输入/输出数据依赖关系的操作。在本文中,我们介绍了一个形式化验证技术的线性时序逻辑,允许用户在公式中的整数变量的约束的扩展。这种技术适用于会话服务的可替代性问题被证明是相当快,比现有的内存占用更小。
2010-04-16 cs.LO cs.SE
Early Verification of Legal Compliance via Bounded Satisfiability Checking
本文提出一种基于 SMT 的有界可满足性检查方法,用于在早期需求阶段验证 MFOTL 形式化的法律合规性,并在多个领域案例中证明其能高效判定合规或生成反例。
2023-05-28 cs.SE
Control Explicit---Data Symbolic Model Checking: An Introduction
并行软件的全面验证对实现它的过程提出了三个关键要求:除了接受真实代码作为程序输入和时间公式作为规范输入外,验证应该是详尽的,包括控制流和数据流。本文关注的是第三个要求,提出结合显式模型检验来处理控制与符号集表示来处理数据。显式和符号的方法相结合,首先从理论上研究,我们报告的要求,符号表示和变化的模型检验过程中的组合需要。的可行性和效率的结合证明了使用DVE建模语言的案例研究,我们报告了显着的改进,可扩展性相比,以前的解决方案。本文所描述的结果表明,在一个单一的过程中,结合显式模型检验与符号集表示,以满足所有三个要求的自动验证的潜力。
2013-03-29 cs.SE
EquivFusion: Unifying Hardware Equivalence Checking from Algorithms to Netlists via MLIR
National Center of Technology Innovation for EDA(国家集成电路创新中心);Southeast University(东南大学);The Chinese University of Hong Kong(香港中文大学)
本文提出EquivFusion工具,通过MLIR统一多模态电路设计的算法与硬件等价性检查,解决软件与硬件之间语义差距的问题。
2026-04-17 cs.AR cs.SE
Model Checking C++ Programs
在过去的三十年中,系统程序设计语言(如C或C++)中的内存安全问题一直是安全漏洞的重要来源之一。然而,只有少数尝试有限的成功,以应付C++程序验证的复杂性。在这里,我们描述和评估一种新的验证方法的基础上有界模型检验(BMC)和可满足性模理论(SMT),以验证C++程序的形式。我们的验证方法分析有界C++程序的SMT编码到各种复杂的功能,C++程序设计语言提供,如模板,继承,多态性,异常处理,和标准C++库。我们正式这些功能在我们的形式化验证框架内使用一阶逻辑的可判定片段,然后显示如何国家的最先进的SMT求解器可以有效地处理。我们在ESBMC之上实现了我们的验证方法。我们将ESBMC与LLBMC和DIVINE进行比较,它们是直接从LLVM位代码检查C++程序的最先进的验证器。实验结果表明,ESBMC能够处理大范围的C++程序,具有较高的验证正确率。与此同时,与LLBMC和DIVINE工具相比,它减少了验证时间。此外,ESBMC已被应用于电信领域的商业C++应用程序,并成功地检测到算术溢出错误,可能导致安全漏洞。
2021-07-02 cs.SE
Model Checking in The COSMA Environment as a Support for The Design of Pipelined Processing
报告中分析的案例研究涉及由相互并发的模块组成的三级管道的行为规范和验证,这些模块也竞争共享资源。系统的组成部分是指定的并发状态机(CSM)和验证技术是在COSMA环境中的时间模型检验。
2017-05-12 cs.SE
Distributed CTL Model Checking in the Cloud
最近广泛使用的“大数据”平台要求形式化验证社区更广泛地采用。事实上,形式化验证需要高性能的数据处理软件,用于从来自被分析系统的空前数量的数据中提取知识。由于基于云的计算资源已经变得易于访问,因此验证技术和工具有机会经历深刻的技术转型,以利用新的可用架构。这使得人们对并行化和分布式验证技术越来越感兴趣。在本文中,我们介绍了一种分布式的方法,利用通常使用的技术,由“大数据”社区,使验证的计算树逻辑(CTL)公式非常大的状态空间,使用分布式系统和云计算设施。基准规范上进行的几个测试的结果,从而显示所提出的方法的方便。
2013-10-24 cs.DC cs.LO cs.SE
Proceedings First Workshop on Pre- and Post-Deployment Verification Techniques
PrePost(部署前和部署后验证技术)研讨会旨在汇集计算机辅助验证和验证领域的研究人员,讨论部署前和部署后验证技术之间的联系和相互作用。研讨会涵盖的主题的例子是经典的模型检验和测试之间的关系,一方面和运行时验证和统计模型检验另一方面,类型系统之间的关系,可以通过静态或动态检查技术,如运行时监控。
2016-05-25 cs.LO cs.SE
SMT-Based Bounded Model Checking for Embedded ANSI-C Software
命题有界模型检验已成功地应用于嵌入式软件的验证,但受到命题公式大小增加和翻译过程中结构丢失的限制。这些限制可以通过在比命题逻辑更丰富的理论中编码字级信息并使用SMT求解器来生成验证条件来减少。在这里,我们调查不同的SMT求解器的应用程序的验证嵌入式软件编写的ANSI-C。我们扩展了以前基于SMT的有界模型检查器的编码,为有限变量、位向量操作、数组、结构、联合和指针提供更准确的支持。我们将CVC 3、Boolector和Z3求解器与CBMC前端集成,并使用标准软件模型检验基准和电信、控制系统和医疗设备的典型嵌入式应用对其进行评估。实验表明,我们的方法可以分析较大的问题,并大大减少验证时间。
2009-07-13 cs.SE
Real-Time Model Checking Support for AADL
我们描述了一个模型检查工具链的AADL模型的行为验证,考虑到语言的实时语义,这是兼容的AADL行为附件。我们给出了一个高层次的视图的工具和转换中涉及的验证过程,并专注于我们的框架检查用户定义的属性提供的支持。我们还描述了在一个重要的航空电子演示器上获得的实验结果,该演示器模拟了负责飞机和地面站之间数据通信的网络协议。
2015-03-02 cs.LO cs.SE
Multi-Threaded Software Model Checking via Parallel Trace Abstraction Refinement
LMU Munich(慕尼黑大学)
本文提出了一种基于并行轨迹抽象细化的多线程软件模型检查方法,通过利用多核CPU提升验证效率,优于传统顺序方法和DSS技术。
2026-01-15 cs.LO cs.PL cs.SE
Property-based Code Slicing for Efficient Verification of OSEK/VDX Operating Systems
测试是工业中事实上的验证技术,但由于其乐观的不完整性,不足以识别细微的问题。另一方面,模型检验是一种强大的技术,支持全面性,因此适合于安全关键系统的验证。然而,它通常需要更多的知识和成本比测试。这项工作试图利用这两种技术来实现集成和有效的验证OSEK/VDX为基础的汽车操作系统。我们提出了基于属性的环境生成和模型提取技术,使用静态代码分析,它可以应用于模型检验和测试。该技术是自动化的,并适用于基于OSEK/VDX的汽车操作系统,蹦床。使用随机测试和模型检验的比较实验验证的断言在蹦床内核代码显示我们的环境生成和抽象的方法可以用于有效的故障检测。
2013-01-01 cs.SE
Behavioral an real-time verification of a pipeline in the COSMA environment
文中的案例分析给出了在COSMA环境下进行模型检验的实例。系统本身是一个三级流水线,由相互并发的模块组成,这些模块也竞争共享资源。系统的组成部分是由并发状态机(CSM)来描述的。文中给出了行为特性的验证、模型降阶技术、反例分析和实时的性检验。
2017-03-16 cs.SE
VeriPy Source-Preserving Verification and Compatibility Checking for Python Components
Astrio Labs(Astrio实验室)
VeriPy提出一种统一工作流,通过注释表达契约并生成Dafny/Lean工件,实现Python组件的源级验证与向后兼容性检查。
2026-10-05 cs.LO cs.PL cs.SE
An Approach to Model Checking of Multi-agent Data Analysis
A.P. Ershov Institute of Informatics Systems(A.P. 埃尔绍夫信息系统研究所)
本文提出了一种多智能体数据分析算法的验证方法。我们基于有限整数模型的多智能体系统的正确模拟。为了验证,我们使用模型检验工具SPIN。代理协议用Promela语言编写,多代理数据分析系统的属性用逻辑LTL表示。我们用SPIN和模型做了几个实验。
2014-11-14 cs.AI cs.MA cs.SE
Platform Dependent Verification: On Engineering Verification Tools for 21st Century
本文综述了与平台相关的显式状态LTL模型检验的最新进展。
2011-11-02 cs.LO cs.SE
Do Unit Proofs Work? An Empirical Study of Compositional Bounded Model Checking for Memory Safety Verification
本文首次实证研究用于内存安全验证的单元证明,提出结合验证反馈与客观标准的系统化构建方法,并在四个嵌入式操作系统上验证其有效性与成本。
2025-03-17 cs.SE
End to End Verification and Validation with SPIN
在过去的几年中,用于模型检验的工具变得更加有效和可用。这使得用户能够将模型检验应用于工业规模的问题,但是验证模型实现的任务通常要困难得多。在本文中,我们提出了一种方法来做端到端的验证和确认的实时的系统使用SPIN模型检查。以SQRL起搏器正式方法挑战赛中提出的心脏起搏器系统为例,我们通过在SPIN中构建心脏起搏器的正式模型来展示我们的框架,检查模型的理想时间属性(表示为LTL公式),从模型生成C代码(通过PROMELA的改进)并验证生成的实现(使用SPIN)。我们认为,一个国家的艺术模型检验工具,如SPIN可以用来做正式规范以及验证的实现。为了评估我们的方法,我们表明,我们的起搏器模型是足够的表达,以获得一致的操作模式和细化规则保持LTL属性。
2013-02-20 cs.PL cs.SE
Real-time System Modeling and Verification through Labeled Transition System Analyser (LTSA)
随着近年来软件工程的发展,模型检验技术被广泛应用于各个领域,对系统模型进行验证。然而,由于缺乏设计细节,模型检验很难应用于验证需求。与其他模型检验工具不同的是,LTSA提供了结构图,可以在需求和设计之间架起桥梁。在本文中,我们证明了LTSA的能力与蒸汽锅炉系统的经典案例研究。LTSA的结构图可以描述控制器和蒸汽锅炉之间的交互,它可以从UML需求模型中导出,如蒸汽锅炉系统的系统顺序图。从结构图中可以生成LTSA的启动设计模型。此外,我们提供了一个变化规律的蒸汽速率,以避免状态空间爆炸的问题,并显示如何显式和隐式建模的时间,反映了系统建模和物理世界之间的差异。最后,推导出的模型进行了验证所需的属性。我们的工作展示了UML与模型检验工具在需求获取、系统设计和验证中的潜在能力。
2018-03-14 cs.SE
Model Checking and Verification of Synchronisation Properties of Cobot Welding
Pioneer Robotics AS(先锋机器人公司);University of Agder(阿格德大学);Norwegian University of Life Sciences (NMBU)(挪威生命科学大学);University of York(约克大学)
本文通过模型检验验证协作焊接机器人同步特性,发现硬件局限是失步根源,并据此重新校准实际系统,显著提升焊接质量,展示了形式化方法在工业场景中的实用价值。
2024-11-21 cs.MA cs.RO cs.SE
Conditional Model Checking
软件模型检验是一个不可判定的问题,它有三种可能的结果:(1)程序满足规格说明,(2)程序不满足规格说明,(3)模型检验失败。第三种结果通常表现为空格、超时或验证工具的一个组件放弃;在所有这些失败的情况下,验证工具在失败之前执行了大量计算,但没有报告结果。我们建议将模型检查问题重新表述如下,以便即使在失败的情况下,验证工具也能报告所执行工作的摘要:给定一个程序和一个规范,模型检查器返回一个条件P -通常是一个状态谓词-这样程序在条件P下满足规范-也就是说,只要程序不离开满足P的状态。我们当然对返回尽可能弱的条件P的模型检查器感兴趣。代替结果(1),模型检查器将返回P = true;代替(2),条件P将返回满足规范的状态空间部分;在情况(3)中,条件P可以总结模型检查器在空间超时,超时或放弃之前所执行的工作。如果需要完全验证,则可以使用不同的验证方法或工具来关注违反条件的状态。我们给这样的条件作为输入的条件模型检查器,这样的验证问题被限制在状态空间的一部分,满足条件。我们的实验表明,重复应用条件模型检查器,使用不同的条件,可以显着提高验证结果,状态空间覆盖率和性能。
2011-09-30 cs.PL cs.SE
MPBMC: Multi-Property Bounded Model Checking with GNN-guided Clustering
Indian Statistical Institute(印度统计研究所);IBM Systems(IBM系统公司);Texas Instruments(德州仪器)
本文提出基于图神经网络的多属性有界模型检查方法,通过功能聚类提升多属性验证效率。
2026-02-26 cs.AI cs.LG cs.LO
Verification of Distributed Artificial Intelligence Systems in Bioinformatics
软件是许多项目的重要推动者,否则这些项目将无法执行。这些项目包括太空探索,天气建模,基因组计划等。帮助这些项目的软件做它被期望做的事情是至关重要的。在软件工程的术语中,符合需求的软件,也就是做了预期要做的事情的软件被称为正确的。软件的正确性检查一直是软件工程领域的研究热点。软件应用领域的从业者通常不重视检查这种正确性。然而,随着软件系统变得越来越大,可能与由不同作者编写的分布式子系统相结合,这种验证变得更加重要。并发分布式系统由于其组件的执行速度不同而容易出现危险的错误,例如死锁、竞争条件或违反项目特定属性。本计画描述一种称为模型检验的静态分析方法,应用于生物资讯学过程的分散式系统验证。在它,我们评估的模型检验方法的效率,以验证组合过程的并发执行的步骤越来越多。我们表明,我们的实验结果符合分析推导的期望。我们还强调了静态分析在生物信息学领域中对组合过程的重要性。
2023-02-09 cs.SE
PyVeritas: On Verifying Python via LLM-Based Transpilation and Bounded Model Checking for C
提出PyVeritas框架,利用LLM将Python转换为C,结合有界模型检验和基于MaxSAT的故障定位,实现Python代码的形式化验证与错误定位,转换准确度达80-90%。
2025-08-11 cs.AI cs.SE
Model Checking Contractual Protocols
本文讨论了如何模型检验,用于验证动态系统的行为需求的技术,可以有效地部署合同的验证。对当事人之间的协议采取过程观点,即合同随着时间的推移在影响其状态变化的行为或更一般的事件方面的演变而被建模。建模是用Petri网在其他研究工作的贸易程序的代表性的精神。本文通过一个例子说明了验证技术的所有阶段,并认为这种方法是有用的,特别是在合同前谈判和合同起草的背景下。这里报告的工作是一个更广泛的项目的一部分,对基于逻辑的工具,用于分析和表示的法律合同的发展。
2001-06-07 cs.LO cs.SE
Handling state space explosion in verification of component-based systems: A review
CBSD是构建软件系统的一种替代方法,它提供了许多好处,特别是在降低系统设计的复杂性方面。然而,将组件部署到系统中是一项具有挑战性且容易出错的任务。模型检测是系统分析系统正确性的可靠方法之一。它是对系统状态空间的bruce-force检查,有助于显着扩展系统的置信水平。然而,模型检查是有限的一个关键问题,称为状态空间爆炸(SSE)。为了从模型检查中获益,需要一种适当的方法来减少SSE。在过去的二十年中,大量的SSE约简方法被提出,其中包含许多相似性,不同之处,在某些情况下,概念不明确。本研究首先将回顾目前国内外的SSE处理方法,并根据其相似性、原理及特性进行分类。其次,它研究了CBSD验证过程中处理SSE问题的方法,并提供了潜在的局限性,强调了未来研究工作的关键挑战。
2021-05-27 cs.SE math.LO
Simulation, Model Checking, and Execution of Activity Models
本文介绍了我们的研究结果,使用活动建模的模拟(验证),模型检验(验证),和执行的目的。每一个都需要解决系统复杂性和进一步研究行为建模。我们认为,不同的模型隐含着不同的理解和期望。我们强调一些区别与示范使用离散事件系统规范与示范模型。特别是,模型中的连续时间基础有助于观察获得每种能力的一些固有限制和优势。输入、输出和状态的时间特性,或者缺乏这些特性,是开发行为规范的核心。我们使用DEVS来验证活动模型的模拟能力。我们使用约束DEVS的活动模型的验证。我们展示了一些执行可以派生,无论是从规范本身或考虑仿真和模型检验。
2021-05-25 cs.SE
Boost the Impact of Continuous Formal Verification in Industry
软件模型检验在过去的二十年里取得了长足的进步,但其可扩展性和适应性仍然是制约其实际应用的主要瓶颈之一。在这里,我们描述了一种通过利用持续集成和回归测试等实践将软件模型检验技术集成到DevOps文化中的方法。特别是,我们提出的方法着眼于修改的软件系统,因为它的最后一次验证,并提交给一个连续的形式化验证过程中,一组回归测试用例的指导下。我们的愿景是专注于开发人员,通过使用他们的主要软件开发方法和工具,将形式化验证技术集成到开发人员的工作流程中。
2019-07-17 cs.LO cs.SE
Distributed Bounded Model Checking
程序验证是一项耗费大量资源的任务。本文着眼于并行化SMT为基础的自动程序验证,特别是有界模型检查,使其可以分布和执行的机器集群的问题。我们提出了一个算法,动态展开的程序的调用图,并经常分裂它创建子任务,可以并行解决。该算法是自适应的,根据可用资源控制拆分速率,并且还利用来自SMT求解器的信息来拆分搜索中最复杂的地方。我们实现了我们的算法,通过修改CORRAL,微软的静态驱动程序验证器(SDV)使用的验证器,并评估它的一系列硬SDV基准。
2020-05-16 cs.PL cs.SE
Towards Evaluating Size Reduction Techniques for Software Model Checking
形式化验证技术被广泛用于检测软件系统中的设计缺陷。形式化验证可以通过将已经实现的源代码转换为形式化模型并尝试证明模型的某些属性(例如,在执行期间不会出现错误状态)来完成。不幸的是,从源代码到正式模型的转换通常会产生大型复杂的模型,这使得验证过程效率低下且成本高昂。为了减小结果模型的大小,可以使用优化变换。这样的优化包括从编译器设计和不同的程序切片技术已知的常见算法。我们的论文描述了一个框架转换为一个正式的模型,增强了各种优化的大小减少C程序。我们评估和比较几种优化算法对模型大小和验证效率的影响。结果表明,不同的优化更适合某些模型,证明需要一个框架,包括几个算法。
2017-08-24 cs.PL cs.SE
Formal Verification, Engineering and Business Value
如何将模型检验和静态程序分析等自动化验证技术应用于数百万行嵌入式C/C++代码?如何将这种技术包装成软件开发人员和工程师可以使用的方式,他们可能没有形式化验证的背景?以及如何说服企业经理实际支付这样的软件?这项工作解决了其中一些问题。基于我们自己开发和发布Goanna源代码分析器的经验,我们解释了模型检验,静态分析和SMT解决的底层技术,涉及创建工业证明工具的步骤。
2013-01-01 cs.SE
Program Dependence Net and On-demand Slicing for Property Verification of Concurrent System and Software
针对并发软件模型检查中的状态爆炸问题,提出基于Petri网的程序依赖网(PDNet)及其按需切片方法,统一模型避免转换,减少冗余计算,显著降低验证成本。
2023-11-15 cs.FL cs.SE
Verification of Digital Twins using Classical and Statistical Model Checking
本文针对数字孪生虚拟实体运行时一致性问题,提出结合经典模型检验与统计模型检验进行持续验证,并在自动驾驶卡车数字孪生上验证了无死锁性、功能正确性及及时性等属性。
2025-05-07 cs.ET cs.SE
VITAMIN: A Compositional Framework for Model Checking of Multi-Agent Systems
University of Modena and Reggio Emilia(摩德纳和雷焦艾米利亚大学);Télécom Paris(巴黎电信学院)
本文提出VITAMIN组合式框架,以模块化、易扩展的方式支持多智能体系统的形式化验证,可灵活适配多种逻辑与模型,克服现有工具硬编码、缺乏组合性及难用的问题。
2025-03-13 cs.LO cs.MA cs.SE
Abstract Family-based Model Checking using Modal Featured Transition Systems: Preservation of CTL* (Extended Version)
变量系统允许通过使用特征(配置选项)标记变量功能来有效地构建许多自定义变量。在许多应用中,其质量保证和形式化验证至关重要。基于族的模型检验通过利用变量之间的共性,允许在单次运行中同时验证变分系统的所有变量。然而,它的计算成本仍然在很大程度上取决于变体的数量(通常是巨大的)。在这项工作中,我们将展示如何实现有效的基于家庭的模型检验的CTL* 的时间属性,使用可变性抽象和现成的(单系统)工具。我们使用变异抽象派生抽象的基于族的模型检验,其中的变异模型的变分系统被替换为一个抽象的(更小的)版本,称为模态特征的过渡系统,它保留了普遍的和存在的时间属性的满意度,在CTL* 表示。模态特征变迁系统包含两类变迁,分别称为may变迁和must变迁,它们分别由保守(过近似)抽象和它们的对偶(欠近似)抽象定义。可变性抽象可以与变量集合的不同划分相结合,以推断用于变分系统的合适的分而治之验证计划。我们说明了几个变分系统的这种方法的实用性。
2018-03-05 cs.LO cs.PL cs.SE
DiVM: Model Checking with LLVM and Graph Memory
在本文中,我们介绍了一个虚拟机的概念与图形组织的内存作为一个通用的后端显式状态和抽象驱动的软件验证。我们的虚拟机使用LLVM IR作为其指令集,并通过一小部分超级调用进行了丰富。我们表明,所提供的hypercalls是足以实现一个小的操作系统,然后可以与应用程序链接,以提供一个POSIX兼容的验证环境。最后,我们通过与更传统设计的LLVM模型检查器进行比较,证明了该方法的可行性。
2017-04-19 cs.SE
Timed Actors and Their Formal Verification
本文回顾了Timed Rebeca语言的形式语义与验证技术,提出利用FTTS和TTS分别处理基于事件的属性缩减与基于变量值的属性检验,并支持可调度性分析、死锁及断言验证。
2023-09-13 cs.PL cs.SE
Under-approximation of the Greatest Fixpoints in Real-Time System Verification
TCTL公式中最大不动点的有效逐次欠逼近技术可用于快速反驳必然性和真空性检验。我们首先给出了一个综合的算法框架下和过近似模型检查。我们设计了{ \em NZF(Non-Zeno Fairness)谓词},具有最大不动点公式,作为评估公式(如$\exists\pfrrη_1$、$\exists\pfrr\pevtη_1$和$\exists\pevt\pfrrη_1$)的统一框架。然后,我们证明了一个新的配方的NZF谓词的区域搜索和最少的不动点评价的基础上表征的正确性。新的配方,然后导致一个评估算法的设计,与连续下近似的能力,为$\exists\pfrrη_1$,$\exists\pfrr\pevtη_1$,和$\exists\pevt\pfrrη_1$。然后,我们提出的技术,有效地搜索的区域,并加快这三个公式的近似评估。我们的实验表明,该技术已显着提高了对几个基准的验证性能超过精确的模型检查。
2005-01-22 cs.LO cs.SE
Under-approximation of the Greatest Fixpoint in Real-Time System Verification
TCTL公式中最大不动点的有效逐次欠逼近技术可用于快速反驳必然性和真空性检验。我们首先给出了一个综合的算法框架下和过近似模型检查。我们设计了{ \em NZF(Non-Zeno Fairness)谓词},具有最大不动点公式,作为评估公式(如$\exists\pfrrη_1$、$\exists\pfrr\pevtη_1$和$\exists\pevt\pfrrη_1$)的统一框架。然后,我们证明了一个新的配方的NZF谓词的区域搜索和最少的不动点评价的基础上表征的正确性。新的配方,然后导致一个评估算法的设计,与连续下近似的能力,为$\exists\pfrrη_1$,$\exists\pfrr\pevtη_1$,和$\exists\pevt\pfrrη_1$。然后,我们提出的技术,有效地搜索的区域,并加快这三个公式的近似评估。我们的实验表明,该技术已显着提高了对几个基准的验证性能超过精确的模型检查。
2005-01-22 cs.LO cs.SE
Safety Verification and Refutation by k-invariants and k-induction (extended version)
大多数软件验证工具都可以归类为许多已建立的系列之一,每个系列都有自己的重点和优势。例如,模型检验中的具体反例生成、抽象解释中的不变推理和演绎验证中的注释完备性等。这就产生了一个重要的和基本的可用性问题,因为用户可能不得不学习和使用一种技术来发现潜在的问题,但随后需要一种完全不同的技术来表明它们已经被修复。本文提出了一个统一的算法kIkI,它严格地推广了抽象解释、有界模型检验和k-归纳法。这不仅结合了这些技术的长处,而且使它们能够相互作用和相互加强,从而提供了一种“单一工具”的核查方法。
2015-06-29 cs.LO cs.SE