We propose a novel framework of program and invariant synthesis called neural network-guided synthesis. We first show that, by suitably designing and training neural networks, we can extract logical formulas over integers from the weights and biases of the trained neural networks. Based on the idea, we have implemented a tool to synthesize formulas from positive/negative examples and implication constraints, and obtained promising experimental results. We also discuss two applications of our synthesis method. One is the use of our tool for qualifier discovery in the framework of ICE-learning-based CHC solving, which can in turn be applied to program verification and inductive invariant synthesis. Another application is to a new program development framework called oracle-based programming, which is a neural-network-guided variation of Solar-Lezama's program synthesis by sketching.
翻译:我们提出一个叫“神经网络-导导合成”的方案和变异合成新框架。我们首先显示,通过适当设计和培训神经网络,我们可以从受过训练的神经网络的重量和偏向中提取超出整数的逻辑公式。基于这个想法,我们采用了一个工具,从正反的范例和隐含的制约中合成公式,并取得了有希望的实验结果。我们还讨论了我们的合成方法的两个应用。一个是利用我们的工具,在ICE-学习的CHC解决方案框架内进行限定性发现,这又可以用于程序核查和诱导变合成。另一个应用是一个新的方案开发框架,称为“以魔为主的编程 ”, 这是一种通过草图对太阳—Lezama的合成方案进行神经-网络化的变异。