首页 > 最新文献

2013 Formal Methods in Computer-Aided Design最新文献

英文 中文
Syntax-guided synthesis Syntax-guided合成
Pub Date : 2013-10-01 DOI: 10.3233/978-1-61499-495-4-1
R. Alur, R. Bodík, Garvit Juniwal, Milo M. K. Martin, Mukund Raghothaman, S. Seshia, Rishabh Singh, Armando Solar-Lezama, E. Torlak, A. Udupa
The classical formulation of the program-synthesis problem is to find a program that meets a correctness specification given as a logical formula. Recent work on program synthesis and program optimization illustrates many potential benefits of allowing the user to supplement the logical specification with a syntactic template that constrains the space of allowed implementations. Our goal is to identify the core computational problem common to these proposals in a logical framework. The input to the syntax-guided synthesis problem (SyGuS) consists of a background theory, a semantic correctness specification for the desired program given by a logical formula, and a syntactic set of candidate implementations given by a grammar. The computational problem then is to find an implementation from the set of candidate expressions so that it satisfies the specification in the given theory. We describe three different instantiations of the counter-example-guided-inductive-synthesis (CEGIS) strategy for solving the synthesis problem, report on prototype implementations, and present experimental results on an initial set of benchmarks.
程序综合问题的经典表述是找到一个满足以逻辑公式形式给出的正确性规范的程序。最近在程序综合和程序优化方面的工作说明了允许用户用语法模板来补充逻辑规范的许多潜在好处,语法模板限制了允许实现的空间。我们的目标是在一个逻辑框架中确定这些建议共有的核心计算问题。语法引导的合成问题(SyGuS)的输入包括背景理论、由逻辑公式给出的所需程序的语义正确性规范,以及由语法给出的候选实现的语法集。然后,计算问题是从候选表达式集合中找到一个实现,使其满足给定理论中的规范。我们描述了解决合成问题的反示例引导诱导合成(CEGIS)策略的三种不同实例,报告了原型实现,并在一组初始基准上给出了实验结果。
{"title":"Syntax-guided synthesis","authors":"R. Alur, R. Bodík, Garvit Juniwal, Milo M. K. Martin, Mukund Raghothaman, S. Seshia, Rishabh Singh, Armando Solar-Lezama, E. Torlak, A. Udupa","doi":"10.3233/978-1-61499-495-4-1","DOIUrl":"https://doi.org/10.3233/978-1-61499-495-4-1","url":null,"abstract":"The classical formulation of the program-synthesis problem is to find a program that meets a correctness specification given as a logical formula. Recent work on program synthesis and program optimization illustrates many potential benefits of allowing the user to supplement the logical specification with a syntactic template that constrains the space of allowed implementations. Our goal is to identify the core computational problem common to these proposals in a logical framework. The input to the syntax-guided synthesis problem (SyGuS) consists of a background theory, a semantic correctness specification for the desired program given by a logical formula, and a syntactic set of candidate implementations given by a grammar. The computational problem then is to find an implementation from the set of candidate expressions so that it satisfies the specification in the given theory. We describe three different instantiations of the counter-example-guided-inductive-synthesis (CEGIS) strategy for solving the synthesis problem, report on prototype implementations, and present experimental results on an initial set of benchmarks.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"124 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115707611","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}
引用次数: 691
The design and implementation of the model constructing satisfiability calculus 构建可满足性演算模型的设计与实现
Pub Date : 2013-10-01 DOI: 10.1109/FMCAD.2013.7027033
Dejan Jovanovic, Clark W. Barrett, L. de Moura
We present the design and implementation of the Model Constructing Satisfiability (MCSat) calculus. The MCSat calculus generalizes ideas found in CDCL-style propositional SAT solvers to SMT solvers, and provides a common framework where recent model-based procedures and techniques can be justified and combined. We describe how to incorporate support for linear real arithmetic and uninterpreted function symbols m the calculus. We report encouraging experimental results, where MCSat performs competitive with the state-of-the art SMT solvers without using pre-processing techniques and ad-hoc optimizations. The implementation is flexible, additional plugins can be easily added, and the code is freely available.
我们提出了模型构造可满足性(MCSat)演算的设计和实现。MCSat演算将cdcl式命题SAT求解器中的思想推广到SMT求解器中,并提供了一个通用框架,可以在其中证明和组合最新的基于模型的程序和技术。我们描述了如何在微积分中加入对线性实算术和未解释函数符号的支持。我们报告了令人鼓舞的实验结果,其中MCSat在不使用预处理技术和临时优化的情况下与最先进的SMT求解器竞争。实现是灵活的,可以很容易地添加额外的插件,代码是免费的。
{"title":"The design and implementation of the model constructing satisfiability calculus","authors":"Dejan Jovanovic, Clark W. Barrett, L. de Moura","doi":"10.1109/FMCAD.2013.7027033","DOIUrl":"https://doi.org/10.1109/FMCAD.2013.7027033","url":null,"abstract":"We present the design and implementation of the Model Constructing Satisfiability (MCSat) calculus. The MCSat calculus generalizes ideas found in CDCL-style propositional SAT solvers to SMT solvers, and provides a common framework where recent model-based procedures and techniques can be justified and combined. We describe how to incorporate support for linear real arithmetic and uninterpreted function symbols m the calculus. We report encouraging experimental results, where MCSat performs competitive with the state-of-the art SMT solvers without using pre-processing techniques and ad-hoc optimizations. The implementation is flexible, additional plugins can be easily added, and the code is freely available.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126340934","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}
引用次数: 37
Verifying periodic programs with priority inheritance locks 验证具有优先级继承锁的周期性程序
Pub Date : 2013-10-01 DOI: 10.1109/FMCAD.2013.6679402
S. Chaki, A. Gurfinkel, O. Strichman
Periodic real-time programs are ubiquitous: they control robots, radars, medical equipment, etc. They consist of a set of tasks, each of which executes (in a separate thread) a specific job, periodically. A common synchronization mechanism for such programs is via Priority Inheritance Protocol (PIP) locks. PIP locks have low programming overhead, but cause deadlocks if used incorrectly. We address the problem of verifying safety and deadlock freedom of such programs. Our approach is based on sequentialization - converting the periodic program to an equivalent (non-deterministic) sequential program, and verifying it with a model checker. Our algorithm, called pipVerif, is iterative and optimal - it terminates after sequentializing with the smallest number of rounds required to either find a counterexample, or prove the program safe and deadlock-free. We implemented pipVerif and validated it on a number of examples derived from a robot controller.
周期性实时程序无处不在:它们控制着机器人、雷达、医疗设备等。它们由一组任务组成,每个任务(在单独的线程中)定期执行一个特定的作业。这类程序的常见同步机制是通过优先级继承协议(Priority Inheritance Protocol, PIP)锁。PIP锁具有较低的编程开销,但如果使用不当会导致死锁。我们解决了验证这些程序的安全性和死锁自由的问题。我们的方法基于顺序化——将周期性程序转换为等效的(不确定的)顺序程序,并用模型检查器对其进行验证。我们的算法称为pipVerif,是迭代的和最优的——它在找到反例或证明程序安全且无死锁所需的最小轮数排序后终止。我们实现了pipVerif,并在来自机器人控制器的许多示例上验证了它。
{"title":"Verifying periodic programs with priority inheritance locks","authors":"S. Chaki, A. Gurfinkel, O. Strichman","doi":"10.1109/FMCAD.2013.6679402","DOIUrl":"https://doi.org/10.1109/FMCAD.2013.6679402","url":null,"abstract":"Periodic real-time programs are ubiquitous: they control robots, radars, medical equipment, etc. They consist of a set of tasks, each of which executes (in a separate thread) a specific job, periodically. A common synchronization mechanism for such programs is via Priority Inheritance Protocol (PIP) locks. PIP locks have low programming overhead, but cause deadlocks if used incorrectly. We address the problem of verifying safety and deadlock freedom of such programs. Our approach is based on sequentialization - converting the periodic program to an equivalent (non-deterministic) sequential program, and verifying it with a model checker. Our algorithm, called pipVerif, is iterative and optimal - it terminates after sequentializing with the smallest number of rounds required to either find a counterexample, or prove the program safe and deadlock-free. We implemented pipVerif and validated it on a number of examples derived from a robot controller.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"407 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131856198","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
Using process modeling and analysis techniques to reduce errors in healthcare 使用流程建模和分析技术来减少医疗保健中的错误
Pub Date : 2013-10-01 DOI: 10.1109/FMCAD.2013.7035522
L. Clarke
Summary form only given. As has been widely reported in the news lately, healthcare errors are a major cause of death and suffering. In the University of Massachusetts Medical Safety Project, we are exploring the use of process modeling and analysis technologies to help reduce medical errors and improve efficiency. Specifically, we are modeling healthcare processes using a process definition language and then analyzing these processes using model checking, fault-tree analysis, discrete event simulation, and other techniques. Working with the UMASS School of Nursing and the Baystate Medical Center, we are undertaking in-depth case studies on error-prone and life-critical healthcare processes. In many ways, these processes are similar to complex, distributed systems with many interacting, concurrent threads and numerous exceptional conditions that must be handled carefully. This talk describes the technologies we are using, discusses case studies, and presents our observations and findings to date. Although presented in terms of the healthcare domain, the described approach could be applied to human-intensive processes in other domains to provide a technology-driven approach to process improvement.
只提供摘要形式。正如最近在新闻中广泛报道的那样,医疗差错是导致死亡和痛苦的主要原因。在马萨诸塞大学医疗安全项目中,我们正在探索使用过程建模和分析技术来帮助减少医疗错误和提高效率。具体来说,我们使用流程定义语言对医疗保健流程进行建模,然后使用模型检查、故障树分析、离散事件模拟和其他技术分析这些流程。我们与马萨诸塞大学护理学院和贝斯特医疗中心合作,正在对易出错和生命攸关的医疗保健过程进行深入的案例研究。在许多方面,这些进程类似于复杂的分布式系统,具有许多相互作用的并发线程和许多必须小心处理的异常条件。这次演讲描述了我们正在使用的技术,讨论了案例研究,并介绍了我们迄今为止的观察和发现。尽管本文是根据医疗保健领域提出的,但所描述的方法可以应用于其他领域的人力密集型流程,以提供技术驱动的流程改进方法。
{"title":"Using process modeling and analysis techniques to reduce errors in healthcare","authors":"L. Clarke","doi":"10.1109/FMCAD.2013.7035522","DOIUrl":"https://doi.org/10.1109/FMCAD.2013.7035522","url":null,"abstract":"Summary form only given. As has been widely reported in the news lately, healthcare errors are a major cause of death and suffering. In the University of Massachusetts Medical Safety Project, we are exploring the use of process modeling and analysis technologies to help reduce medical errors and improve efficiency. Specifically, we are modeling healthcare processes using a process definition language and then analyzing these processes using model checking, fault-tree analysis, discrete event simulation, and other techniques. Working with the UMASS School of Nursing and the Baystate Medical Center, we are undertaking in-depth case studies on error-prone and life-critical healthcare processes. In many ways, these processes are similar to complex, distributed systems with many interacting, concurrent threads and numerous exceptional conditions that must be handled carefully. This talk describes the technologies we are using, discusses case studies, and presents our observations and findings to date. Although presented in terms of the healthcare domain, the described approach could be applied to human-intensive processes in other domains to provide a technology-driven approach to process improvement.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"33 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114018177","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
Firmware validation: challenges and opportunities 固件验证:挑战与机遇
Pub Date : 2013-10-01 DOI: 10.1109/FMCAD.2013.7031349
J. Grundy
Firmware validation is driven by imperatives and challenges distinct from those of application level software. In this tutorial we will survey the characteristics of firmware projects, focusing on those that make them particularly challenging and important to validate. Well look at the tasks accomplished using firmware, the environments in which it executes, and how firmware is shaped by the constraints imposed by the greater product development program in which it fits. Finally, well look at some of our experiences in firmware validation and the lessons weve learned from them. Specifically, well be looking for lessons that can help to guide the selection of problems to study and appropriate case studies on which to evaluate them.
固件验证是由不同于应用级软件的要求和挑战驱动的。在本教程中,我们将调查固件项目的特征,重点关注那些使它们特别具有挑战性和重要的验证。我们来看看使用固件完成的任务,它执行的环境,以及固件是如何被更大的产品开发计划所施加的约束所塑造的。最后,我们将看看我们在固件验证方面的一些经验以及从中吸取的教训。具体来说,我们将寻找可以帮助指导选择研究问题和适当的案例研究来评估它们的经验教训。
{"title":"Firmware validation: challenges and opportunities","authors":"J. Grundy","doi":"10.1109/FMCAD.2013.7031349","DOIUrl":"https://doi.org/10.1109/FMCAD.2013.7031349","url":null,"abstract":"Firmware validation is driven by imperatives and challenges distinct from those of application level software. In this tutorial we will survey the characteristics of firmware projects, focusing on those that make them particularly challenging and important to validate. Well look at the tasks accomplished using firmware, the environments in which it executes, and how firmware is shaped by the constraints imposed by the greater product development program in which it fits. Finally, well look at some of our experiences in firmware validation and the lessons weve learned from them. Specifically, well be looking for lessons that can help to guide the selection of problems to study and appropriate case studies on which to evaluate them.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122743606","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
Static verification based signoff - A key enabler for managing verification complexity in the modern soc 基于静态验证的签名——在现代soc中管理验证复杂性的关键实现器
Pub Date : 2013-10-01 DOI: 10.1109/FMCAD.2013.7035521
P. Ashar
Summary form only given. Application-based verification, i.e., partitioning the verification process by verification concerns, has become an important approach for managing verification complexity in the billion-transistor SoC. This new verification paradigm has truly come into focus with the proliferation of layers of complexity in an SoC beyond the baseline complexity of its constituent components. In a sense, the nature of chip complexity has shifted from how much goes into a chip to what goes into a chip. Given a narrow verification concern like clock-domain verification, power, dft, reset analysis etc, the specification, analysis and debug dimensions of the verification problem become meaningfully solvable. This is a new paradigm in a sense because it focuses technologists toward the development of complete solutions and closure for the problem at hand as a whole rather than on just nuts-and-bolts technologies like simulation and ABV. Static formal analysis is able to play a key role in this paradigm for various reasons. With the narrow focus on a specific verification problem, much of the specification becomes precise and implicit. In addition, the limited scope allows the formal analysis to be controlled and nominally tractable. Further, even when the formal analysis remains bounded, it is still possible to return actionable information to the user. Finally, debug becomes much more precise and actionable in the context of the narrow verification concern being addressed. These aspects all come to fore in the verification of clock domain crossings in the modern SoC. Used to be that a chip would have a handful of clock domains and the clock-domain checking could be done manually. With 100s of clocks domains on chip, that luxury is not available any more. No SoC gets taped out today without a dedicated sign-off of clock-domain crossings using verification tools specialized for this problem. Another reason clock-domain verification is good to highlight as an example of the new paradigm is that it is at the intersection of chip functionality and timing. This verification task cannot be completed by just functional simulation or just by static timing analysis. It needs a specialized solution, with static formal analysis at its core, to do justice to it.
只提供摘要形式。基于应用的验证,即根据验证关注点划分验证过程,已成为管理十亿晶体管SoC验证复杂性的重要方法。随着SoC中复杂层的激增,这种新的验证范式已经真正成为焦点,超出了其组成组件的基线复杂性。从某种意义上说,芯片复杂性的本质已经从芯片里装了多少变成了芯片里装了什么。给定一个狭窄的验证关注点,如时钟域验证、功耗、dft、复位分析等,验证问题的规格、分析和调试维度就变得有意义的可解决。从某种意义上说,这是一种新的范式,因为它将技术人员集中在开发完整的解决方案和解决手头问题的整体上,而不仅仅是像仿真和ABV这样的具体技术。由于各种原因,静态形式化分析能够在此范式中发挥关键作用。由于对特定验证问题的狭隘关注,许多规范变得精确和隐式。此外,有限的范围允许对形式分析进行控制,并在名义上易于处理。此外,即使形式分析仍然有限,仍然可以向用户返回可操作的信息。最后,调试在被处理的狭窄的验证关系的上下文中变得更加精确和可操作。这些方面在现代SoC的时钟域交叉验证中都显得尤为突出。过去,一个芯片会有几个时钟域,时钟域的检查可以手工完成。随着芯片上有100个时钟域,这种奢侈不再可用了。今天,如果没有专门针对这个问题的验证工具对时钟域交叉进行专门的签字,就没有SoC被贴上胶带。时钟域验证作为新范式的一个例子值得强调的另一个原因是,它处于芯片功能和时序的交叉点。这个验证任务不能仅仅通过功能仿真或静态时序分析来完成。它需要一个专门的解决方案,以静态形式化分析为核心,来公正地对待它。
{"title":"Static verification based signoff - A key enabler for managing verification complexity in the modern soc","authors":"P. Ashar","doi":"10.1109/FMCAD.2013.7035521","DOIUrl":"https://doi.org/10.1109/FMCAD.2013.7035521","url":null,"abstract":"Summary form only given. Application-based verification, i.e., partitioning the verification process by verification concerns, has become an important approach for managing verification complexity in the billion-transistor SoC. This new verification paradigm has truly come into focus with the proliferation of layers of complexity in an SoC beyond the baseline complexity of its constituent components. In a sense, the nature of chip complexity has shifted from how much goes into a chip to what goes into a chip. Given a narrow verification concern like clock-domain verification, power, dft, reset analysis etc, the specification, analysis and debug dimensions of the verification problem become meaningfully solvable. This is a new paradigm in a sense because it focuses technologists toward the development of complete solutions and closure for the problem at hand as a whole rather than on just nuts-and-bolts technologies like simulation and ABV. Static formal analysis is able to play a key role in this paradigm for various reasons. With the narrow focus on a specific verification problem, much of the specification becomes precise and implicit. In addition, the limited scope allows the formal analysis to be controlled and nominally tractable. Further, even when the formal analysis remains bounded, it is still possible to return actionable information to the user. Finally, debug becomes much more precise and actionable in the context of the narrow verification concern being addressed. These aspects all come to fore in the verification of clock domain crossings in the modern SoC. Used to be that a chip would have a handful of clock domains and the clock-domain checking could be done manually. With 100s of clocks domains on chip, that luxury is not available any more. No SoC gets taped out today without a dedicated sign-off of clock-domain crossings using verification tools specialized for this problem. Another reason clock-domain verification is good to highlight as an example of the new paradigm is that it is at the intersection of chip functionality and timing. This verification task cannot be completed by just functional simulation or just by static timing analysis. It needs a specialized solution, with static formal analysis at its core, to do justice to it.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123540024","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}
引用次数: 1
The FMCAD graduate student forum FMCAD研究生论坛
Pub Date : 2013-10-01 DOI: 10.1109/FMCAD.2013.7035523
T. Wahl
FMCAD 2013 featured an event new to the FMCAD conference series, the Graduate Student Forum, held on Monday October 21, following the joint MEMOCODE/FMCAD Tutorial Day. The intention of the Forum was to specifically attract students to the conference, by providing them with a platform for introducing their research to the wider Formal Methods community, and obtain feedback on it. Submissions were solicited in the form of short reports describing research ideas, or ongoing work in the scope of the FMCAD conference that the student is currently pursuing.
FMCAD 2013是FMCAD系列会议的一个新活动——研究生论坛,于10月21日星期一举行,紧随MEMOCODE/FMCAD联合指导日之后。论坛的目的是专门吸引学生参加会议,为他们提供一个平台,向更广泛的形式方法社区介绍他们的研究,并获得反馈。以简短报告的形式提交,描述研究想法,或学生目前正在从事的FMCAD会议范围内的正在进行的工作。
{"title":"The FMCAD graduate student forum","authors":"T. Wahl","doi":"10.1109/FMCAD.2013.7035523","DOIUrl":"https://doi.org/10.1109/FMCAD.2013.7035523","url":null,"abstract":"FMCAD 2013 featured an event new to the FMCAD conference series, the Graduate Student Forum, held on Monday October 21, following the joint MEMOCODE/FMCAD Tutorial Day. The intention of the Forum was to specifically attract students to the conference, by providing them with a platform for introducing their research to the wider Formal Methods community, and obtain feedback on it. Submissions were solicited in the form of short reports describing research ideas, or ongoing work in the scope of the FMCAD conference that the student is currently pursuing.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"09 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127309713","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
Proving termination of imperative programs using Max-SMT 使用Max-SMT证明命令式程序的终止
Pub Date : 2013-10-01 DOI: 10.1109/FMCAD.2013.6679413
Daniel Larraz, Albert Oliveras, Enric Rodríguez-carbonell, A. Rubio
We show how Max-SMT can be exploited in constraint-based program termination proving. Thanks to expressing the generation of a ranking function as a Max-SMT optimization problem where constraints are assigned different weights, quasi-ranking functions -functions that almost satisfy all conditions for ensuring well-foundedness- are produced in a lack of ranking functions. By means of trace partitioning, this allows our method to progress in the termination analysis where other approaches would get stuck. Moreover, Max-SMT makes it easy to combine the process of building the termination argument with the usually necessary task of generating supporting invariants. The method has been implemented in a prototype that has successfully been tested on a wide set of programs.
我们展示了如何在基于约束的程序终止证明中利用Max-SMT。由于将排序函数的生成表示为一个Max-SMT优化问题,其中约束被分配了不同的权重,因此在缺乏排序函数的情况下产生了准排序函数——几乎满足确保良基性的所有条件的函数。通过跟踪划分,这允许我们的方法在终止分析中取得进展,而其他方法可能会陷入困境。而且,Max-SMT可以很容易地将构建终止参数的过程与生成支持不变量的必要任务结合起来。该方法已在原型中实现,并已成功地在一系列程序上进行了测试。
{"title":"Proving termination of imperative programs using Max-SMT","authors":"Daniel Larraz, Albert Oliveras, Enric Rodríguez-carbonell, A. Rubio","doi":"10.1109/FMCAD.2013.6679413","DOIUrl":"https://doi.org/10.1109/FMCAD.2013.6679413","url":null,"abstract":"We show how Max-SMT can be exploited in constraint-based program termination proving. Thanks to expressing the generation of a ranking function as a Max-SMT optimization problem where constraints are assigned different weights, quasi-ranking functions -functions that almost satisfy all conditions for ensuring well-foundedness- are produced in a lack of ranking functions. By means of trace partitioning, this allows our method to progress in the termination analysis where other approaches would get stuck. Moreover, Max-SMT makes it easy to combine the process of building the termination argument with the usually necessary task of generating supporting invariants. The method has been implemented in a prototype that has successfully been tested on a wide set of programs.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123839762","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}
引用次数: 51
Secure programs via game-based synthesis 通过基于游戏的合成保护程序
Pub Date : 2013-10-01 DOI: 10.1109/FMCAD.2013.7035519
S. Jha, T. Reps, William R. Harris
Summary form only given. Several recent operating systems provide system calls that allow an application to explicitly manage the privileges of modules with which the application interacts. Such privilege-aware operating systems allow a programmer to a write a program that satisfies a strong security policy, even when the program interacts with untrusted modules. However, it is often non-trivial to rewrite a program to correctly use the system calls to satisfy a high-level security policy. This paper concerns the policy-weaving problem, which is to take as input a program, a desired high-level policy for the program, and a description of how system calls affect privilege, and automatically rewrite the program to invoke the system calls so that it satisfies the policy. We describe a reduction from the policy-weaving problem to finding a winning strategy to a two-player safety game. We then describe a policy-weaver generator that implements the reduction and a novel game-solving algorithm, and present an experimental evaluation of the generator applied to a model of the Capsicum capability system. We conclude by outlining ongoing work in applying the generator to a model of the HiStar decentralized-information-flow control (DIFC) system.
只提供摘要形式。最近的几个操作系统提供了系统调用,允许应用程序显式地管理与应用程序交互的模块的权限。这种特权感知的操作系统允许程序员编写满足强安全策略的程序,即使该程序与不受信任的模块交互也是如此。然而,重写程序以正确地使用系统调用来满足高级安全策略通常是非常重要的。本文研究的是策略编织问题,即以程序、程序所需的高级策略和系统调用如何影响特权的描述作为输入,并自动重写程序以调用系统调用以满足策略。我们描述了从策略编织问题到寻找制胜策略到两方安全博弈的简化。然后,我们描述了一个实现约简的政策编织生成器和一种新的博弈求解算法,并对该生成器应用于辣椒能力系统模型进行了实验评估。最后,我们概述了将发电机应用于HiStar分散信息流控制(DIFC)系统模型的正在进行的工作。
{"title":"Secure programs via game-based synthesis","authors":"S. Jha, T. Reps, William R. Harris","doi":"10.1109/FMCAD.2013.7035519","DOIUrl":"https://doi.org/10.1109/FMCAD.2013.7035519","url":null,"abstract":"Summary form only given. Several recent operating systems provide system calls that allow an application to explicitly manage the privileges of modules with which the application interacts. Such privilege-aware operating systems allow a programmer to a write a program that satisfies a strong security policy, even when the program interacts with untrusted modules. However, it is often non-trivial to rewrite a program to correctly use the system calls to satisfy a high-level security policy. This paper concerns the policy-weaving problem, which is to take as input a program, a desired high-level policy for the program, and a description of how system calls affect privilege, and automatically rewrite the program to invoke the system calls so that it satisfies the policy. We describe a reduction from the policy-weaving problem to finding a winning strategy to a two-player safety game. We then describe a policy-weaver generator that implements the reduction and a novel game-solving algorithm, and present an experimental evaluation of the generator applied to a model of the Capsicum capability system. We conclude by outlining ongoing work in applying the generator to a model of the HiStar decentralized-information-flow control (DIFC) system.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126267119","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}
引用次数: 1
Trimming while checking clausal proofs 检查条款证明时进行修剪
Pub Date : 2013-10-01 DOI: 10.1109/FMCAD.2013.6679408
Marijn J. H. Heule, W. Hunt, Nathan Wetzler
Conflict-driven clause learning (CDCL) satisfiability solvers can emit more than a satisfiability result; they can also emit clausal proofs, resolution proofs, unsatisfiable cores, and Craig interpolants. Such additional results may require substantial modifications to a solver, especially if preprocessing and inprocessing techniques are used; however, CDCL solvers can easily emit clausal proofs with very low overhead. We present a new approach with an associated tool that efficiently validates clausal proofs and can distill additional results from clausal proofs. Our tool architecture makes it easy to obtain such results from any CDCL solver. Experimental evaluation shows that our tool can validate clausal proofs faster than existing tools. Additionally, the quality of the additional results, such as unsatisfiable cores, is higher when compared to modified SAT solvers.
冲突驱动子句学习(CDCL)的可满足性解算器可以产生不止一个可满足性结果;它们还可以发布子句证明、分辨率证明、不可满足核心和克雷格插值。这些额外的结果可能需要对求解器进行大量修改,特别是在使用预处理和处理技术的情况下;然而,CDCL求解器可以很容易地以非常低的开销发出子句证明。我们提出了一种新的方法与相关的工具,有效地验证子句证明,并可以从子句证明中提取额外的结果。我们的工具体系结构可以很容易地从任何CDCL求解器中获得这样的结果。实验评估表明,我们的工具可以比现有的工具更快地验证条款证明。此外,与修改后的SAT求解器相比,附加结果(如不满意的核心)的质量更高。
{"title":"Trimming while checking clausal proofs","authors":"Marijn J. H. Heule, W. Hunt, Nathan Wetzler","doi":"10.1109/FMCAD.2013.6679408","DOIUrl":"https://doi.org/10.1109/FMCAD.2013.6679408","url":null,"abstract":"Conflict-driven clause learning (CDCL) satisfiability solvers can emit more than a satisfiability result; they can also emit clausal proofs, resolution proofs, unsatisfiable cores, and Craig interpolants. Such additional results may require substantial modifications to a solver, especially if preprocessing and inprocessing techniques are used; however, CDCL solvers can easily emit clausal proofs with very low overhead. We present a new approach with an associated tool that efficiently validates clausal proofs and can distill additional results from clausal proofs. Our tool architecture makes it easy to obtain such results from any CDCL solver. Experimental evaluation shows that our tool can validate clausal proofs faster than existing tools. Additionally, the quality of the additional results, such as unsatisfiable cores, is higher when compared to modified SAT solvers.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"214 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117340325","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}
引用次数: 116
期刊
2013 Formal Methods in Computer-Aided Design
全部 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