Challenges in aligning requirements engineering and verification in a large-scale industrial context
本文通过在大型软件公司开展访谈研究,识别需求与验证过程协调中的多类关键挑战,并为从业者和研究者提供改进对齐管理的依据。
2023-07-23 cs.SE
Dynamic Analysis of Regression Problems in Industrial Systems: Challenges and Solutions
本文介绍了运行时验证、测试和静态分析技术在几个工业项目中的应用经验。我们讨论了我们经历的八个最相关的挑战,以及我们为应对这些挑战而制定的战略。
2017-05-23 cs.SE
Incremental Bounded Model Checking for Embedded Software (extended version)
程序分析在嵌入式系统开发中处于主流的边缘。基于有界模型检验的自动化验证工具在行为需求的形式化验证、发现运行时错误和自动化测试用例生成等方面有着广泛的应用。现有的嵌入式软件的工业工具使用现成的有界模型迭代,并应用它来验证程序与越来越多的解绕。这种方法不必要地浪费时间重复已经完成的工作,并且无法利用增量SAT求解的能力。本文报告了软件模型检查器CBMC的扩展,以支持增量有界模型检验和它的成功集成与工业嵌入式软件验证工具BTC EmbeddedTester。我们提出了一个广泛的评估大型工业嵌入式程序,这表明,增量有界模型检验削减运行时间的一个数量级相比,标准的非增量方法,使应用程序的形式化验证大型和复杂的嵌入式软件。
2014-09-20 cs.SE
Interval Analysis in Industrial-Scale BMC Software Verifiers: A Case Study
本研究针对有界模型检测(BMC)的性能限制问题,评估区间分析的成本与收益,通过两个基准测试验证其对求解特定测试用例的必要性。
2024-06-21 cs.SE
LLM-Based Static Verification of Code Against Natural-Language Requirements: An Industrial Experience Report
NIO Inc.(蔚来);University of Nottingham Ningbo China(诺丁汉大学宁波校区);Swinburne University of Technology(斯威本科技大学)
本文提出一种基于大语言模型的两阶段工作流,用于在智能汽车网络安全案例中验证代码是否符合自然语言要求,通过引入结构化中间表示减少幻觉和输出变异,提升静态分析的准确性与解释性。
2026-05-18 cs.SE
Enterprise model verification and validation: an approach
本文提出了一种验证和确认的方法,在这里使用,以完成经典的工具箱,工业用户可以利用在企业建模和集成领域。这种方法,它已被定义为独立于任何应用领域是基于本文提出的几个正式的概念和工具。这些概念包括属性概念、属性引用矩阵、属性图、企业建模领域本体、概念图和形式化推理机制。
2009-01-23 cs.SE
Requirement verification in simulation-based automation testing
工业互联网的出现导致自动化系统和待控制过程之间越来越多的复杂的时间相关性。需要比形式化验证方法更好地扩展并且比测试更精确的验证方法。基于仿真的运行时验证提出了这样一种方法,并提出了一个应用程序的度量时序逻辑的贡献。所提出的方法的实际可扩展性进行了验证,对工业合作伙伴设计的生产过程中,发现的要求违反。
2017-04-25 cs.LO cs.SE
Formal Verification, Engineering and Business Value
如何将模型检验和静态程序分析等自动化验证技术应用于数百万行嵌入式C/C++代码?如何将这种技术包装成软件开发人员和工程师可以使用的方式,他们可能没有形式化验证的背景?以及如何说服企业经理实际支付这样的软件?这项工作解决了其中一些问题。基于我们自己开发和发布Goanna源代码分析器的经验,我们解释了模型检验,静态分析和SMT解决的底层技术,涉及创建工业证明工具的步骤。
2013-01-01 cs.SE
ESBMC: A Survey of Its Evolution, Integration, and Future Directions in Formal Software Verification
The University of Manchester(曼彻斯特大学);Federal University of Amazonas (UFAM)(亚马孙联邦大学)
本文综述了ESBMC从研究原型发展为工业级形式化验证平台的过程,涵盖其技术演进、语言支持扩展、与LLM及AI代理的集成,并总结了其获奖、经济影响及未来挑战。
2026-05-30 cs.LO cs.SE
A Survey of Static Formal Methods for Building Dependable Industrial Automation Systems
工业自动化系统(IAS)需要高度可靠;它们不仅应该按预期运行,而且还应该以可靠,安全和安全的方式运行。形式化方法是一种数学技术,可以极大地帮助开发可靠的系统,并可以在系统开发生存周期(SDLC)的所有阶段使用,包括需求工程,系统设计和实现,验证和确认(测试),维护,甚至文档。这项最先进的调查报告现有的正式的方法来创建更可靠的国际会计准则,重点是静态的正式方法,在系统完全实现之前使用。我们根据SDLC的阶段对调查的作品进行分类,使我们能够确定每个阶段的研究差距和有希望的未来方向。
2021-08-12 cs.SE
Abstract Compilation for Verification of Numerical Accuracy Properties
在现代软件中,数值精度属性的验证仍然是一项重要且具有挑战性的任务。本文介绍了一个原始的框架,结合不同的解决方案的数值精度。首先,我们扩展了现有的运行时验证工具E-ACSL有理数在运行时监测精度属性。第二,我们提出了一个抽象的编译器,FLDbrowser,执行源到源的转换,这样的结果程序的执行,称为抽象执行,是一个抽象的解释的初始程序。第三,我们提出了一个仪器库FLDLib,正式传播精度属性沿抽象执行。虽然每种解决方案都有自己的利益,但我们强调它们的组合对于工业环境的好处。初步实验表明,所提出的技术可以有效地和健全的工业程序的准确性进行分析,通过限制在薄的数值场景的分析。
2019-11-25 cs.MS cs.SE
Industrial-Strength Documentation for ACL2
ACL2定理证明器是一个复杂的系统。它的图书馆很大。工业验证工作可能会用数十万行额外的建模工具、规范和证明脚本来扩展这个基础。高质量的文档对于在这种规模的项目上合作的团队来说至关重要。我们已经开发了XDOC,这是一个灵活的、可扩展的ACL2文档工具,它可以整合ACL2本身的文档、社区图书和组织的内部形式化验证项目,并且具有许多有助于保持最终手册最新的功能。使用这个工具,我们制作了一个全面的,公开的ACL2+图书手册,为所有ACL2用户带来更好的文档。我们还开发了一个在Centaur Technology内部使用的扩展手册,该手册扩展了公共手册,以涵盖Centaur的内部书籍。我们希望使用ACL 2的其他组织也希望开发类似的扩展手册。
2014-06-06 cs.MS cs.SE
Automated Deductive Verification for Ladder Programming
梯形图逻辑是IEC 61131-3标准化的程序设计语言,广泛用于对工业可编程逻辑控制器(PLC)进行编程。PLC程序由输入(其值在运行时由工厂传感器给出),输出(其值在运行时提供给工厂执行器)和从输入值计算输出值的逻辑表达式组成。由于梯形图程序的图形形式,以及典型工业程序中的输入和输出量,调试此类程序既耗时又容易出错。在本文中,我们提出了一个基于Why 3的工具原型,我们已经实现了自动化的演绎验证的使用,以提供一个易于使用和强大的调试工具的阶梯程序员。
2019-12-23 cs.LO cs.PL cs.SE
AutoDeduct: A Tool for Automated Deductive Verification of C Code
AutoDeduct基于Frama-C框架,通过两个插件自动推断C函数的ACSL契约,减少手动标注开销,并在工业示例上验证了其有效性。
2025-01-18 cs.LO cs.SE
NOVA: A Verification-Aware Agent Harness for Architecture Evolution in Industrial Recommender Systems
Tencent Inc.(腾讯公司)
提出NOVA框架,通过架构梯度、验证级联和层级任务控制实现工业推荐模型架构的自动化演化,有效减少静默失败,缩短文献到生产周期13倍以上。
2026-07-29 cs.IR cs.SE
veriFIRE: an Industrial Case Study in Verifying Consistency Properties for a DNN-Based Wildfire Detection System
The Hebrew University of Jerusalem(海法大学);Elbit Systems - ISTAR & EW - Elisra L.T.D;Cornell University(康奈尔大学)
本文提出一种端到端方法,通过将应用需求编码为求解器兼容查询,利用现有神经网络验证器验证野火检测系统中的单调性和有界响应等一致性属性,并在真实背景样本上评估,展示了工业系统可获得有意义的领域特定保证。
2026-06-02 cs.LG cs.LO cs.SE
Fuzzing Microservices: A Series of User Studies in Industry on Industrial Systems with EvoMaster
本文报告了在美团近2年集成基于搜索的白盒模糊测试器EvoMaster的经验,通过三项用户研究评估其在工业微服务测试生成中的表现,证实了其优势并指出了需进一步研究的挑战。
2024-08-22 cs.SE
Software is infrastructure: failures, successes, costs, and the case for formal verification
Université Paris Cité(巴黎西岱大学);University of Malta(马耳他大学);University of Southern Denmark(南丹麦大学);King’s College London(伦敦国王学院)
本文探讨了软件在现代社会中的重要性及质量缺陷带来的成本,主张通过形式验证和程序分析来提升软件可靠性。
2026-01-29 cs.CY cs.SE
Verifying components of Arm(R) Confidential Computing Architecture with ESBMC
本文应用基于SMT的软件模型检查器ESBMC对Arm机密计算架构中的RMM固件进行验证,展示其在合理时间内发现规范失败的能力,并提出改进建议以更好满足工业验证需求。
2024-06-05 cs.SE
A Survey on Formal Verification Approaches for Dependable Systems
在工业自动化、过程控制、交通运输和医疗数字设备等不同的安全关键应用中,数字嵌入式系统的复杂性一直在增加。这些系统的正确操作过于依赖于嵌入式数字设备的行为。因此,在嵌入式设备的设计阶段所犯的任何错误或错误都可能改变关键系统的整体功能并导致灾难性后果。为了检测这些误差并消除它们对系统的影响,必须创新新的误差检测方法,并将其应用于数字系统的设计中。然而,这些方法需要巨大的成本和时间。用于解决此问题的方法之一称为验证与确认(V&V),它在进入实施阶段之前,在开发过程的早期确认系统行为满足需求。由于它们在复杂数字系统构建中的优势和重要性,形式V&V方法的应用最近引起了人们的广泛关注。本文重点介绍了各种形式化验证方法的研究,以及如何实现V&V,以开发高可靠的数字嵌入式系统
2022-04-26 cs.SE
PLCverif: Status of a Formal Verification Tool for Programmable Logic Controller
可编程逻辑控制器(PLC)广泛用于工业自动化,包括CERN的安全系统。PLC控制系统逻辑的不正确行为可能会导致财产或环境损坏,甚至在某些情况下造成伤害,从而造成重大经济损失,因此确保其正确行为至关重要。虽然测试多年来一直是验证PLC控制系统逻辑的传统方法,但CERN开发了一个模型检验平台,进一步正式验证PLC逻辑。该平台名为PLCverif,于2019年首次在CERN内部发布,自2020年9月以来,任何人都可以通过开源许可证使用。在本文中,我们将首先概述PLCverif平台的功能,然后重点介绍自2019年以来所做的改进,例如对西门子PLC程序设计语言的更大支持范围,对C Bounded Model Delphi后端(CBMC)的更好支持以及将PLCverif作为开源软件发布的过程。
2022-03-30 cs.SE
A Methodology for Developing a Verifiable Aircraft Engine Controller from Formal Requirements
验证复杂的安全关键系统是一项重大挑战。手动测试和模拟经常使用,但只能探索系统可达状态的子集。形式化方法是一种基于知识的软件规格说明和开发技术,它可以提供系统状态空间上的属性证明和穷举检查。在本文中,我们提出了一个正式的需求驱动的方法,适用于我们的工业合作伙伴提供的飞机发动机控制器的模型。我们的方法开始正式化的控制器的自然语言的要求,使用(预先存在的)正式的需求获取工具(FRET),迭代,与我们的行业合作伙伴协商。一旦形式化,FRET可以自动转换的要求,使他们的验证旁边的Simulink模型的飞机发动机控制器;的要求也可以指导形式化验证使用其他方法。在我们的方法中,这两个并行流寻求结合正式的需求引出,经典的验证方法和运行时验证的结果,以支持在Simulink中建模的航空航天系统的验证,从需求阶段到执行。我们的方法利用正式方法的力量,补充现有的验证技术,并支持整个验证过程中的需求的可追溯性。这种方法通过确保预先正式化要求并在开发过程中可用,简化了开发可验证飞机发动机控制器的过程。在本文中,我们给出了一个概述(FRET),描述我们的方法和工作的形式化和验证的要求,并概述了未来的工作,使用我们的方法。
2021-10-18 cs.SE
veriFIRE: Verifying an Industrial, Learning-Based Wildfire Detection System
The Hebrew University of Jerusalem(耶路撒冷希伯来大学);Elbit Systems(埃尔比特系统公司);Elisra Ltd.(埃利斯拉有限公司)
在这篇简短的论文中,我们介绍了我们正在进行的veriFIRE项目的工作-工业界和学术界之间的合作,旨在使用验证来提高现实世界的安全关键系统的可靠性。我们的目标系统是一个用于野火检测的机载平台,它包含两个深度神经网络。我们描述了系统及其感兴趣的属性,并讨论了我们试图验证系统的一致性,即,它能够继续并正确地分类给定的输入,即使它所描述的野火强度增加。我们认为,这项工作是朝着将学术导向的核查工具纳入现实世界感兴趣的系统迈出的一步。
2022-12-06 cs.LG cs.LO cs.SE
Towards a modeling and analysis environment for industrial IoT systems
工业物联网系统(IIoT)的开发需要足够强大的工具来应对此类系统的复杂性和异构性,这些系统应该在安全关键条件下工作。支持早期分析、验证和确认的方法的可用性仍然是研究界的一个悬而未决的问题。早期的实时可扩展性分析可以帮助量化所需系统的定时性能最终可以达到什么程度。在本文中,我们介绍了CHESSIOT,一个模型驱动的环境,以支持工业物联网系统的设计和分析。CHESSIOT遵循多视图,基于组件的建模方法,采用中间ThingML模型,以全面的方式对系统组件执行基于事件的建模,用于代码生成。为了展示该扩展的功能,我们设计并分析了一个工业实时安全用例。
2021-06-03 cs.PL cs.SE
A Formal Approach to System Integration Testing
系统集成测试是通过逐步集成子组件来测试系统的过程。通常,这些子组件已经过验证,以保证其正确的功能行为。通过将这些经过验证的子组件集成到整个系统中,可能会出现紧急行为,即通过子组件的组装而进化的行为。对于系统集成测试,必须验证整个系统的正确功能行为以及子组件在其系统环境中的正常功能。在这项工作中,我们提出了一种基于形式化验证的系统集成测试方法的思想。系统组件在SystemC中建模。在第一步中,正式验证这些组件。然后建立了整个系统的模型。在第二步中,正式验证该系统模型。这种方法的新颖性是由两个方面:第一,到目前为止,SystemC模型的可用验证框架更多的是一个概念的证明,而不是真正适用于真正的工业案例研究。其次,虽然形式化验证技术是软件和硬件验证的常用技术,但到目前为止,它们只被边缘化地考虑用于系统集成测试。
2014-04-27 cs.SE
Integrated Modeling, Verification, and Code Generation for Unmanned Aerial Systems
本文提出基于 AADL 的 UAS 集成建模、形式化验证和飞行控制器代码生成方法,可在设计早期发现脆弱点并生成可行代码,提升高可靠系统开发效率。
2024-06-13 cs.SE
Industrial Strength Formal Using Abstractions
具有数千个多线程和事务的并发系统的验证是一个具有挑战性的问题,不仅对于模拟或仿真,而且对于形式化。为了使设计正确工作并提供最佳PPA,设计人员通常使用复杂的优化,需要在活动线程和事务之间共享多个资源,使用FIFO,Staller,流水线,无序调度和复杂的分层仲裁。这对于大多数非平凡的设计来说都是如此,而不管具体的应用领域,如CPU、GPU或通信。一开始,这些应用程序域中的许多看起来是多样和复杂的;然而,在某种程度上,所有这些应用程序域都采用了排序、负载均衡、仲裁和危险预防等常见设计原则。在本文中,我们提出了一个关键的抽象为基础的方法来验证排序的正确性和仲裁范围内的设计,这是来自不同的应用领域。我们展示了如何通过使用抽象和支持他们的不变量,不仅可以找到深角落的情况下,连续非常深的设计错误,我们还可以建立详尽的证明,以证明没有关键的错误,如死锁,饥饿,和数据完整性的损失。我们提出了一系列不同的设计上的实验结果,并表明,在一些设计,如FIFO,我们可以验证超过100种不同类型的FIFO的订购正确性使用一个单一的断言在一个单一的测试平台。我们还展示了如何FIFO验证的方法,可以适用于验证超过半打不同类型的仲裁器,包括一个非常复杂的内存子系统仲裁器。我们验证了多时钟同步器和基于数据包的设计,从网络域使用相同的抽象FIFO验证。结果表明,我们的方法,这是可重用的和紧凑的力量。
2017-04-30 cs.LO 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
Encapsulating Formal Methods within Domain Specific Languages: A Solution for Verifying Railway Scheme Plans
形式化方法的发展和应用是计算机科学领域一个长期的研究课题。仍然存在的一个特殊挑战是将正式方法纳入工业实践。本文介绍了一种方法,用于开发领域特定的语言建模和验证,以帮助在工业中的正式方法的吸收。它说明了这种方法在铁路领域的成功应用。所提出的方法解决问题,围绕忠实的建模,可扩展性的验证和访问的建模和验证过程中的从业者在域。
2014-03-23 cs.LO cs.SE
STMutants: A Mutation Testing Dataset for Structured Text Programs in Industrial Automation
Lamar University(拉马尔大学)
针对IEC 61131-3结构化文本程序缺乏公开变异测试基准的问题,构建了包含108个一阶变异体的数据集STMutants,涵盖七类变异算子,并评估了三个大语言模型在测试套件生成和变异检测中的性能。
2026-06-03 cs.SE
Multiple Analyses, Requirements Once: simplifying testing & verification in automotive model-based development
在基于工业模型的开发(MBD)框架中,通常使用文本描述非正式地指定需求。为了使正式方法的应用,这些规格需要正式的输入语言的所有正式工具,应适用于分析模型在不同的发展水平。在本文中,我们提出了一个统一的方法,计算机辅助的正式规格说明的要求和他们的完全自动化翻译成规约语言的不同的验证工具。我们考虑一个两阶段的MBD方案,第一个Simulink模型的开发,自动生成可执行代码。我们(i)提出了一种规约语言和一个原型工具,用于正式但仍然是文本的需求规范,(ii)展示了如何将这些需求自动转换为Simulink Design Verifier的输入语言,用于验证Simulink模型和BTC EmbeddedValidator的源代码验证,以及(iii)展示了我们的统一框架如何在自动化形式化验证之外还实现测试用例的自动化生成。
2019-06-17 cs.LO 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
Offline Runtime Verification of Safety Requirements using CSP
University of Liverpool(利物浦大学);Maynooth University(梅努斯大学)
动态形式化验证是一种关键工具,用于提供系统在使用时满足其要求的持续信心,特别是在系统使用前与静态形式化验证配合使用时。本文介绍了一个工作流和验证(RV)工具链,Varanus,以及它们在工业案例研究中的应用。使用工作流,我们手动从自然语言的安全要求文档中导出一个通信顺序进程(CSP)模型,Varanus将其用作监视器Oracle。这种模型的重用意味着监视器预言机不必单独开发,否则会冒着它和静态验证模型之间不一致的风险。这种方法是由一个远程操作系统,称为MASCOT,它使远程操作内的联合欧洲环(JET)聚变反应堆的离线RV证明。我们描述了我们的MASCOT安全设计文件模型(包括建模过程如何揭示设计中的规格不足),并评估了Varanus工具链的实用性。工作流程和工具提供了安全文件的确认、从文件到系统的安全属性的可追溯性以及RV的经验证的oracle。
2021-05-25 cs.FL cs.RO cs.SE
Formal Verification of Real-Time Function Blocks Using PVS
对安全关键系统进行认证的关键步骤是检查它们是否符合硬实时的【形】要求。实现这一点的一个有前途的方法是从预先验证的组件构建系统,并以组合的方式验证它们的正确性。我们以前报告了一个正式的方法来验证功能块(FB)使用表格表达式和PVS证明助手。通过将我们的方法应用于IEC 61131-3标准的可编程逻辑控制器(PLC),我们构建了一个存储库的精确规范和可重用的(已证明)的可行性和正确性的FB定理。然而,我们以前没有应用我们的方法来验证FB的时序要求,因为IEC 61131-3没有定义从定时器构建的复合FB。在本文中,我们在核领域的经验的基础上,我们进行了两个现实的案例研究,包括软件需求和建议FB实现的两个子系统的工业控制系统。这些实现基于IEC 61131-3 FB,包括开启延迟定时器。我们在验证过程中发现问题并提出解决方案。
2015-06-11 cs.LO cs.SE
FormalRTL: Verified RTL Synthesis at Scale
The Chinese University of Hong Kong(香港中文大学);South East University(东南大学);Huawei Technologies Co. Ltd.(华为技术有限公司)
FormalRTL通过整合软件参考模型,实现了大规模、验证的RTL综合,解决了工业级硬件设计中的规范模糊和正确性保证问题。
2026-02-25 cs.AR cs.SE
Trustworthy Refactoring via Decomposition and Schemes: A Complex Case Study
广泛使用的复杂代码重构工具缺乏关于它们实现的转换的正确性的可靠推理,而对经证明的正确重构的兴趣正在不断增加,因为只有形式化验证才能在将工具自动化重构应用于工业规模代码时提供真正的信心。通过使用我们的战略重写为基础的重构规约语言,我们提出了一个复杂的转换分解成更小的步骤,可以表示为重构方案的实例,然后我们展示了半自动形式化验证的组件的基础上的语义的理论理解的程序设计语言。可扩展和可验证的重构定义可以在我们的解释器中执行,该解释器构建在静态分析器框架之上。
2017-08-24 cs.PL cs.SE
Formal-Method-Guided Vibe Coding: Closing the Verification Loop on AI-Generated Safety-Critical Software Through Model-Driven Engineering
Lancaster University(兰卡斯特大学);Tsinghua University(清华大学);Harbin Institute of Technology(哈尔滨工业大学);Southwest University(西南大学);Aarhus University(奥胡斯大学);University of York(约克大学)
提出Forge管道,结合Vibe编码与模型驱动工程,通过多种形式化验证(Dafny、CSP、Isabelle)迭代修正LLM生成的Java代码,生成符合安全标准的验证证据。
2026-06-24 cs.FL cs.SE
Neural Theorem Proving for Verification Conditions: A Real-World Benchmark
Nanyang Technological University(南洋理工大学);Peking University(北京大学);MBZUAI;Imperial College London(帝国理工学院);East China Normal University(华东师范大学);University of Edinburgh(爱丁堡大学)
本研究提出NTP4VC,首个现实世界多语言基准测试,评估LLMs在自动验证条件证明中的表现,揭示程序验证中的挑战与未来研究方向。
2026-01-28 cs.AI cs.PL cs.SE
Experience Report on Formally Verifying Parts of OpenJDK's API with KeY
软件的演绎验证尚未进入行业,因为复杂性和可扩展性问题需要高度专业的专家。然而,长期的观点是开发验证工具,帮助工业软件开发人员更快,更容易地找到软件系统中的错误或瓶颈。KeY项目构成了一个用于指定和验证软件系统的框架,旨在使形式化验证工具适用于主流软件开发。为了帮助KeY的开发人员、用户和演绎验证社区,我们从用户的角度总结了使用KeY 2.6.1指定和验证真实世界Java代码的经验。为此,我们集中讨论OpenJDK 6的Collections-API的部分内容,其中存在非正式规范。当我们描述我们如何桥接非正式和正式规范时,我们也展示了我们遇到的伴随的挑战。我们的经验是,(a)原则上,演绎验证类API代码库是可行的,但需要很高的专业知识,(b)为现有的代码库开发正式的规范仍然是出了名的困难,(c)在Java中的某些语言结构的规格是具有挑战性的工具建设者。我们在指定OpenJDK 6的部分方面的初步努力构成了未来研究案例研究的垫脚石。
2018-11-27 cs.LO cs.PL cs.SE
Lightweight Interactive Proving inside an Automatic Program Verifier
在形式化方法中,演绎验证方法允许在关键软件上建立最强可能的形式化保证。缺点是设计适当的正式规范和成功履行所需的证明义务所需的人力成本。为了在工业软件开发环境中推广演绎验证,必须提供从简单和自动化方法逐步过渡到演绎验证的方法。SPARK环境,用于开发用Ada编写的关键软件,通过提供自动化工具来正式证明某些代码满足Ada合同中表达的要求,从而实现了这一目标。在利用自动证明器来履行证明义务的程序验证器中,需要一些额外的用户与证明任务的交互:或者帮助分析证明失败的原因,或者最终履行最先进的自动证明器无法达到的验证条件。在SPARK中添加交互式证明功能似乎很复杂,因为证明工具链使用了独立的中间验证工具Why 3,它足够通用,可以接受不同输入语言的多个前端。本文报告了我们的方法来扩展Why 3与交互式证明功能,并与一个通用的客户端-服务器基础设施,允许集成到一个外部的,前端的图形用户界面,如SPARK的证明交互。
2018-11-27 cs.LO cs.PL cs.SE
Veri-Sure: Multi-Agent RTL Code Generation with Temporal Tracing, Slicing and Formal Verification
School of Physics and Astronomy, The University of Edinburgh, Edinburgh, UK(物理与天文学院,爱丁堡大学,爱丁堡,英国);State Key Laboratory of Analog and Mixed-Signal VLSI, University of Macau, Macau(模拟与混合信号VLSI国家重点实验室,澳门大学,澳门);School of Science and Engineering, The Chinese University of Hong Kong, Shenzhen, Shenzhen, China(科学与工程学院,香港中文大学(深圳))
Veri-Sure通过合同感知多智能体框架结合时间追踪与形式验证,实现高正确性的RTL代码生成,优于独立LLMs和传统智能体系统。
2026-10-19 cs.AI cs.AR cs.SE