Multi-player Equilibria Verification for Concurrent Stochastic Games
并发随机博弈(Concurrent Stochastic Games,CSG)是一种理想的概率系统建模方法,其特点是多个参与者或组件具有不同的目标,同时做出合理的决策。示例包括通信或安全协议和多机器人导航。存在用于CSG的验证方法,但仅限于代理或玩家被分组为两个联盟的场景,其中同一联盟中的那些共享相同的目标。在本文中,我们提出了多联盟的验证技术的CSG。我们使用子博弈完美的社会福利(或社会成本)的最优纳什均衡,这是战略,没有任何联盟单方面改变其战略在任何游戏状态,并在总的组合目标最大化(或最小化)。我们提出了一个扩展的时序逻辑rPATL(概率交替时间时序逻辑与奖励),指定任何数量的不同联盟的基于均衡的属性,和相应的模型检验算法的一个变体停止游戏。我们实现我们的技术在PRISM游戏工具,并将其应用到几个案例研究,包括秘密共享协议和公益游戏。
2020-07-24 cs.LO
Automated Verification of Reactive and Concurrent Programs by Calculation
反应式程序将传统的顺序编程结构与原语相结合,以允许与其他并发代理进行通信。它们在现代应用中无处不在,从组件系统和Web服务到网络物理系统和自主机器人。在本文中,我们提出了一个代数验证策略的并发反应式程序,与一个大的或无限的状态空间。我们定义了新的运营商来描述相互作用和状态更新,以及相关的方程理论。有了这个,我们可以计算一个反应式程序的指称语义,从而促进自动证明。值得注意的是,我们的推理支持迭代程序与反应不变量,Kleene代数的基础上,并行组成。我们通过验证反应缓冲区来说明我们的策略。我们的法律和战略是机械化的伊莎贝尔/UTP,我们的霍尔和他的统一编程理论(UTP)框架的实施,提供健全的保证和实际的验证支持。
2021-04-12 cs.LO cs.PL
A Note on Runtime Verification of Concurrent Systems
本文提出基于Mazurkiewicz迹的三值LTrL运行时验证方法,通过迹一致Büchi自动机构造监控器,使同一迹的所有线性化得到一致的验证结论。
2025-07-07 cs.FL cs.LO cs.SE
Automatic Verification of Timed Concurrent Constraint Programs
时间并发约束(Timed Concurrent Constraint,tccp)是并发约束编程(Concurrent Constraint Programming,cc)范式的扩展,它允许我们指定时间至关重要的并发系统,例如反应式系统。可以有无限多个状态的系统可以在tccp中指定。模型检验是一种能够自动验证具有大量状态的有限状态系统的技术。在过去的几年里,一些研究已经调查了如何扩展模型检验技术的系统具有无限数量的状态。在本文中,我们提出了一种方法,利用tccp的计算模型。基于约束的计算允许我们定义一种方法,将模型检验算法应用于(一类)无限状态系统。我们扩展的经典算法的模型检验LTL的一个特定的逻辑定义的验证tccp和tccp结构,我们在这项工作中定义的建模程序的行为。我们定义了一个限制的时间,以得到一个有限的模型,然后我们开发了一些说明性的例子。据我们所知,这是第一个为tccp定义模型检验方法的方法。
2005-05-11 cs.LO
Efficient Verification of Concurrent Programs Over TSO Memory Model
我们解决的问题,多线程程序运行在总存储顺序(TSO)内存模型的有效验证。它已被证明,即使有限的数据域程序,控制状态可达下TSO的复杂性是非原始递归。在本文中,我们首先提出了一种有界缓冲区验证方法,其中缓冲区的大小上的界限放置,验证是递增地进行,通过增加的缓冲区的大小与验证过程的每次迭代,直到达到所述的界限。对于有限数据域上的程序,我们还证明了存在一个缓冲区的界限K,如果该程序是安全的,那么它也是安全的无界缓冲区。我们已经实现了这种技术在一个工具ProofTraPar。我们的结果对memorax [2],一个国家的最先进的声音和完整的验证TSO记忆模型,一直令人鼓舞。
2016-06-17 cs.LO cs.PL
Automatic Verification of Concurrent Stochastic Systems
随机游戏的自动验证技术允许对系统进行正式推理,这些系统具有不确定或概率设置中理性代理之间的竞争或协作行为。现有的工具和技术集中于回合制游戏,其中游戏的每个状态由单个玩家控制,以及零和属性,其中两个玩家或联盟具有直接相反的目标。在本文中,我们提出了并发随机游戏(CSG)的自动验证技术,它提供了一个更自然的并发决策和交互模型。我们还考虑(社会福利)纳什均衡,正式确定的情况下,两个球员或联盟有不同的目标可以合作,以优化他们的联合表现。我们提出了一个扩展的时间逻辑rPATL在这种情况下指定的定量属性,并提出相应的算法验证和策略合成的变体停止游戏。对于有限时域的性质,计算是精确的,而对于无限时域,它是近似使用值迭代。对于零和性质,它需要通过线性规划来求解矩阵博弈,对于基于均衡的性质,我们通过SMT编码的标记多面体方法来找到双矩阵博弈的社会福利或社会成本纳什均衡。我们在PRISM游戏中实现了这种方法,这需要扩展工具的建模语言用于CSG,并将其应用于包括机器人技术,计算机安全和计算机网络在内的领域的案例研究,明确展示了CSG和基于平衡的属性的好处。
2020-08-29 cs.LO
Formal Verification of Chase-Lev Deque in Concurrent Separation Logic
本论文利用并发分离逻辑并在 Coq proof assistant 中对 Chase-Lev deque 进行了形式化验证,采用无界现实实现与 linearizability 强规范,满足最小可信计算基等三大标准,并扩展支持安全内存回收与松弛内存模型基础。
2023-05-20 cs.LO cs.PL
Modular termination verification with a higher-order concurrent separation logic (Intermediate report)
我们报告的中间结果,我们的研究推理活性属性,除了深正确性的一个命令,并发程序设计语言与高阶存储。目前,我们集中在一个特定的活性属性,即终止。通过保证终止性,我们可以将部分正确性的陈述加强为完全正确性。这是通过将终止性转换为安全属性的经典方法来实现的。特别是,我们扩展的程序设计语言考虑与调用权限,这已被证明,使模块化的推理终止。添加原子块是为了增加我们基于调用权限的方法的表现力。我们的工作建立在Iris --一个基础的、机器检查的、高阶并发分离逻辑框架--之上,而不修改它。有了这些补充,我们就能够模块化地推理并发但非阻塞算法的终止。我们对正在考虑的程序设计语言的添加保留了Iris对帮助和预言进行推理的能力。作为一个例子,我们将当前的系统应用于现有的无锁并发堆栈的案例研究,并在Iris中得到了证明。最后,我们概述了扩展阻塞并发方法的后续步骤。
2022-12-28 cs.LO cs.PL
The Singularity Theory of Concurrent Programs: A Topological Characterization and Detection of Deadlocks and Livelocks
该研究提出并发程序分析的奇点理论范式,通过分支拓扑空间建模程序执行,用代数拓扑不变量检测死锁与活锁,为并发验证提供新的拓扑基础。
2025-10-29 cs.DC cs.LO cs.PL
Model Checking Data Flows in Concurrent Network Updates (Full Version)
我们提出了一个模型检验的方法来验证数据流的正确性,在网络配置的并发更新。该验证问题对于软件定义网络(SDN)非常重要,其中错误可能导致分组丢失、黑洞和安全违规。我们的方法是基于规范的时间属性的个人数据流,如要求流是免费的周期。我们检查这些属性是否同时满足所有活动的数据流,而网络配置更新。为了表示并发网络控制器的行为和由此产生的配置的演变,我们引入了一个扩展的Petri网的过境关系,其特征在于由Petri网的每个转变所引起的数据流。对于安全的Petri网与过境,我们减少了时间流属性的验证电路模型检验问题,可以解决有效的验证技术,如IC3,插值,有界模型检验。我们报告令人鼓舞的实验与原型实现的基础上的硬件模型检查ABC。
2019-11-14 cs.LO
Robust Verification of Concurrent Stochastic Games
Department of Computer Science, University of Oxford, Oxford OX1 2JD, UK(计算机科学系,牛津大学,牛津 OX1 2JD,英国)
本文提出鲁棒并发随机游戏模型及验证框架,用于处理多智能体系统中转移概率的不确定性问题。
2026-01-21 cs.AI cs.GT cs.LO
Logic Characterization of Floyd Languages
Floyd语言(FL),别名操作符先后次序语言,最近重新受到关注,这要归功于它们的闭包属性和局部可解析性,这些属性允许应用自动验证技术(例如模型检验)以及并行和增量解析。它们适当地包括各种其他类,特别是Visual Pushdown语言。在本文中,我们提供了一个一元二阶逻辑(MSO)的FL的特征,在相同的风格作为一个正则语言的Buchi的。我们证明了自动机识别FL和MSO形式化之间的等价性。
2012-04-20 cs.FL cs.LO
Shared Memory Concurrent System Verification using Kronecker Algebra
多线程软件的验证仍然是一个挑战。这主要是因为线程交织的数量在线程数量中呈指数级增长。用矩阵演算研究线交织是这一研究领域的一种新方法。我们的程序的稀疏矩阵表示使用Kronecker代数的惰性实现进行操作。一个目标是生成一个称为并发程序图(CPG)的数据结构,它描述了所有可能的交织,并在保持完整性的同时结合了同步。我们证明了CPG在一般情况下可以表示为稀疏邻接矩阵。因此,矩阵中的条目数与其行数成线性关系。因此,有效的算法可以应用于CPG。此外,由于同步,实际上只需要结果矩阵的很小一部分,而其余部分在自动机方面是不可达到的。由于矩阵运算的延迟实现,无法到达的部分永远不会计算。这大大加快了处理速度,表明这种方法非常有前途。可以在CPG上执行包括数据流分析在内的各种应用。此外,矩阵的结构可以用来证明任意数量的线程的底层程序的属性。例如,死锁自由证明了一大类程序。
2011-09-26 cs.LO
On the Expressiveness of a Logic of Separated Relations
我们比较模型理论的表达性的存在片段的分离逻辑在不受限制的关系签名(SLR)-只有分离的连接作为逻辑连接和高阶归纳定义,传统上称为符号堆片段-与(一元)二阶逻辑((M)SO)的表达性。虽然SLR和MSO在无限树宽的结构上是不可比的,但事实证明,SLR可以嵌入SO中,一般来说,当模型的树宽由作为输入的参数限制时,MSO成为SLR的严格子集。我们还讨论了定义一个片段的SLR,相当于MSO模型的有界树宽的问题。这样的片段,然后将成为最一般的分离逻辑与可判定的蕴涵问题,一个关键成分的实际验证方法的自适应(可重构)组件为基础的和分布式系统。
2022-08-02 cs.LO
Barriers in Concurrent Separation Logic: Now With Tool Support!
我们开发并证明了一个合理的并发分离逻辑的Pthreads风格的障碍。尽管Pthreads屏障在系统中被广泛使用,并且分离逻辑被广泛用于验证,但是还没有任何努力将两者结合起来。与锁和临界区不同,Pthreads屏障允许在多个线程之间同时进行资源重新分配,并且本质上是有状态的,导致逻辑设计及其可靠性证明的显着复杂性。我们展示了我们的逻辑可以应用到一个特定的示例程序中的模块化的方式。我们的校样在Coq进行机器检查。我们展示了一个程序验证工具集,自动应用逻辑规则,并履行相关的证明义务。
2012-04-19 cs.LO
Towards modular verification of pathways: fairness and assumptions
模块化验证是一种用于解决并发交互系统等复杂系统的性能验证中经常遇到的状态爆炸问题的技术。模块化方法是基于这样的观察,即感兴趣的属性通常只涉及系统的一小部分。因此,可以构建简化的模型,其近似于整个系统的行为,从而允许更有效的验证。生物化学途径可以被看作是复杂的并发交互系统。因此,验证它们的属性通常在计算上非常昂贵,并且可以利用模块化方法。在本文中,我们报告的生化途径的模块化验证框架的发展的初步结果。我们认为生物化学途径是竞争分子资源的并行反应系统。模块化验证技术可以基于仅包含涉及感兴趣的分子资源的反应的简化模型。对于一个适当的描述系统的行为,我们认为,它是必不可少的考虑一个合适的公平性的概念,这是一个完善的概念,并发理论,但在该领域的新途径建模。我们提出了一个建模方法,包括公平性,我们确定的假设下,验证属性可以在一个模块化的方式。我们证明了这种方法的正确性,并证明它的模型上的EGF受体诱导的MAP激酶级联Schoeberl等。
2012-11-17 cs.LO
Fair Termination for Parameterized Probabilistic Concurrent Systems (Technical Report)
我们考虑的问题,自动验证一个参数化的概率并发系统的家庭终止的概率为1的所有实例对抗对抗的竞争对手。一个参数化的族定义了一个无限状态系统:对于每个数n,这个族由一个实例和n个有限状态进程组成。与安全性相比,活性的参数化验证目前仍然被认为是极具挑战性的,特别是在模型中存在概率的情况下。一个主要的挑战是提供一个足够强大的象征性框架。一个著名的符号框架的参数化验证的非概率并发系统是定期模型检验。虽然该框架最近扩展到概率系统,将公平性的框架-通常是至关重要的验证终止-一直特别困难,由于存在无限数量的公平性约束(每个过程一个)。我们的主要贡献是一个系统的,正则保持,编码有限的公平性(一个现实的公平性的概念,提出了由Henzinger)定期模型检验的概率参数化系统的框架。我们的编码减少了终止有限的公平性,以验证参数化的终止没有公平性的概率系统在定期模型检验(验证框架已经存在)。我们表明,我们的算法可以验证终止许多有趣的例子,从分布式算法(赫尔曼的协议)和进化生物学(莫兰过程,细胞周期开关),这并不符合标准的公平概念。据我们所知,我们的算法是第一个全自动的方法,可以证明这些例子的终止。
2017-10-30 cs.DC cs.FL cs.LO
Formalization of Automated Trading Systems in a Concurrent Linear Framework
我们提出了一个声明性和模块化规范的自动交易系统(ATS)的并发线性框架CLF。我们在Celf中实现了它,这是一个CLF类型检查器,也支持执行CLF规范。我们概述了验证的两个代表性的交易系统使用生成语法,CLF规范的推理方法。
2019-04-15 cs.LO
On Reducing Linearizability to State Reachability
原子对象(如并发堆栈和队列)的有效实现特别容易受到编程错误的影响,并且需要自动验证。不幸的是,他们的正确性标准-相对于给定的ADT规格的线性化-很难验证。即使在通常的时间安全属性(如控制状态可达性)是可判定的实现类上,线性化也是不可判定的。在这项工作中,我们证明了验证线性化某些固定ADT规格是可减少控制状态的可达性,尽管更难任意ADT。我们实现了几个最流行的原子对象的这种减少。这种减少产生的第一个可判定性结果的验证,而不限制并发线程的数量。此外,它使现有的安全验证工具的线性化验证的应用。
2015-05-25 cs.LO
A Rewriting Logic Approach to Stochastic and Spatial Constraint System Specification and Verification
本文讨论的问题,指定,模拟和验证反应系统重写逻辑。它提出了一个可执行的语义概率,时间和空间并发约束编程-这里称为随机和空间并发约束系统(SSCC)-在重写逻辑语义框架。该方法是基于一个增强和广义模型的并发约束规划(CCP)的计算层次空间可以分配给属于代理。可执行语义忠实地表示和操作捕捉高度并发的性质,不确定的行为,空间和认知特征的反应系统与信息流。在SSCC中,定时属性(由随机持续时间表示)可以与进程相关联,并且还支持排他性和独立的概率选择。利用Maude系统中的SMT求解技术,实现了SSCC的底层约束系统,包括整数和实数上的无量词公式。这导致了一个完全可执行的实时符号规范,可用于定量分析的统计模型检验的形式。SSCC的主要特点和能力说明了整个文件的例子。这一贡献是一个更大的研究工作的一部分,旨在提供正式的分析技术和工具,数学上建立在CCP的方法,研究界。
2022-11-03 cs.LO
Bilateral Proofs of Safety and Progress Properties of Concurrent Programs
本文提出了并发程序的可组合规格说明的一种理论,它允许:(1)对给定规格说明的程序代码进行验证;(2)组合组件的规格说明以产生程序的规格说明。该规范包括在程序执行结束时(如果执行终止)保持的终端属性和在整个执行过程中保持的永久属性。我们设计(1)证明技术的验证,和(2)组合规则,以获得规格的程序,从它的组件。我们利用组件的终端属性导出永久的性质的程序,反之亦然。因此,这种证明策略被称为双边的。该理论的组成方面是很重要的,在组装程序的组件,其中一些源代码可能是不可用的,因为越来越多的情况下,跨供应商的程序集成。
2017-04-05 cs.LO cs.PL
Correlated Equilibria and Fairness in Concurrent Stochastic Games
博弈论技术和均衡分析促进了竞争系统的设计和验证。虽然均衡计算的算法复杂性已被广泛研究,但博弈论方法的实际实现和应用是最近才出现的。工具,如PRISM游戏支持自动验证和合成的零和和(ε-最优子博弈完美)社会福利纳什均衡性能并发随机游戏。然而,这些方法变得效率低下的代理人的数量增长,也可能产生的均衡,产生显着的变化,个别代理人的结果。相反,我们考虑相关的均衡,其中玩家可以通过公共信号进行协调,并引入一个替代的社会公平的最优性标准,它可以应用于纳什均衡和相关均衡。我们发现,相关的均衡更容易计算,更公平,也可以改善联合结果。我们实现了范式游戏和更复杂的情况下,多玩家并发随机游戏的时间逻辑规范的算法。
2022-02-01 cs.GT cs.LO
HistMSO: A Logic for Reasoning about Consistency Models with MONA
Institut Polytechnique de Paris(巴黎理工学院);Université Côte d’Azur, CNRS, I3S(蔚蓝海岸大学,法国国家科学研究中心,I3S研究所)
本文提出HistMSO逻辑,用于推理复制数据系统的一致性模型,展示了其能表达42种一致性模型中的39种,并利用MONA工具进行自动推理。
2026-04-03 cs.DC cs.FL cs.LO
Automated Verification of Quantum Protocols by Equivalence Checking
本文介绍了一种用于各种量子信息处理协议形式化验证的技术和工具。该工具采用稳定器形式化,能够表示并发量子协议,比量子电路更具有表达能力。我们还报告了使用我们的量子等价性(QEC)来分析一系列量子信息处理协议的实验结果。
2013-12-20 cs.LO
Formalizing and Verifying Decentralized Systems with Extended Concurrent Separation Logic
随着区块链等分布式账本技术的快速发展,去中心化技术正变得至关重要和无处不在。已经开发了许多分散式系统,通过这些技术以极大的可靠性和可靠性来解决安全和隐私问题。同时,分散系统的形式化和验证是保证设计正确性和实现安全性的关键。本文提出了一种新的方法,形式化和验证分散系统与一种扩展的并发分离逻辑。我们的逻辑扩展了标准的并发分离逻辑的新功能,包括通信封装,环境感知和节点级推理,增强了模块化和表达能力。此外,我们开发了统一性和兼容性的逻辑,以方便实现。此外,我们通过应用我们的逻辑来形式化和验证去中心化系统中的关键技术,包括共识机制和智能合约,来证明我们方法的有效性和多功能性。
2020-08-19 cs.DC cs.LO
Automated Synthesis of Distributed Controllers
LaBRI, University of Bordeaux(波尔多大学)
本文探讨了在Mazurkiewicz轨迹设定下分布式综合的概念及其在去中心化运行时监控中的应用,针对并发程序验证与分析的挑战提出新的方法。
2015-06-08 cs.FL cs.LO cs.SY
Partial Orders for Efficient BMC of Concurrent Software
并发程序中存在的大量交织是导致并发软件自动分析困难的根本原因。人们普遍认为,记忆力差会使这个问题更加困难。我们解决这两个问题的建模程序的执行与偏序,而不是交错语义(SC)。基于这些思想,我们实现了一个软件分析工具。它可以扩展到足够大的程序,以实现对各种型号(包括SC、Intel x86和IBM Power)上的非平凡并发系统代码的首次形式化验证。
2013-01-08 cs.LO cs.PL
CCS-Based Dynamic Logics for Communicating Concurrent Programs
这项工作提出了三个日益表现力的动态逻辑,其中的程序是CCS进程(sCCS-PDL,CCS-PDL和XCCS-PDL)。他们的目标是推理使用CCS描述的并发程序和系统的属性。为了实现这一点,CCS的操作符和结构被添加到基本模态逻辑中,以创建适合于描述和验证通信,并发和非确定性程序和系统的属性的动态逻辑,类似于PDL用于顺序情况。我们提供完整的公理化的三个逻辑。与Peleg的带通道的并发PDL不同,我们的逻辑具有简单的Kripke语义、完备的公理化和有限模型性质。
2009-04-01 cs.LO
Towards Concurrent Quantitative Separation Logic
本文提出并发定量分离逻辑,将定量分离逻辑与并发分离逻辑结合,用于验证并发、指针和随机化程序实现后置条件的概率下界。
2024-09-30 cs.LO cs.PL
Deductive Verification of Weak Memory Programs with View-based Protocols (extended version)
University of Twente(特温特大学);TU Delft(代尔夫特理工大学);Eindhoven University of Technology(埃因霍温理工大学)
本文提出在VerCors中编码弱内存并发的方案,通过扩展原子操作支持并引入协议自动机概念,实现基于许可的分离逻辑,用于验证弱内存并发程序的正确性。
2026-04-22 cs.LO
Sheaves and geometric logic and applications to the modular verification of complex systems
在本文中,我们表明,并发系统的状态,转移和行为往往可以建模为一个合适的拓扑空间上的层。在这种情况下,几何逻辑可以用来描述当互连系统时,在全局级别上保留哪些局部属性(即单个系统的属性)。主要应用领域是复杂系统的模块化验证。我们说明的想法,通过一个例子,涉及一个家庭的相互作用的控制器的火车上的铁路轨道。
2008-10-16 cs.LO
Towards Practical Graph-Based Verification for an Object-Oriented Concurrency Model
为了利用多核和分布式平台的强大功能,并使软件工程师更容易开发并发软件,已经提出了不同的面向对象的并发模型,如SCOOP。尽管分析SCOOP程序的实际重要性,目前还没有通用的验证方法,直接对程序代码进行操作,而无需额外的注释。其中一个原因是SCOOP的大量部分冲突的语义形式化(无论是在理论上还是在实现上)。在这里,我们提出了一个简单的图形转换系统(GTS)为SCOOP的运行时语义,掌握所有已知的语义语言的最常见的功能。这个运行时模型是在最先进的GTS工具GROOVE中实现的,它使我们能够模拟,分析和验证SCOOP程序的一个子集的死锁和其他行为属性。除了提出第一种方法来验证SCOOP程序的自动翻译GTS,我们还强调我们的经验,应用GTS(特别是GROOVE)指定语义的形式,运行时模型,这应该是转移到GTS模型的其他并发语言和库。
2015-04-10 cs.DC cs.LO cs.PL
Parametric Verification: An Introduction
本文对并发系统的参数验证作了一个简短的介绍。它起源于在托鲁塞(2016)和萨拉戈萨(2017)的Petri网会议上举行的两次为期一天的教程。本文不仅介绍了视频版本中处理的基本形式概念,而且还提供了广泛的文献,为读者提供进一步的参考,涵盖该领域。我们首先介绍了一般参数验证背后的动机,然后重点介绍了不同的模型和方法,用于验证几种类型的系统。它们包括参数时间自动机,用于实时系统建模,其中时间约束不一定是先验已知的。类似地,参数区间马尔可夫链允许对事件发生概率是具有参数边界的区间的系统进行建模。参数Petri网允许系统的紧凑表示,并处理不同类型的参数。最后,动作合成的目的是在并发系统中启用或禁用动作,以保证其某些属性。在本教程的实践课上使用了一些实施这些方法的工具。相应的实践可以在网上免费获得。
2019-07-01 cs.LO cs.SE
On Algebraic Abstractions for Concurrent Separation Logics
并发分离逻辑的特点是在并行组合和成帧时状态所有权的转移。支撑所有权转移的代数结构是部分交换幺半群(PCM)。现有的研究主要从逻辑的角度考虑所有权转移,而相对较少注意代数的考虑。本文利用保结构的部分函数(即,态射)之间的PCM,以及分离关系的相关概念。结构的态射是代数和范畴论中的标准概念,但在分离逻辑中还没有普遍使用过。分离关系是二元关系,它推广了不相交性,并描述了态射保持结构的输入。这两个抽象通过实现编写规范的简洁方式,通过提供在所有权转移下保留的线程状态的抽象视图,以及通过实现从现有PCM中构造新PCM的用户级构造,来促进验证。
2021-03-04 cs.LO cs.PL
A beginner guide to Iris, Coq and separation logic
本指南面向初学者,介绍使用 Iris 和 Coq 进行形式化验证,重点讲解示例、策略、分离逻辑,并全面覆盖相关工具,以帮助读者安全验证并发算法。
2025-01-23 cs.LO cs.PL
Practical Automated Partial Verification of Multi-Paradigm Real-Time Models
本文介绍了一种完全自动化的验证技术,该技术允许分析使用连续时间概念和操作(即,基于自动机的)和描述性的(即,基于逻辑的)形式主义。该技术依赖于减少,在合理的假设下,连续时间验证问题的离散时间对应。这调和在一个可行的和有效的方式密集/离散和操作/描述性的二分法,在实践中经常遇到的,当涉及到指定和分析复杂的关键系统。本文通过一个以通信协议为中心的重要例子,研究了该技术的适用性。更确切地说,并发运行的协议是形式化的时间自动机的并行实例,而这些实例之间的同步规则是通过度量时序逻辑公式指定的,从而创建一个多范式模型。验证测试运行在这个模型上使用有界有效性检查器实现的技术显示一致的结果和有趣的性能。
2008-07-04 cs.LO
A Concurrent Constraint Programming Interpretation of Access Permissions
面向对象(OO)程序设计语言中的最近趋势是使用Access对象(AP)作为控制程序的并发执行的抽象。AP源代码注释的使用定义了一个协议,指定对象引用如何访问对象的可变状态。虽然AP的使用简化了编写并发代码的任务,但不系统地使用它们可能会导致一些微妙的问题。本文提出了一个声明性解释的AP线性并发约束程序(LCC)。我们将AP表示为约束(即,逻辑中的公式),其蕴涵关系对AP的转换规则进行建模。此外,我们使用LCC中的流程来模拟AP所施加的依赖关系,从而使其在程序中的流的忠实表示。我们利用Girard直觉线性逻辑(ILL)中的公式对LCC过程的解释来验证AP程序的相关性质。属性包括死锁检测、程序正确性(程序是否遵守其AP规范)和方法并发运行的能力。通过依赖于ILL的聚焦纪律,我们提供了一个复杂性的措施,证明上述属性。我们的验证技术的有效性证明,通过实施凹室工具,包括一个动画和验证。前者执行lcc模型,观察AP的流程,并快速找到AP与实现的不一致之处。后者是一个基于ILL的自动定理证明器。这篇论文正在考虑发表在《逻辑程序设计理论与实践》(TPLP)上。
2018-02-13 cs.LO
Modular Verification of Heap Reachability Properties in Separation Logic
许多算法和数据结构的正确性依赖于可达性属性,即依赖于堆中对象之间引用链的存在。关于可达性的推理是困难的,主要有两个原因。首先,任何堆修改都可能影响无限数量的引用链,这会使模块化验证(特别是框架)复杂化。其次,SMT求解器不支持一般图的可达性,这阻碍了自动验证。本文提出了一种分离逻辑可达性的模块化描述和验证技术。对于每个方法,我们只在方法操作的堆的片段中本地指定可达性。一种新形式的可达性框架相对凸的子堆允许一个扩展的可达性属性从堆片段的调用者的更大的片段,使精确的过程模块化推理。我们的技术支持实际上重要的堆结构,即无环图与有界的出度以及(潜在的循环)图,每对节点之间最多有一个路径(模循环)。集成到分离逻辑允许我们以统一的方式推理可达性和其他属性,验证并发程序,并通过现有的分离逻辑验证器自动化我们的技术。我们证明,我们的验证技术是适合SMT为基础的验证编码到毒蛇验证基础设施的基准测试的例子。
2019-08-16 cs.LO cs.PL
Equilibrium Design for Concurrent Games
University of Oxford(牛津大学);University of Göteborg(哥德堡大学)
在博弈论中,机制设计关注的是激励机制的设计,从而使博弈达到预期的结果。在本文中,我们研究的激励措施的设计,以便获得一个理想的均衡,例如,一个均衡满足给定的时间逻辑属性-一个问题,我们称之为均衡设计。我们的研究是基于一个框架,其中系统规范表示为时序逻辑公式,游戏作为定量并发游戏结构,玩家的目标作为平均收益目标。特别地,我们考虑由LTL和GR(1)公式给出的系统规范,并表明,只要存在这样的机制,就可以在PSPACE中实现LTL属性,在NP/ $Σ^{P}_{2}$中实现GR(1)规范。我们还研究了各种相关的决策和优化问题的复杂性,如最优性和唯一性的解决方案,并表明,所有这些问题的复杂性在于多项式层次。作为一个应用,均衡设计可以被用来作为一种替代解决方案的合理综合和验证问题的并发游戏的平均收益目标时,没有解决方案存在,或作为一种技术,以修复,只要可能,并发游戏与不理想的理性结果(纳什均衡)在一个最佳的方式。
2021-06-18 cs.AI cs.GT cs.LO
Extending concurrent separation logic to the hardware level to verify the xv6 OS kernel on RISC-V with AI agents
MIT CSAIL(麻省理工学院计算机科学与人工智能实验室)
该研究提出基于Iris的MachCSL框架,将并发分离逻辑扩展至硬件层级,借助LLM智能体验证RISC-V上的xv6内核,发现10个漏洞,耗时77天完成验证。
2026-09-04 cs.LO cs.OS
Modules and Logic Programming
我们研究的条件下,同时建设的证明网的框架开发的Andreoli在最近的论文。为此,我们定义了特定的正确性标准。我们首先研究封闭的模块(即有效性的执行一个逻辑程序),然后扩展该标准的开放模块(即有效性在执行过程中)区分标准的非循环性和可连接性,以允许增量验证。
2004-11-10 cs.LO
Separation Logic for Memory Conflict Detection in High-Level Synthesis
SLING AI Inc.(SLING AI 公司)
研究高级综合中内存冲突检测问题,提出在LLVM IR级别运行的空间验证框架,通过提取表达式建模内存库,利用分离逻辑和SMT预言机保证安全,实现确定性回退,确保硬件免受内存冲突影响。
2026-07-09 cs.LO
Partial Order Reduction for Security Protocols
安全协议是使用密码学进行通信的并发进程,目的是实现各种安全属性。最近关于它们的形式化验证的工作带来了用于决定迹等同性的过程和工具(例如,匿名性、不可链接性、投票保密性)。然而,这些程序是基于一个天真的符号探索所考虑的过程中,毫不奇怪,大大限制了验证工具的可扩展性和实际影响的所有痕迹。在本文中,我们克服了这个困难,通过发展偏序约简技术的安全协议的验证。我们提供了减少的过渡系统,最佳地消除冗余的痕迹,这是足够的模型检查跟踪等价性的协议通过符号执行。我们已经在工具Apte中实现了我们的减少,并证明了它在各种协议上实现了预期的加速。
2015-09-07 cs.CR cs.LO
Designing Equilibria in Concurrent Games with Social Welfare and Temporal Logic Constraints
本文研究并发博弈中的均衡设计,通过设计激励使博弈的纳什均衡满足LTL或GR(1)时间逻辑性质,并分析了相关决策与优化问题的复杂性,为理性综合与博弈修复提供了替代方案。
2024-12-03 cs.GT cs.LO cs.MA
Regular Model Checking Revisited (Technical Report)
在这方面的贡献,我们重温定期模型检验,一个强大的框架,已成功地应用于验证的无限状态系统,特别是参数化系统(并发系统与任意数量的进程)。我们提供了一个重新制定的定期模型检验与长度保持传感器在存在的二阶理论在自动结构。我们认为,这是一个自然的配方,使我们能够利用强大的综合技术,已被广泛研究的软件验证社区。更确切地说,在这个公式中,一阶部分表示所需正确性属性的验证条件(我们有完整的求解器),而存在量化的二阶变量表示要合成的关系。我们表明,许多有趣的正确性可以用这种方式制定,例如安全,活性,双相似性,和游戏。更重要的是,我们表明,这种新的配方允许新的有趣的基准(和旧的定期模型检验基准,以前被认为是困难的),特别是在参数化系统验证领域,要解决。
2021-11-21 cs.FL cs.LO