当前位置: X-MOL 学术J. Autom. Reason. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Synthesising Programs with Non-trivial Constants
Journal of Automated Reasoning ( IF 1.1 ) Pub Date : 2023-05-13 , DOI: 10.1007/s10817-023-09664-4
Alessandro Abate 1 , Haniel Barbosa 2 , Clark Barrett 3 , Cristina David 4 , Pascal Kesseli 5 , Daniel Kroening 6 , Elizabeth Polgreen 7 , Andrew Reynolds 8 , Cesare Tinelli 8
Affiliation  

Program synthesis is the mechanised construction of software. One of the main difficulties is the efficient exploration of the very large solution space, and tools often require a user-provided syntactic restriction of the search space. While useful in general, such syntactic restrictions provide little help for the generation of programs that contain non-trivial constants, unless the user is able to provide the constants in advance. This is a fundamentally difficult task for state-of-the-art synthesisers. We propose a new approach to the synthesis of programs with non-trivial constants that combines the strengths of a counterexample-guided inductive synthesiser with those of a theory solver, exploring the solution space more efficiently without relying on user guidance. We call this approach CEGIS(\(\mathcal {T}\)), where \(\mathcal {T}\) is a first-order theory. We present two exemplars, one based on Fourier-Motzkin (FM) variable elimination and one based on first-order satisfiability. We demonstrate the practical value of CEGIS(\(\mathcal {T}\)) by automatically synthesising programs for a set of intricate benchmarks. Additionally, we present a case study where we integrate CEGIS(\(\mathcal {T}\)) within the mature synthesiser CVC4 and show that CEGIS(\(\mathcal {T}\)) improves CVC4’s results.



中文翻译:

具有非平凡常量的综合程序

程序综合是软件的机械化构建。主要困难之一是有效探索非常大的解决方案空间,并且工具通常需要用户提供搜索空间的语法限制。虽然通常很有用,但此类语法限制对于生成包含重要常量的程序几乎没有帮助,除非用户能够提前提供常量。对于最先进的合成器来说,这是一项根本上艰巨的任务。我们提出了一种新的方法来合成具有非平凡常量的程序,该方法将反例引导的归纳合成器的优点与理论求解器的优点结合起来,在不依赖用户指导的情况下更有效地探索解决方案空间。我们将这种方法称为 CEGIS( \(\mathcal {T}\) ),其中\(\mathcal {T}\)是一阶理论。我们提出了两个示例,一个基于傅里叶-莫茨金 (FM) 变量消除,一个基于一阶可满足性。我们通过自动合成一组复杂基准的程序来展示 CEGIS( \(\mathcal {T}\) )的实用价值。此外,我们还提出了一个案例研究,将 CEGIS( \(\mathcal {T}\) ) 集成到成熟的合成器 CVC4 中,并表明 CEGIS( \(\mathcal {T}\) ) 改善了 CVC4 的结果。

更新日期:2023-05-14
down
wechat
bug