We present a new program synthesis approach that combines an encoder-decoder based synthesis architecture with a differentiable program fixer. Our approach is inspired from the fact that human developers seldom get their program correct on the first attempt, and perform iterative testing-based program fixing to get to the desired program functionality. Similarly, our approach first learns a distribution over programs conditioned on an encoding of a set of input-output examples, and then iteratively performs fix operations using the differentiable fixer. The fixer takes as input the original examples and the current program's outputs on example inputs, and generates a new distribution over the programs with the goal of reducing the discrepan...
A key challenge of existing program synthesizers is ensuring that the synthesized program generalize...
Classic algorithms and machine learning systems like neural networks are both abundant in everyday l...
Although the program verification community has developed several techniques for analyzing software ...
© 2019 Neural information processing systems foundation. All rights reserved. We present a neural pr...
The ability to automatically discover a program consistent with a given user intent (specification) ...
Program synthesis, or automatically writing programs from high-level specifications has been a long-...
This paper proposes an adaptive neural-compilation framework to address the problem of efficient pro...
We study the problem of learning differentiable functions expressed as programs in a domain-specific...
With the advancement of modern technologies, programming becomes ubiquitous not only among professio...
Program synthesis is a term that describes a family of techniques that enables automatic generation ...
There are families of neural networks that can learn to compute any function, provided sufficient tr...
Programming is a task that has accompanied all computer scientists since as early as the vacuum tube...
Programming by example is the problem of synthesizing a program from a small set of input / output p...
Program synthesis aims to produce source code based on a user specification, raising the abstraction...
Automatic program repair holds the potential of dramatically improving the productivity of programme...
A key challenge of existing program synthesizers is ensuring that the synthesized program generalize...
Classic algorithms and machine learning systems like neural networks are both abundant in everyday l...
Although the program verification community has developed several techniques for analyzing software ...
© 2019 Neural information processing systems foundation. All rights reserved. We present a neural pr...
The ability to automatically discover a program consistent with a given user intent (specification) ...
Program synthesis, or automatically writing programs from high-level specifications has been a long-...
This paper proposes an adaptive neural-compilation framework to address the problem of efficient pro...
We study the problem of learning differentiable functions expressed as programs in a domain-specific...
With the advancement of modern technologies, programming becomes ubiquitous not only among professio...
Program synthesis is a term that describes a family of techniques that enables automatic generation ...
There are families of neural networks that can learn to compute any function, provided sufficient tr...
Programming is a task that has accompanied all computer scientists since as early as the vacuum tube...
Programming by example is the problem of synthesizing a program from a small set of input / output p...
Program synthesis aims to produce source code based on a user specification, raising the abstraction...
Automatic program repair holds the potential of dramatically improving the productivity of programme...
A key challenge of existing program synthesizers is ensuring that the synthesized program generalize...
Classic algorithms and machine learning systems like neural networks are both abundant in everyday l...
Although the program verification community has developed several techniques for analyzing software ...