35th CAV 2023: Paris, France - Part I 标题及摘要。机器翻译,未经过校对,仅作为参考。
Automata and Logic
我们提出了一种通过成员资格和等价查询来学习确定性定时自动机(DTA)的算法。我们的算法是 L* 算法的扩展,具有可识别定时语言的 Myhill-Nerode 风格特征,这是 DTA 可识别的定时语言类别。我们首先用 Nerode 风格的同余来描述可识别的计时语言。使用它,我们给出了一种算法,其中有一位聪明的老师除了成员资格和等价查询之外还回答符号成员资格查询。通过符号成员资格查询,人们可以一次询问一组特定的定时单词的成员资格。我们证明,对于任何可识别的定时语言,我们的学习算法都会返回识别它的 DTA。我们展示了如何用有限多个成员资格查询来回答符号成员资格查询。我们还表明,我们的学习算法需要智能教师的多项式查询和普通教师的指数级查询。我们将我们的算法应用于各种基准测试,并通过普通教师验证了其有效性。
AWS IoT Events 是一项 AWS 服务,可让您轻松响应来自 IoT 传感器和应用程序的事件。 AWS IoT Events 中的检测器模型使客户能够监控其设备或设备组是否出现故障或操作变化,并在发生此类事件时触发操作。如果这些模型不正确,它们可能与设备的实际状态不同步,导致客户无法响应设备上发生的事件。
从创建探测器模型时所犯的常见错误开始,我们创建了一套自动分析仪,使客户能够证明他们的模型不存在六种常见错误。自 2021 年 12 月以来,我们的分析器一直在 AWS IoT Events 生产服务中运行。我们的分析器实时检查生产服务中的六个正确性属性。 93% 的 AWS IoT Events 客户已经运行了我们的分析器,而无需了解它们。我们的分析仪报告了生产服务中提交的探测器型号中 22% 存在财产违规行为。
组合验证,例如假设保证推理(AGR)技术,是根据系统组件的属性来验证系统的属性。解决与模型检查相关的状态爆炸问题至关重要。然而,获得适当的 AGR 假设始终是一项高度的智力挑战,特别是在定时系统的情况下。在本文中,我们提出了一种基于学习的确定性时间自动机的组合验证框架。在此框架中,使用改进的学习算法以确定性单时钟定时自动机的形式自动构造假设,并实施有效的方案来获取用于假设学习的时钟重置信息。我们证明了框架的正确性和终止性,并提出了两种改进来加速验证。我们讨论实验结果,以评估框架的可扩展性和有效性。结果表明,我们提出的框架可以有效地减少状态空间,并且在大多数情况下优于传统的整体模型检查。
在线监控是混合系统的一种有效验证方法,它在运行时检查系统的(部分)信号是否满足信号时间逻辑(STL)等规范。经典的 STL 监控是通过计算鲁棒性区间来执行的,该鲁棒性区间指定在每个时刻监控的信号距离违反规范和满足规范的程度。然而,由于鲁棒性区间在监控过程中单调收缩,经典的在线监控器可能无法报告新的违规行为或无法准确描述当前时刻的系统演变。在本文中,我们通过考虑违规或满意度的原因来解决这些问题,而不是直接使用稳健性。我们首先引入一个布尔因果关系监视器,它决定每个时刻是否与违反或满足规范相关。然后,我们将此监视器扩展到定量因果关系监视器,该监视器可以告诉您某个时刻与违规或满意度的相关程度。我们进一步表明经典监视器可以从我们提出的监视器中派生出来。实验结果表明,所提出的两种监控器能够提供有关系统演化的更详细信息,而不需要明显更高的监控成本。
我们通过一个 6 维能量游戏来描述行为等效的所有常见概念,其中能量限制了攻击者试图区分进程的能力。防守者赢得的初始积分详尽地确定了(强)线性时间-分支时间谱相关过程中的哪些预序和等价物。
时间复杂度是指数级的,由于覆盖了跟踪等价性,因此这是最佳的。这种复杂性比我们之前确定等价组的方法有了显着提高,在这种方法中,区分 HML 公式的指数集是在超指数可达性游戏之上构建的。在使用 VLTS 基准的实验中,该算法的性能与最佳相似度算法相当。
Concurrency
本文探讨了如何使用交换性来提高并发程序算法终止检查的效率和功效。如果程序运行正在终止,则可以得出结论,与该程序的可达交换性等效的所有其他运行也都将终止。由于关于终止的推理涉及对程序的无限行为的推理,因此程序运行的等价类可能包括长度严格大于捕捉某些操作可能被无限期推迟的直观概念的无限字。我们提出了一种声音证明规则,该规则在终止推理中利用了这些以及经典的有界交换性,并设计了一种通过算法实现该声音证明规则的方法。我们提供的实验结果证明了该方法在改进并发程序的自动终止检查方面的有效性。
Petri 网是一种已建立的并发模型。如果对于每个初始标记,所有可能游程的长度都有统一的界限,则 Petri 网将终止。最近关于 Petri 网终止的研究表明,一般来说,实际模型应该快速终止,即在多项式时间内终止。在本文中,我们重点关注工作流网络的终止,这是一种用于对业务流程进行建模的 Petri 网的既定变体。我们通过显示二分法部分证实了快速终止的直觉:工作流网络要么是非终止的,要么是在线性时间内终止的。
工作流网络的中心问题是验证称为健全性的正确性概念。在本文中,我们对广义健全性感兴趣,与健全性的其他变体不同,它保留了诸如组合之类的理想属性。我们证明验证广义健全性对于终止工作流网络来说是 coNP 完备的。
一般来说,这个问题是 PSPACE 完全的,因此很棘手。我们利用 coNP 上限的见解来使用 MILP 求解器实现广义稳健性程序。我们的新颖方法一般来说是一种半过程,但在丰富的终止工作流网络上是完整的,其中包含广泛使用的基准套件中大约 90% 的基准。以前解决该问题的最先进方法是一种不同的半过程,它是在无与伦比的所谓自由选择工作流网络类上完成的,因此我们的实现改进并补充了最先进的方法艺术。
最后,我们分析了允许并行性的终止时间的变体。这是一个自然的扩展,因为工作流网络在设计上是一个并发模型,但先前的终止时间分析假设工作流网络的顺序行为。顺序和并行终止时间可以看作是表示为工作流网络的进程需要执行的时间的上限和下限。在我们的实验部分中,我们表明在某些基准测试中,两个界限存在显着差异,这与并行性是工作流网络固有的直觉相一致。
本文介绍了 Lincheck,这是一种新的实用且用户友好的框架,用于在 Java 虚拟机 (JVM) 上测试并发算法。 Lincheck 提供了一种简单的声明式方式来编写并发测试:用户不是描述如何执行测试,而是通过声明要检查的所有操作来指定要测试的内容;框架会自动处理剩下的事情。因此,使用 Lincheck 编写的测试简洁且易于理解。该框架自动生成一组并发场景,使用压力测试或有界模型检查来检查它们,并验证每次调用的结果是否正确。值得注意的是,如果通过模型检查检测到错误,Lincheck 会提供易于遵循的跟踪来重现该错误,从而显着简化错误调查。
据我们所知,Lincheck 是 JVM 上第一个生产就绪的工具,它提供了编写并发测试的简单方法,而不需要特殊的技能或专业知识。我们成功地将Lincheck集成到Kotlin协程等几个大型项目的开发过程中,并发现了流行并发库中的新错误,例如Java标准ConcurrentLinkedDeque中的竞争和Java AbstractQueuedSynchronizer框架中的活跃性错误,该框架在大多数应用程序中都使用同步原语。我们相信Lincheck可以显着提高并发算法研发的质量和生产力,并成为检查其正确性的最先进的工具。
nekton 是一种新工具,用于检查高度复杂的并发搜索结构的线性化证明。该工具的独特功能是基于分离逻辑和流程框架的参数堆抽象,以及对有关未来依赖线性化点的事后论证的支持。我们描述该工具,展示案例研究,并讨论实施细节。
我们考虑验证在弱内存模型上运行的并发程序的活性属性。为此,我们确定了公平的概念,这些概念排除了恶魔般的非决定论,受到实际观察的启发,并且适合算法技术。我们提供了公平性概念的逻辑和随机定义,并证明它们在活性验证的背景下是等效的。特别是,我们表明我们的公平性允许我们将活跃性问题(重复控制状态可达性)减少为简单控制状态可达性问题。我们通过开发一个统一的框架来证明这是一种普遍现象,该框架作为我们公平性定义的形式基础,并且可以实例化到广泛的内存模型中。这些模型包括 SC、TSO、PSO、(强/弱)释放-获取、强一致性、FIFO 一致性和 RMO。
依赖保证(RG)是一种非常有影响力的并发程序组合证明技术,最初是在假设顺序一致的共享内存的情况下开发的。在本文中,我们首先通过引入适用于任何由霍尔三元组公理化表征的模型的 RG 框架来推广 RG,使其相对于底层内存模型参数化。其次,我们实例化了这个框架,用于在因果一致的内存下推理并发程序,该框架是使用最近提出的基于势的操作语义来制定的,从而为此类语义提供了第一个推理技术。所提出的程序逻辑(我们称之为 Piccolo)采用了一种新颖的断言语言,允许指定每个线程可能达到的有序状态序列。我们采用了多种石蕊测试,以及对彼得森算法的改编,以实现因果一致记忆的互斥。
现有的动态偏序约简 (DPOR) 算法在并发数据结构基准测试中的扩展性很差,因为它们会由于自旋循环而访问大量的阻塞执行。
为此,我们开发了 Awamoche,这是一种健全、完整且强优化的 DPOR 算法,可避免在具有等待和确认 CAS 循环的程序中探索任何无用的阻塞执行。因此,它的性能优于最先进的技术,通常是指数级的。
Cyber-Physical and Hybrid Systems
我们提出了 Scenic 的一个主要新版本,这是一种概率编程语言,用于编写网络物理系统环境的形式模型。 Scenic 已成功用于各种领域的 CPS 设计和分析,但早期版本仅限于本质上是二维的环境。在本文中,我们通过对 3D 几何的本机支持扩展了 Scenic,引入了新的语法,该语法提供了描述 3D 配置的表达方式,同时保留了语言的简单性和可读性。我们用复杂形状的精确建模取代了 Scenic 将对象简单化为盒子的表示,包括考虑对象遮挡的基于光线追踪的可见性系统。我们还扩展了该语言以支持以 LTL 表示的任意时间要求,并构建了一个根据该语言的形式语法生成的可扩展场景解析器。最后,我们通过案例研究来说明这些功能所支持的新应用领域,而在场景 2 中不可能准确建模。
在本文中,我们考虑一种具有两种时钟(历史和未来)的广义时间自动机(GTA)模型,该模型可以简洁地表达许多时间特征,包括时间自动机、具有和不具有对角线约束的事件时钟自动机以及具有对角线约束的自动机。计时器。
我们的主要贡献是一种新的基于模拟的区域算法,用于检查这个统一模型中的可达性。虽然已知此类算法存在于定时自动机中,并且最近已被证明可用于没有对角线约束的事件时钟自动机,但这是第一个可以处理具有对角线约束的事件时钟自动机和具有计时器的自动机的结果。我们还为我们的模型提供了一个原型实现,并展示了几个基准测试的实验结果。据我们所知,这是第一个有效的实现,不仅适用于我们的统一模型,甚至适用于带有计时器的自动机或事件时钟自动机(带有预测时钟),而无需通过定时自动机进行昂贵的转换。最后但并非最不重要的一点是,除了本身有趣之外,广义定时自动机还可以用于对定时自动机模型上的事件时钟规范进行模型检查。
深度神经网络 (DNN) 越来越多地用于安全关键型自主系统中,作为处理高维图像数据的感知组件。由于感知 DNN、传感器(相机)和环境条件的复杂性,对这些系统的形式分析特别具有挑战性。我们提出了一个案例研究,将形式概率分析技术应用于实验性自主系统,该系统使用感知 DNN 引导飞机在滑行道上行驶。我们通过用紧凑的抽象替换相机和网络来解决上述挑战,其转移概率是根据衡量 DNN 在代表性图像数据集上的性能的混淆矩阵计算得出的。由于概率是根据经验数据估计的,因此容易出现误差,因此除了这些概率的点估计之外,我们还计算置信区间,从而增强分析的可靠性。我们还展示了如何利用本地 DNN 特定分析作为运行时防护来过滤掉行为不当的输入并提高整个系统的安全性。我们的研究结果适用于其他使用复杂 DNN 进行感知的自主系统。
迫切需要学习控制器来赋予系统安全性和目标达成性,这对于许多安全关键系统至关重要。强化学习 (RL) 已成功部署,根据用户定义的奖励函数(编码所需的系统要求)合成控制器。然而,在综合具有安全性和达到目标要求的可证明正确的控制器方面仍然是一个重大挑战。为了解决这个问题,我们尝试设计一种特殊的混合多项式-DNN 控制器,该控制器易于验证,同时又不失其表现力和灵活性。本文提出了一种基于强化学习、低次多项式拟合和知识蒸馏来合成这种混合控制器的新方法。它还提供了一种计算方法,通过构建和解决来自验证条件的约束优化问题来产生障碍证书和类李亚普诺夫函数,这可以保证来自系统初始集的每个轨迹以及结果控制器满足给定的安全性和达到目标的要求。我们在一组基准示例(包括几个高维系统)上评估了所提出的混合控制器综合方法。结果验证了我们方法的有效性和适用性。
安全验证任务涉及在某些环境假设下根据所需的安全属性验证系统。然而,由于建模错误或故障,这些环境假设有时可能会被违反。理想情况下,即使在某些违规情况下,系统也能保证其关键属性,即系统对环境偏差具有鲁棒性。本文提出了鲁棒性的概念,作为过渡系统的一个明确的、一流的属性,它捕获了它对环境中可能出现的偏差的鲁棒性。我们将偏差建模为一组可以添加到原始环境中的转换。然后,我们的鲁棒性概念描述了该系统的安全范围,即,它捕获系统仍然保证所需属性的所有额外环境转换集。我们证明,能够明确地推理鲁棒性可以实现超出上述常见验证问题的新型系统分析和设计任务。我们展示了我们的框架在涉及放射治疗界面、电子投票机、收费协议和医疗泵设备的案例研究中的应用。
我们推出 Verse 库的目的是使混合系统验证更适用于多代理场景。在 Verse 中,决策代理在地图中移动并通过传感器相互交互。每个智能体的决策逻辑都是用 Python 的子集编写的,连续动态由黑盒模拟器给出。可以实例化多个代理,并且可以将它们移植到不同的地图以创建场景。 Verse 提供了使用现有可达性分析算法来模拟和验证此类场景的功能。我们通过异构代理、增量验证、不同的传感器模型以及用于后期计算的即插即用子例程来说明该库的功能和用例。
Synthesis
给定一个作为输入和输出之间的布尔关系的规范,布尔函数综合会根据输入为每个输出生成一个函数(称为 Skolem 函数),以满足规范。一般来说,满足相同规格的 Skolem 函数可能有多种可能性,并且选择一个或另一个的标准可能因规格而异。
在本文中,我们开发了一种以与标准无关的形式表示 Skolem 函数空间的技术,使得随后可以针对不同的标准提取 Skolem 函数。我们的重点是识别这种形式并为这种形式开发编译算法。我们的方法基于一种新颖的反例指导策略,用于从否定范式的规范中对变量子集进行存在量化。我们实现了这项技术,并将我们的性能与其他布尔函数综合知识编译方法的性能进行了比较,并显示出有希望的结果。
我们提供了一种基于学习的技术,用于猜测源自 LTL 综合问题的奇偶游戏中的获胜策略。廉价获得的猜测在多种应用中可能很有用。猜测策略不仅可以在游戏规模巨大而无法采用严格方法的情况下尽最大努力应用,而且还可以通过多种方式提高严格 LTL 合成的可扩展性。首先,检查猜测的策略是否获胜比构建策略更容易。其次,即使猜测在某些地方是错误的,也可以通过策略迭代来修复,比从头开始构建更快。第三,猜测可以用于即时方法,以优先考虑最富有成效的方向的探索。
与之前的作品相比,我们(i)反映了游戏状态中高度结构化的逻辑信息,即所谓的语义标签,来自最近的 LTL 到自动机的翻译,以及(ii)通过学习来正确反映它以前解决过的游戏,使解决过程更接近人类的推理。
手动指定奖励函数的困难引发了人们对使用线性时序逻辑 (LTL) 来表达强化学习 (RL) 目标的兴趣。然而,LTL 的缺点是它对转移概率中的小扰动很敏感,这会阻止在没有额外假设的情况下进行可能近似正确 (PAC) 的学习。时间折扣提供了一种消除这种敏感性的方法,同时保留逻辑的高表达力。我们研究了在未知转移概率的马尔可夫决策过程中使用贴现 LTL 进行策略综合的情况,并展示了当所有贴现因子相同时如何通过奖励机将贴现 LTL 减少为贴现总奖励。
我们提出了一种新颖的方法来计算具有常规获胜条件的有限图上的两人游戏中的宽松获胜策略。给定游戏图 G 和奇偶性获胜条件 ,我们计算一个获胜策略模板,该模板以简洁的数据结构收集无限数量的获胜策略以实现目标。我们使用这种获胜策略集的新表示来解决在网络物理系统设计背景下两人博弈的应用所产生的两个问题——(i)增量综合,即使策略适应新到达的、额外的常规目标,以及(ii)容错控制,即根据执行器偶尔或持续不可用的情况调整策略。我们用来解决这些挑战的策略模板的主要特点是它们易于计算、适应性和组合性。对于增量综合,我们在大量基准测试中凭经验表明,如果添加的规范数量增加,我们的技术将大大优于现有方法。虽然我们的方法并不完整,但我们的原型实现返回了所有 1400 个基准实例中的完整获胜区域,即在实践中有效处理大型问题类。
数据科学家通常需要编写程序来处理机器学习模型的预测,例如视频数据中的对象检测和轨迹。然而,由于现实世界数据的模糊性,编写此类查询可能具有挑战性;特别是,它们通常包含必须手动调整的实值参数。我们提出了一个名为 Quivr 的新颖框架,它可以综合匹配给定示例集的轨迹查询。为了有效地合成参数,我们引入了一种用于修剪参数空间的新技术和一种新颖的定量语义,使其更加高效。我们在 17 个任务的基准上评估 Quivr,其中包括之前工作中的几个任务,并表明它可以为每个任务合成准确的查询,并且我们的优化大大减少了合成时间。