当前位置: X-MOL 学术Form. Methods Syst. Des. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Boolean functional synthesis: hardness and practical algorithms
Formal Methods in System Design ( IF 0.7 ) Pub Date : 2020-10-21 , DOI: 10.1007/s10703-020-00352-2
S. Akshay , Supratik Chakraborty , Shubham Goel , Sumith Kulal , Shetal Shah

Given a relational specification between Boolean inputs and outputs, Boolean functional synthesis seeks to synthesize each output as a function of the inputs such that the specification is met. Despite significant algorithmic advances in Boolean functional synthesis over the past few years, there are relatively small specifications that have remained beyond the reach of all state-of-the-art tools. In trying to understand this behaviour, we show that unless some hard conjectures in complexity theory are falsified, Boolean functional synthesis must generate large Skolem functions in the worst-case. Given this inherent hardness, what does one do to solve the problem? We present a two-phase algorithm, where the first phase is efficient in practice both in terms of time and size of synthesized functions, and solves a large fraction of our benchmarks. This phase is also guaranteed to solve the problem when the representation of the input specification satisfies some structural requirements. For those cases where the first phase doesn’t suffice, we present a second phase of our synthesis algorithm that uses a special class of algorithms, called expansion-based algorithms, to generate correct Skolem functions. This may require exponential time and generate exponential-sized Skolem functions in the worst-case. Detailed experimental evaluation shows that our overall synthesis algorithm performs better than other techniques for a large number of benchmarks.

中文翻译:

布尔函数综合:硬度和实用算法

给定布尔输入和输出之间的关系规范,布尔函数综合寻求将每个输出合成为输入的函数,从而满足规范。尽管过去几年布尔函数综合在算法上取得了重大进展,但仍有一些相对较小的规范仍然超出了所有最先进工具的能力范围。在试图理解这种行为时,我们表明,除非复杂性理论中的一些硬猜想被证伪,否则布尔函数综合必须在最坏的情况下生成大的 Skolem 函数。鉴于这种固有的硬度,人们如何解决问题?我们提出了一种两阶段算法,其中第一阶段在实践中在合成函数的时间和大小方面都是有效的,并且解决了我们的大部分基准。当输入规范的表示满足一些结构要求时,这个阶段也保证解决问题。对于第一阶段不够的情况,我们提出了合成算法的第二阶段,该阶段使用一类特殊的算法(称为基于扩展的算法)来生成正确的 Skolem 函数。这可能需要指数时间并在最坏的情况下生成指数大小的 Skolem 函数。详细的实验评估表明,我们的整体合成算法在大量基准测试中的表现优于其他技术。我们展示了合成算法的第二阶段,该阶段使用一类特殊的算法,称为基于扩展的算法,以生成正确的 Skolem 函数。这可能需要指数时间并在最坏的情况下生成指数大小的 Skolem 函数。详细的实验评估表明,我们的整体合成算法在大量基准测试中的表现优于其他技术。我们展示了合成算法的第二阶段,该阶段使用一类特殊的算法,称为基于扩展的算法,以生成正确的 Skolem 函数。这可能需要指数时间并在最坏的情况下生成指数大小的 Skolem 函数。详细的实验评估表明,我们的整体合成算法在大量基准测试中的表现优于其他技术。
更新日期:2020-10-21
down
wechat
bug