Boolean functional synthesis: hardness and practical algorithms

被引:5
作者
Akshay, S. [1 ]
Chakraborty, Supratik [1 ]
Goel, Shubham [2 ]
Kulal, Sumith [3 ]
Shah, Shetal [1 ]
机构
[1] Indian Inst Technol, Mumbai, Maharashtra, India
[2] Univ Calif Berkeley, Berkeley, CA 94720 USA
[3] Stanford Univ, Stanford, CA 94305 USA
关键词
Boolean functional synthesis; Skolem functions; Expansion-based algorithms; UNIFICATION; COMPLEXITY;
D O I
10.1007/s10703-020-00352-2
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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, calledexpansion-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.
引用
收藏
页码:53 / 86
页数:34
相关论文
共 47 条
[1]  
Akshay S, 2019, 2019 FORMAL METHODS IN COMPUTER AIDED DESIGN (FMCAD), P161, DOI [10.23919/FMCAD.2019.8894266, 10.23919/fmcad.2019.8894266]
[2]   Towards Parallel Boolean Functional Synthesis [J].
Akshay, S. ;
Chakraborty, Supratik ;
John, Ajith K. ;
Shah, Shetal .
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT I, 2017, 10205 :337-353
[3]  
Akshay S, 2020, CODE BENCHMARK DETAI
[4]   Symbolic computational techniques for solving games [J].
Alur R. ;
Madhusudan P. ;
Nam W. .
International Journal on Software Tools for Technology Transfer, 2005, 7 (2) :118-128
[5]  
Andersson G, 2002, DES AUT CON, P725, DOI 10.1109/DAC.2002.1012718
[6]   On the complexity of Boolean unification [J].
Baader, F .
INFORMATION PROCESSING LETTERS, 1998, 67 (04) :215-220
[7]   Unified QBF certification and its applications [J].
Balabanov, Valeriy ;
Jiang, Jie-Hong R. .
FORMAL METHODS IN SYSTEM DESIGN, 2012, 41 (01) :45-65
[8]  
Boole G., 1847, The mathematical analysis of logic
[9]   UNIFICATION IN BOOLEAN RINGS AND ABELIAN-GROUPS [J].
BOUDET, A ;
JOUANNAUD, JP ;
SCHMIDTSCHAUSS, M .
JOURNAL OF SYMBOLIC COMPUTATION, 1989, 8 (05) :449-477
[10]  
Brayton R, 2010, LECT NOTES COMPUT SC, V6174, P24, DOI 10.1007/978-3-642-14295-6_5