首页 > 最新文献

2020 Formal Methods in Computer Aided Design (FMCAD)最新文献

英文 中文
Automating Modular Verification of Secure Information Flow 安全信息流的自动化模块化验证
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_23
Lauren Pick, Grigory Fedyukovich, Aarti Gupta
Verifying secure information flow by reducing it to safety verification is a popular approach, based on constructing product programs or self-compositions of given programs. However, most such existing efforts are non-modular, i.e., they do not infer relational specifications for procedures in interprocedural programs. Such relational specifications can help to verify security properties in a modular fashion, e.g., for verifying clients of library APIs. They also provide security contracts at procedure boundaries to aid code understanding and maintenance. There has been recent interest in constructing modular product programs, but where users are required to provide procedure summaries and related annotations. In this work, we propose to automatically infer relational specifications for procedures in modular product programs. Our approach uses syntax-guided synthesis techniques and grammar templates that target verification of secure information flow properties. This enables automation of modular verification for such properties, thereby reducing the annotation burden. We have implemented our techniques on top of a solver for constrained Horn clauses (CHC). Our evaluation demonstrates that our tool is capable of inferring adequate relational specifications for procedures without requiring annotations. Furthermore, it outperforms an existing state-of-the-art hyperproperty verifier and a modular CHC-based verifier on benchmarks with loops or recursion.
通过将其简化为安全验证来验证安全信息流是一种流行的方法,该方法基于构建产品程序或给定程序的自组合。然而,大多数这样的现有工作是非模块化的,也就是说,它们不推断过程间程序中过程的关系规范。这样的关系规范可以帮助以模块化的方式验证安全属性,例如,用于验证库api的客户端。它们还在过程边界提供安全契约,以帮助理解和维护代码。最近,人们对构建模块化产品程序很感兴趣,但需要用户提供过程摘要和相关注释。在这项工作中,我们建议自动推断模块化产品程序中过程的关系规范。我们的方法使用语法引导的合成技术和语法模板,以验证安全信息流属性为目标。这支持对这些属性进行自动化的模块化验证,从而减少注释负担。我们已经在约束Horn子句(CHC)的求解器上实现了我们的技术。我们的评估表明,我们的工具能够在不需要注释的情况下为过程推断出足够的关系规范。此外,它在循环或递归的基准测试中优于现有的最先进的超属性验证器和基于chc的模块化验证器。
{"title":"Automating Modular Verification of Secure Information Flow","authors":"Lauren Pick, Grigory Fedyukovich, Aarti Gupta","doi":"10.34727/2020/isbn.978-3-85448-042-6_23","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_23","url":null,"abstract":"Verifying secure information flow by reducing it to safety verification is a popular approach, based on constructing product programs or self-compositions of given programs. However, most such existing efforts are non-modular, i.e., they do not infer relational specifications for procedures in interprocedural programs. Such relational specifications can help to verify security properties in a modular fashion, e.g., for verifying clients of library APIs. They also provide security contracts at procedure boundaries to aid code understanding and maintenance. There has been recent interest in constructing modular product programs, but where users are required to provide procedure summaries and related annotations. In this work, we propose to automatically infer relational specifications for procedures in modular product programs. Our approach uses syntax-guided synthesis techniques and grammar templates that target verification of secure information flow properties. This enables automation of modular verification for such properties, thereby reducing the annotation burden. We have implemented our techniques on top of a solver for constrained Horn clauses (CHC). Our evaluation demonstrates that our tool is capable of inferring adequate relational specifications for procedures without requiring annotations. Furthermore, it outperforms an existing state-of-the-art hyperproperty verifier and a modular CHC-based verifier on benchmarks with loops or recursion.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"90 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125134000","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Ternary Propagation-Based Local Search for more Bit-Precise Reasoning 基于三元传播的局部搜索更精确的位推理
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_29
Aina Niemetz, Mathias Preiner
Current state of the art for reasoning about quantifier-free bit-vector constraints in Satisfiability Modulo Theories (SMT) is a technique called bit-blasting, an eager translation into propositional logic (SAT). While efficient in practice, it may not scale for large bit-widths when the input size cannot be sufficiently reduced with preprocessing techniques. A recent propagation-based local search procedure was shown to be effective on hard satisfiable instances, in particular in combination with bit-blasting in a sequential portfolio setting. However, a major weakness of this approach is its obliviousness to bits that can be simplified to constant values. In this paper, we generalize propagation-based local search with respect to such constant bits to ternary values. We further extend the procedure to handle more bit-vector operators, and introduce heuristics for more precise inverse value computation via bound tightening for inequality constraints. We provide an extensive experimental evaluation and show that the presented techniques yield a considerable improvement in performance.
可满足模理论(SMT)中无量词位向量约束的推理是一种被称为“位爆破”的技术,是对命题逻辑(SAT)的一种迫切转化。虽然在实践中是有效的,但当预处理技术不能充分减小输入大小时,它可能无法扩展到大比特宽度。最近的一种基于传播的局部搜索方法被证明对难以满足的实例是有效的,特别是在顺序投资组合设置中与爆破相结合。然而,这种方法的一个主要缺点是它忽略了可以简化为常数值的位。在本文中,我们将基于传播的局部搜索推广到三元值。我们进一步扩展了这个过程来处理更多的位向量算子,并引入了启发式方法,通过对不等式约束的界收紧来实现更精确的逆值计算。我们提供了广泛的实验评估,并表明所提出的技术产生了相当大的性能改进。
{"title":"Ternary Propagation-Based Local Search for more Bit-Precise Reasoning","authors":"Aina Niemetz, Mathias Preiner","doi":"10.34727/2020/isbn.978-3-85448-042-6_29","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_29","url":null,"abstract":"Current state of the art for reasoning about quantifier-free bit-vector constraints in Satisfiability Modulo Theories (SMT) is a technique called bit-blasting, an eager translation into propositional logic (SAT). While efficient in practice, it may not scale for large bit-widths when the input size cannot be sufficiently reduced with preprocessing techniques. A recent propagation-based local search procedure was shown to be effective on hard satisfiable instances, in particular in combination with bit-blasting in a sequential portfolio setting. However, a major weakness of this approach is its obliviousness to bits that can be simplified to constant values. In this paper, we generalize propagation-based local search with respect to such constant bits to ternary values. We further extend the procedure to handle more bit-vector operators, and introduce heuristics for more precise inverse value computation via bound tightening for inequality constraints. We provide an extensive experimental evaluation and show that the presented techniques yield a considerable improvement in performance.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126675233","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Smart Induction for Isabelle/HOL (Tool Paper) Isabelle/HOL智能感应(工具文件)
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_32
Yutaka Nagashima
Proof assistants offer tactics to facilitate inductive proofs; however, deciding what arguments to pass to these tactics still requires human ingenuity. To automate this process, we present smart_induct for Isabelle/HOL. Given an inductive problem in any problem domain, smart_induct lists promising arguments for the induct tactic without relying on a search. Our in-depth evaluation demonstrate that smart_induct produces valuable recommendations across problem domains. Currently, smart_induct is an interactive tool; however, we expect that smart_induct can be used to narrow the search space of automatic inductive provers.
证明助手为归纳证明提供策略;然而,决定给这些策略传递什么论据仍然需要人类的聪明才智。为了使这个过程自动化,我们为Isabelle/HOL提供了smart_induct。给定任何问题域中的归纳问题,smart_induct列出归纳策略的有希望的参数,而不依赖于搜索。我们的深入评估表明,smart_induct可以跨问题域提供有价值的建议。目前,smart_induct是一个交互式工具;然而,我们期望smart_induct可以用来缩小自动归纳证明者的搜索空间。
{"title":"Smart Induction for Isabelle/HOL (Tool Paper)","authors":"Yutaka Nagashima","doi":"10.34727/2020/isbn.978-3-85448-042-6_32","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_32","url":null,"abstract":"Proof assistants offer tactics to facilitate inductive proofs; however, deciding what arguments to pass to these tactics still requires human ingenuity. To automate this process, we present smart_induct for Isabelle/HOL. Given an inductive problem in any problem domain, smart_induct lists promising arguments for the induct tactic without relying on a search. Our in-depth evaluation demonstrate that smart_induct produces valuable recommendations across problem domains. Currently, smart_induct is an interactive tool; however, we expect that smart_induct can be used to narrow the search space of automatic inductive provers.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116207247","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
Learning Properties in LTL ∩ ACTL from Positive Examples Only 仅从正例中学习LTL∩ACTL的性质
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_17
Rüdiger Ehlers, I. Gavran, D. Neider
Inferring correct and meaningful specifications of complex (black-box) systems is an important problem in practice, which arises naturally in debugging, reverse engineering, formal verification, and explainable AI, to name just a few examples. Usually, one here assumes that both positive and negative examples of system traces are given-an assumption that is often unrealistic in practice because negative examples (i.e., examples that the system cannot exhibit) are typically hard to obtain. To overcome this serious practical limitation, we develop a novel technique that is able to infer specifications in the form of universal very-weak automata from positive examples only. This type of automata captures exactly the class of properties in the intersection of Linear Temporal Logic (LTL) and the universal fragment of Computation Tree Logic (ACTL), and features an easy-to-interpret graphical representation. Our proposed algorithm reduces the problem of learning a universal very-weak automaton to the enumeration of elements in the Pareto front of a specifically-designed monotonous function and uses classical automaton minimization to obtain a concise, finite-state representation of the learned property. In a case study with specifications from the Advanced Microcontroller Bus Architecture, we demonstrate that our approach is able to infer meaningful, concise, and easy-to-interpret specifications from positive examples only.
在实践中,推断复杂(黑盒)系统的正确和有意义的规范是一个重要的问题,这在调试、逆向工程、正式验证和可解释的AI中自然出现,仅举几个例子。通常,这里假设给出了系统轨迹的正面和负面示例——这个假设在实践中通常是不现实的,因为负面示例(即,系统不能展示的示例)通常很难获得。为了克服这一严重的实际限制,我们开发了一种新的技术,能够仅从正例中推断出通用极弱自动机形式的规范。这种类型的自动机准确地捕获了线性时间逻辑(LTL)和计算树逻辑(ACTL)的通用片段的交集中的属性类,并具有易于解释的图形表示。我们提出的算法将学习通用极弱自动机的问题简化为特定设计的单调函数的帕累托前元素枚举问题,并使用经典自动机最小化来获得学习性质的简洁有限状态表示。在高级微控制器总线体系结构规范的案例研究中,我们证明了我们的方法能够仅从正面示例中推断出有意义,简洁且易于解释的规范。
{"title":"Learning Properties in LTL ∩ ACTL from Positive Examples Only","authors":"Rüdiger Ehlers, I. Gavran, D. Neider","doi":"10.34727/2020/isbn.978-3-85448-042-6_17","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_17","url":null,"abstract":"Inferring correct and meaningful specifications of complex (black-box) systems is an important problem in practice, which arises naturally in debugging, reverse engineering, formal verification, and explainable AI, to name just a few examples. Usually, one here assumes that both positive and negative examples of system traces are given-an assumption that is often unrealistic in practice because negative examples (i.e., examples that the system cannot exhibit) are typically hard to obtain. To overcome this serious practical limitation, we develop a novel technique that is able to infer specifications in the form of universal very-weak automata from positive examples only. This type of automata captures exactly the class of properties in the intersection of Linear Temporal Logic (LTL) and the universal fragment of Computation Tree Logic (ACTL), and features an easy-to-interpret graphical representation. Our proposed algorithm reduces the problem of learning a universal very-weak automaton to the enumeration of elements in the Pareto front of a specifically-designed monotonous function and uses classical automaton minimization to obtain a concise, finite-state representation of the learned property. In a case study with specifications from the Advanced Microcontroller Bus Architecture, we demonstrate that our approach is able to infer meaningful, concise, and easy-to-interpret specifications from positive examples only.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126339332","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Runtime Verification on FPGAs with LTLf Specifications ltf规格fpga的运行时验证
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_10
Tommy Tracy, L. M. Tabajara, Moshe Y. Vardi, K. Skadron
Runtime verification is a technique that evaluates a system's execution trace at runtime against a formal specification. This approach is particularly useful for safety-critical and autonomous systems to verify system functionality and allow for graceful recovery or intervention in the case of system faults. Specifications are often provided in a high-level form using some type of temporal logic, which can then be compiled into an automaton to be used as a monitor for the system. Existing work has mainly focused on implementing such monitors in software. In recent years there has been extensive research, however, in hardware acceleration of automata applications, which can potentially be extended to runtime monitoring. In this paper, we introduce an open-source framework for translating formulas in Linear Temporal Logic over finite traces (LTLf) into automata implementations on FPGAs for high-efficiency and high-performance runtime monitoring. By using the spatial dimension of FPGAs, we run many of these automata in parallel, significantly reducing the latency between violation and monitor report and achieving significant throughput. We compare the performance of four different architectures corresponding to the combinations of deterministic or nondeterministic automata with an explicit or symbolic representation, and determine the design parameters that result in efficient hardware utilization and higher clock frequencies. We found that explicit automata tend to use more hardware resources, in particular Lookup Tables (LUTs), than symbolic automata. An exception to this is in the case of Flip-Flop (FF) usage, where symbolic DFAs tend to use more FF resources than explicit NFAs for smaller designs. We also found that explicit NFAs can run at higher clock frequencies, except for very large automata with high edge densities. Symbolic NFAs use fewer Look-Up Table resources and run at higher clock frequencies than symbolic DFAs, whereas symbolic DFAs required fewer Flip-Flop resources, except in the case of very simple small automata with lower edge densities. Finally, we found that explicit automata hardware utilization significantly increases with input signal widths, motivating the use of symbolic automata for wide input signals.
运行时验证是一种根据正式规范在运行时评估系统执行跟踪的技术。这种方法对于安全关键型和自治系统特别有用,可以验证系统功能,并允许在系统故障的情况下进行正常恢复或干预。规范通常使用某种类型的时态逻辑以高级形式提供,然后可以将其编译成一个自动机,用作系统的监视器。现有的工作主要集中于在软件中实现这种监视器。然而,近年来在自动机应用的硬件加速方面进行了广泛的研究,这可能会扩展到运行时监控。在本文中,我们介绍了一个开源框架,用于将有限迹线线性时序逻辑(LTLf)中的公式转换为fpga上的自动机实现,以实现高效和高性能的运行时监控。通过使用fpga的空间维度,我们并行运行了许多这些自动机,大大减少了违规和监控报告之间的延迟,并实现了显著的吞吐量。我们比较了四种不同架构的性能,这些架构对应于具有显式或符号表示的确定性或非确定性自动机的组合,并确定了导致高效硬件利用率和更高时钟频率的设计参数。我们发现,与符号自动机相比,显式自动机倾向于使用更多的硬件资源,特别是查找表(lut)。在使用触发器(FF)的情况下是一个例外,对于较小的设计,符号dfa倾向于使用比显式nfa更多的FF资源。我们还发现,除了具有高边缘密度的非常大的自动机外,显式nfa可以在更高的时钟频率下运行。符号nfa比符号dfa使用更少的查找表资源并以更高的时钟频率运行,而符号dfa需要更少的触发器资源,除了边缘密度较低的非常简单的小型自动机的情况。最后,我们发现显式自动机硬件利用率随着输入信号宽度的增加而显著增加,这促使符号自动机用于宽输入信号。
{"title":"Runtime Verification on FPGAs with LTLf Specifications","authors":"Tommy Tracy, L. M. Tabajara, Moshe Y. Vardi, K. Skadron","doi":"10.34727/2020/isbn.978-3-85448-042-6_10","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_10","url":null,"abstract":"Runtime verification is a technique that evaluates a system's execution trace at runtime against a formal specification. This approach is particularly useful for safety-critical and autonomous systems to verify system functionality and allow for graceful recovery or intervention in the case of system faults. Specifications are often provided in a high-level form using some type of temporal logic, which can then be compiled into an automaton to be used as a monitor for the system. Existing work has mainly focused on implementing such monitors in software. In recent years there has been extensive research, however, in hardware acceleration of automata applications, which can potentially be extended to runtime monitoring. In this paper, we introduce an open-source framework for translating formulas in Linear Temporal Logic over finite traces (LTLf) into automata implementations on FPGAs for high-efficiency and high-performance runtime monitoring. By using the spatial dimension of FPGAs, we run many of these automata in parallel, significantly reducing the latency between violation and monitor report and achieving significant throughput. We compare the performance of four different architectures corresponding to the combinations of deterministic or nondeterministic automata with an explicit or symbolic representation, and determine the design parameters that result in efficient hardware utilization and higher clock frequencies. We found that explicit automata tend to use more hardware resources, in particular Lookup Tables (LUTs), than symbolic automata. An exception to this is in the case of Flip-Flop (FF) usage, where symbolic DFAs tend to use more FF resources than explicit NFAs for smaller designs. We also found that explicit NFAs can run at higher clock frequencies, except for very large automata with high edge densities. Symbolic NFAs use fewer Look-Up Table resources and run at higher clock frequencies than symbolic DFAs, whereas symbolic DFAs required fewer Flip-Flop resources, except in the case of very simple small automata with lower edge densities. Finally, we found that explicit automata hardware utilization significantly increases with input signal widths, motivating the use of symbolic automata for wide input signals.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"06 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127217219","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Accelerating Parallel Verification via Complementary Property Partitioning and Strategy Exploration 利用互补属性划分和策略探索加速并行验证
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_8
Rohit Dureja, J. Baumgartner, Robert Kanzelman, Mark Williams, Kristin Yvonne Rozier
Industrial hardware verification tasks often require checking a large number of properties within a testbench. Verification tools often utilize parallelism in their solving orchestration to improve scalability, either in portfolio mode where different solver strategies run concurrently, or in partitioning mode where disjoint property subsets are verified independently. While most tools focus solely upon reducing end-to-end walltime, reducing overall CPU-time is a comparably-important goal influencing power consumption, competition for available machines, and IT costs. Portfolio approaches often degrade into highly-redundant work across processes, where similar strategies address properties in nearly-identical order. Partitioning should take property affinity into account, atomically verifying high-affinity properties to minimize redundant work of applying identical strategies on individual properties with nearly-identical logic cones. In this paper, we improve multi-property parallel verification with respect to both wall- and CPU-time. We extend affinity-based partitioning to guarantee complete utilization of available processes, with provable partition quality. We propose methods to minimize redundant computation, and dynamically optimize work distribution. We deploy our techniques in a sequential redundancy removal framework, using localization to solve non-inductive properties. Our techniques offer a median 2.4× speedup yielding 18.1% more property solves, as demonstrated by extensive experiments.
工业硬件验证任务通常需要检查测试台中大量的属性。验证工具通常在其解决编排中利用并行性来提高可伸缩性,无论是在不同求解器策略并发运行的组合模式中,还是在独立验证不相交属性子集的分区模式中。虽然大多数工具只关注于减少端到端运行时间,但减少总体cpu时间是一个相当重要的目标,它会影响功耗、对可用机器的竞争和IT成本。投资组合方法通常会降级为跨过程的高度冗余的工作,其中类似的策略以几乎相同的顺序处理属性。分区应该考虑属性亲和性,自动验证高亲和性属性,以最小化对具有几乎相同逻辑锥体的单个属性应用相同策略的冗余工作。本文从墙时间和cpu时间两个方面改进了多属性并行验证。我们扩展了基于亲和力的分区,以保证可用进程的完全利用,并具有可证明的分区质量。提出了最小化冗余计算和动态优化工作分配的方法。我们将我们的技术部署在一个顺序冗余删除框架中,使用本地化来解决非归纳性质。我们的技术提供了中值2.4倍的加速,产生18.1%的属性解决方案,正如广泛的实验所证明的那样。
{"title":"Accelerating Parallel Verification via Complementary Property Partitioning and Strategy Exploration","authors":"Rohit Dureja, J. Baumgartner, Robert Kanzelman, Mark Williams, Kristin Yvonne Rozier","doi":"10.34727/2020/isbn.978-3-85448-042-6_8","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_8","url":null,"abstract":"Industrial hardware verification tasks often require checking a large number of properties within a testbench. Verification tools often utilize parallelism in their solving orchestration to improve scalability, either in portfolio mode where different solver strategies run concurrently, or in partitioning mode where disjoint property subsets are verified independently. While most tools focus solely upon reducing end-to-end walltime, reducing overall CPU-time is a comparably-important goal influencing power consumption, competition for available machines, and IT costs. Portfolio approaches often degrade into highly-redundant work across processes, where similar strategies address properties in nearly-identical order. Partitioning should take property affinity into account, atomically verifying high-affinity properties to minimize redundant work of applying identical strategies on individual properties with nearly-identical logic cones. In this paper, we improve multi-property parallel verification with respect to both wall- and CPU-time. We extend affinity-based partitioning to guarantee complete utilization of available processes, with provable partition quality. We propose methods to minimize redundant computation, and dynamically optimize work distribution. We deploy our techniques in a sequential redundancy removal framework, using localization to solve non-inductive properties. Our techniques offer a median 2.4× speedup yielding 18.1% more property solves, as demonstrated by extensive experiments.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"119 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133172521","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Anytime Algorithms for MaxSAT and Beyond 随时算法的MaxSAT和超越
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_1
Alexander Nadel
Given a propositional formula $F$ in Conjunctive Normal Form (CNF), a SAT solver decides whether it is satisfiable or not. It is often required to find a solution to a satisfiable CNF formula F, which optimizes a given Pseudo-Boolean objective function Ψ, that is, to extend SAT to optimization. MaxSAT is a widely used extension of SAT to optimization. A MaxSAT solver can be applied to optimize a Pseudo-Boolean objective function Ψ, given a CNF formula F, whenever Ψ is a linear function. MaxSAT has a diverse plethora of applications, including applications in computer-aided design, artificial intelligence, planning, scheduling and bioinformatics. A variety of approaches to MaxSAT have been developed over the last two decades. In this tutorial, we focus on anytime MaxSAT algorithms, where an anytime algorithm is expected to find better and better solutions, the longer it keeps running. The anytime property is crucial in industrial applications, since it allows the user to: 1) get an approximate solution even for very difficult instances, and 2) trade quality for performance by regulating the timeout. Anytime MaxSAT solvers have been evaluated at yearly MaxSAT Evaluations since 2011 in the so-called incomplete tracks. We trace the evolvement of anytime MaxSAT algorithms over the last decade and lay out the algorithms, applied by the winners of MaxSAT Evaluation 2020. Furthermore, we touch upon anytime algorithms for optimization problems beyond MaxSAT, such as bit-vector optimization and the problem of optimizing an arbitrary not-necessarily-linear function, given a CNF formula. Finally, we discuss challenges and future work.
给定一个合取范式(CNF)的命题公式$F$,由SAT求解器判断其是否可满足。通常需要找到一个可满足的CNF公式F的解,该公式F优化给定的伪布尔目标函数Ψ,即将SAT扩展为优化。MaxSAT是广泛使用的SAT优化扩展。当Ψ为线性函数时,给定CNF公式F, MaxSAT求解器可用于优化伪布尔目标函数Ψ。MaxSAT具有多种多样的应用,包括计算机辅助设计、人工智能、规划、调度和生物信息学方面的应用。在过去的二十年里,已经开发了各种各样的MaxSAT方法。在本教程中,我们将重点关注随时MaxSAT算法,其中随时算法期望找到越来越好的解决方案,它保持运行的时间越长。anytime属性在工业应用程序中是至关重要的,因为它允许用户:1)即使对于非常困难的实例也可以得到近似的解决方案,2)通过调节超时来交换质量以换取性能。自2011年以来,MaxSAT求解器一直在所谓的不完整轨道上进行年度MaxSAT评估。我们追溯了过去十年中任意时间MaxSAT算法的演变,并列出了MaxSAT评估2020获奖者应用的算法。此外,我们还讨论了用于MaxSAT以外的优化问题的任意算法,例如位向量优化和给定CNF公式的任意不一定线性函数的优化问题。最后,我们讨论了挑战和未来的工作。
{"title":"Anytime Algorithms for MaxSAT and Beyond","authors":"Alexander Nadel","doi":"10.34727/2020/isbn.978-3-85448-042-6_1","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_1","url":null,"abstract":"Given a propositional formula $F$ in Conjunctive Normal Form (CNF), a SAT solver decides whether it is satisfiable or not. It is often required to find a solution to a satisfiable CNF formula F, which optimizes a given Pseudo-Boolean objective function Ψ, that is, to extend SAT to optimization. MaxSAT is a widely used extension of SAT to optimization. A MaxSAT solver can be applied to optimize a Pseudo-Boolean objective function Ψ, given a CNF formula F, whenever Ψ is a linear function. MaxSAT has a diverse plethora of applications, including applications in computer-aided design, artificial intelligence, planning, scheduling and bioinformatics. A variety of approaches to MaxSAT have been developed over the last two decades. In this tutorial, we focus on anytime MaxSAT algorithms, where an anytime algorithm is expected to find better and better solutions, the longer it keeps running. The anytime property is crucial in industrial applications, since it allows the user to: 1) get an approximate solution even for very difficult instances, and 2) trade quality for performance by regulating the timeout. Anytime MaxSAT solvers have been evaluated at yearly MaxSAT Evaluations since 2011 in the so-called incomplete tracks. We trace the evolvement of anytime MaxSAT algorithms over the last decade and lay out the algorithms, applied by the winners of MaxSAT Evaluation 2020. Furthermore, we touch upon anytime algorithms for optimization problems beyond MaxSAT, such as bit-vector optimization and the problem of optimizing an arbitrary not-necessarily-linear function, given a CNF formula. Finally, we discuss challenges and future work.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116756158","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
EUFicient Reachability in Software with Arrays 具有数组的软件的高效可达性
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_12
Denis Bueno, Arlen Cox, K. Sakallah
Whether representing strings, heap objects, or numerical vectors, arrays are pervasive in software. Unfortunately, while several software model checkers support arrays, they tend to struggle with many array-manipulating programs due to work expended generating theory lemmas that are ultimately irrelevant or redundant. By judicious abstraction of array operations to the logic of equality with uninterpreted functions (EUF), we show that we can directly reason about array reads and adaptively learn lemmas about array writes leading to significant performance improvements over existing approaches. We find that our model checker solves more than 100 more SV-COMP benchmarks than SPACER, a leading model checker.
无论是表示字符串、堆对象还是数值向量,数组在软件中都无处不在。不幸的是,虽然有几个软件模型检查器支持数组,但由于生成最终不相关或冗余的理论引理所花费的工作,它们往往难以处理许多数组操作程序。通过明智地将数组操作抽象为与未解释函数(EUF)相等的逻辑,我们表明我们可以直接推断数组读取并自适应地学习关于数组写入的引理,从而比现有方法显著提高性能。我们发现我们的模型检查器比SPACER解决了100多个SV-COMP基准,SPACER是领先的模型检查器。
{"title":"EUFicient Reachability in Software with Arrays","authors":"Denis Bueno, Arlen Cox, K. Sakallah","doi":"10.34727/2020/isbn.978-3-85448-042-6_12","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_12","url":null,"abstract":"Whether representing strings, heap objects, or numerical vectors, arrays are pervasive in software. Unfortunately, while several software model checkers support arrays, they tend to struggle with many array-manipulating programs due to work expended generating theory lemmas that are ultimately irrelevant or redundant. By judicious abstraction of array operations to the logic of equality with uninterpreted functions (EUF), we show that we can directly reason about array reads and adaptively learn lemmas about array writes leading to significant performance improvements over existing approaches. We find that our model checker solves more than 100 more SV-COMP benchmarks than SPACER, a leading model checker.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126200373","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Automating Compositional Analysis of Authentication Protocols 自动组合分析认证协议
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_18
Zichao Zhang, Arthur Azevedo de Amorim, Limin Jia, C. Pasareanu
Modern verifiers for cryptographic protocols can analyze sophisticated designs automatically, but require the entire code of the protocol to operate. Compositional techniques, by contrast, allow us to verify each system component separately, against its own guarantees and assumptions about other components and the environment. Compositionality helps protocol design because it explains how the design can evolve and when it can run safely along other protocols and programs. For example, it might say that it is safe to add some functionality to a server without having to patch the client. Unfortunately, while compositional frameworks for protocol verification do exist, they require non-trivial human effort to identify specifications for the components of the system, thus hindering their adoption. To address these shortcomings, we investigate techniques for automated, compositional analysis of authentication protocols, using automata-learning techniques to synthesize assumptions for protocol components. We report preliminary results on the Needham-Schroeder-Lowe protocol, where our synthesized assumption was capable of lowering verification time while also allowing us to verify protocol variants compositionally.
现代加密协议的验证器可以自动分析复杂的设计,但需要协议的整个代码才能运行。相比之下,组合技术允许我们单独验证每个系统组件,而不是针对其自身的保证和对其他组件和环境的假设。组合性有助于协议设计,因为它解释了设计如何演变,以及何时可以与其他协议和程序一起安全运行。例如,它可能会说向服务器添加某些功能是安全的,而不必给客户机打补丁。不幸的是,虽然存在用于协议验证的组合框架,但它们需要大量的人力来识别系统组件的规范,从而阻碍了它们的采用。为了解决这些缺点,我们研究了身份验证协议的自动组合分析技术,使用自动学习技术来合成协议组件的假设。我们报告了Needham-Schroeder-Lowe协议的初步结果,其中我们的综合假设能够降低验证时间,同时也允许我们组合验证协议变体。
{"title":"Automating Compositional Analysis of Authentication Protocols","authors":"Zichao Zhang, Arthur Azevedo de Amorim, Limin Jia, C. Pasareanu","doi":"10.34727/2020/isbn.978-3-85448-042-6_18","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_18","url":null,"abstract":"Modern verifiers for cryptographic protocols can analyze sophisticated designs automatically, but require the entire code of the protocol to operate. Compositional techniques, by contrast, allow us to verify each system component separately, against its own guarantees and assumptions about other components and the environment. Compositionality helps protocol design because it explains how the design can evolve and when it can run safely along other protocols and programs. For example, it might say that it is safe to add some functionality to a server without having to patch the client. Unfortunately, while compositional frameworks for protocol verification do exist, they require non-trivial human effort to identify specifications for the components of the system, thus hindering their adoption. To address these shortcomings, we investigate techniques for automated, compositional analysis of authentication protocols, using automata-learning techniques to synthesize assumptions for protocol components. We report preliminary results on the Needham-Schroeder-Lowe protocol, where our synthesized assumption was capable of lowering verification time while also allowing us to verify protocol variants compositionally.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130968457","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Verifying Properties of Bit-vector Multiplication Using Cutting Planes Reasoning 用切面推理验证位向量乘法的性质
Pub Date : 2020-09-21 DOI: 10.34727/2020/isbn.978-3-85448-042-6_27
Vincent Liew, P. Beame, Jo Devriendt, J. Elffers, J. Nordström
Systems mixing Boolean logic and arithmetic have been a long-standing challenge for verification tools such as SAT-based bit-vector solvers. Though SAT solvers can be highly efficient for Boolean reasoning, they scale poorly once multiplication is involved. Algebraic methods using Gröbner basis reduction have recently been used to efficiently verify multiplier circuits in isolation, but generally do not perform well on problems involving bit-level reasoning. We propose that pseudo-Boolean solvers equipped with cutting planes reasoning have the potential to combine the complementary strengths of the existing SAT and algebraic approaches while avoiding their weaknesses. Theoretically, we show that there are optimal-length cutting planes proofs for a large class of bit-level properties of some well known multiplier circuits. This scaling is significantly better than the smallest proofs known for SAT and, in some instances, for algebraic methods. We also show that cutting planes reasoning can extract bit-level consequences of word-level equations in exponentially fewer steps than methods based on Gröbner bases. Experimentally, we demonstrate that pseudo-Boolean solvers can verify the word-level equivalence of adder-based multiplier architectures, as well as commutativity of bit-vector multiplication, in times comparable to the best algebraic methods. We then go further than previous approaches and also verify these properties at the bit-level. Finally, we find examples of simple nonlinear bit-vector inequalities that are intractable for current bit-vector and SAT solvers but easy for pseudo-Boolean solvers.
混合布尔逻辑和算术的系统一直是验证工具(如基于sat的位向量求解器)面临的长期挑战。尽管SAT求解器对于布尔推理非常高效,但一旦涉及乘法,它们的可扩展性就很差。使用Gröbner基约简的代数方法最近被用于有效地验证隔离的乘法器电路,但通常在涉及位级推理的问题上表现不佳。我们提出,配备切割平面推理的伪布尔求解器有可能结合现有SAT和代数方法的互补优势,同时避免它们的弱点。从理论上讲,我们证明了一些已知乘法器电路的一大类位级特性存在最优长度切割平面证明。这种缩放明显优于已知的SAT最小证明,在某些情况下,也优于代数方法。我们还表明,与基于Gröbner基的方法相比,切割平面推理可以以指数级少的步骤提取字级方程的位级结果。实验证明,伪布尔求解器可以验证基于加法器的乘法器体系结构的字级等价性,以及位向量乘法的交换性,其时间可与最佳代数方法相媲美。然后,我们比以前的方法更进一步,并在位级别验证这些属性。最后,我们找到了简单的非线性位向量不等式的例子,这些不等式对于当前的位向量和SAT求解器来说是难以处理的,而对于伪布尔求解器来说则很容易。
{"title":"Verifying Properties of Bit-vector Multiplication Using Cutting Planes Reasoning","authors":"Vincent Liew, P. Beame, Jo Devriendt, J. Elffers, J. Nordström","doi":"10.34727/2020/isbn.978-3-85448-042-6_27","DOIUrl":"https://doi.org/10.34727/2020/isbn.978-3-85448-042-6_27","url":null,"abstract":"Systems mixing Boolean logic and arithmetic have been a long-standing challenge for verification tools such as SAT-based bit-vector solvers. Though SAT solvers can be highly efficient for Boolean reasoning, they scale poorly once multiplication is involved. Algebraic methods using Gröbner basis reduction have recently been used to efficiently verify multiplier circuits in isolation, but generally do not perform well on problems involving bit-level reasoning. We propose that pseudo-Boolean solvers equipped with cutting planes reasoning have the potential to combine the complementary strengths of the existing SAT and algebraic approaches while avoiding their weaknesses. Theoretically, we show that there are optimal-length cutting planes proofs for a large class of bit-level properties of some well known multiplier circuits. This scaling is significantly better than the smallest proofs known for SAT and, in some instances, for algebraic methods. We also show that cutting planes reasoning can extract bit-level consequences of word-level equations in exponentially fewer steps than methods based on Gröbner bases. Experimentally, we demonstrate that pseudo-Boolean solvers can verify the word-level equivalence of adder-based multiplier architectures, as well as commutativity of bit-vector multiplication, in times comparable to the best algebraic methods. We then go further than previous approaches and also verify these properties at the bit-level. Finally, we find examples of simple nonlinear bit-vector inequalities that are intractable for current bit-vector and SAT solvers but easy for pseudo-Boolean solvers.","PeriodicalId":105705,"journal":{"name":"2020 Formal Methods in Computer Aided Design (FMCAD)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130652550","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
期刊
2020 Formal Methods in Computer Aided Design (FMCAD)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1