Boolean functional synthesis: hardness and practical algorithms

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 ar...

Full description

Saved in:
Bibliographic Details
Published in:Formal methods in system design Vol. 57; no. 1; pp. 53 - 86
Main Authors: Akshay, S., Chakraborty, Supratik, Goel, Shubham, Kulal, Sumith, Shah, Shetal
Format: Journal Article
Language:English
Published: New York Springer US 01.07.2021
Springer Nature B.V
Subjects:
ISSN:0925-9856, 1572-8102
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:0925-9856
1572-8102
DOI:10.1007/s10703-020-00352-2