The generalizability of PBE solvers is the key to the empirical synthesis performance. Despite the importance of generalizability, related studies on PBE solvers are still limited. In theory, few existing solvers provide theoretical guarantees on generalizability, and in practice, there is a lack of PBE solvers with satisfactory generalizability on important domains such as conditional linear integer arithmetic (CLIA). In this paper, we adopt a concept from the computational learning theory, Occam learning, and perform a comprehensive study on the framework of synthesis through unification (STUN), a state-of-the-art framework for synthesizing programs with nested if-then-else operators. We prove that Eusolver, a state-of-the-art STUN solver, does not satisfy the condition of Occam learning, and then we design a novel STUN solver, PolyGen, of which the generalizability is theoretically guaranteed by Occam learning. We evaluate PolyGen on the domains of CLIA and demonstrate that PolyGen significantly outperforms two state-of-the-art PBE solvers on CLIA, Eusolver and Euphony, on both generalizability and efficiency.
翻译:PBE 求解器的通用性是实证综合性业绩的关键。尽管具有普遍性的重要性,但有关 PBE 求解器的相关研究仍然有限。理论上,现有的求解器很少对可普及性提供理论保障,实际上,缺乏在有条件线性整数计算(CLIA)等重要领域具有令人满意的通用性PBE求解器。在本文中,我们采纳了从计算学习理论、Occam 学习中得出的概念,并全面研究了通过统一(STUN)合成框架(STUN)的问题,这是一个与嵌套的 effe-else 操作器合成程序的最先进的框架。我们证明,Eusolver, 最先进的STUN 求解算器不能满足Occam 学习的条件。 然后,我们设计了一个新的STUN 求解器, PolyGen, 其普遍性在理论上得到Occam 学习的保证。我们评估了CLIA 域的PolyGen, 并表明, PolyGen 明显超越了EUD-Articlity, Phoniz 和Eliveral-lable-Cyal。